KR100939328B1 - 보안민감명령들의 제한실행을 위한 방법 및 장치 - Google Patents
보안민감명령들의 제한실행을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR100939328B1 KR100939328B1 KR1020047008536A KR20047008536A KR100939328B1 KR 100939328 B1 KR100939328 B1 KR 100939328B1 KR 1020047008536 A KR1020047008536 A KR 1020047008536A KR 20047008536 A KR20047008536 A KR 20047008536A KR 100939328 B1 KR100939328 B1 KR 100939328B1
- Authority
- KR
- South Korea
- Prior art keywords
- security
- processor
- instructions
- instruction
- executed
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (10)
- 제1 보안ID(identification)를, 프로세서(305)에 의해 실행될 복수의 명령들 각각 또는 명령들의 세트에 관련시키는 단계와;프로세서(305)상에서 실행하는 소프트웨어 코드에 의해 복수의 명령들 중 적어도 하나 또는 명령들의 세트를 실행할 것을 요구하는 단계와;프로세서(305)상에서 실행되는 소프트웨어 코드와 관련된 제2 보안ID를 가상메모리 테이블(405)로부터 획득하는 단계와;상기 제2 보안ID를 상기 제1 보안ID와 비교하는 단계와; 그리고상기 제2 보안ID가 상기 제1 보안ID와 매칭되는 경우 상기 요구된 명령 또는 명령들의 세트를 실행하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서, 상기 제2 보안ID와 상기 제1 보안ID가 매칭되지 않는 경우 상기 요구된 명령 또는 명령들의 세트의 실행을 거부하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 1항 또는 제 2항에 있어서, 상기 제1 보안ID를 관련시키는 단계는 상기 제1 보안ID를 프로세서(305)에 의해 실행될 복수의 명령들 각각 또는 명령들의 세트와 함께 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 1항 또는 제 2항에 있어서, 상기 제1 보안ID를 관련시키는 단계는,프로세서(305)에 의해 실행될 복수의 명령들로부터 적어도 하나의 명령 또는 명령들의 세트를 보안 민감 명령으로서 분류하는 단계와; 그리고상기 제1 보안ID를 상기 보안 민감 명령으로서 분류된 각각의 명령들 또는 명령들의 세트에 관련시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 4항에 있어서, 상기 프로세서(305)상에서 실행되는 소프트웨어 코드와 관련된 제2 보안ID를 획득하는 단계는 요구된 명령이 보안 민감 명령으로서 분류되었는지 여부를 결정하는 단계와; 그리고상기 요구된 명령이 보안 민감 명령인 것으로 결정되는 경우 프로세서(305)상에서 실행하는 소프트웨어 코드와 관련된 제2 보안ID를 획득하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 프로세서(305)상에서 코드를 실행하고, 제1 보안ID를 프로세서(305)에 의해 실행될 복수의 명령들 각각 또는 명령들의 세트에 관련시키기 위한 프로세서(305)와, 그리고가상 메모리 테이블(405)을 포함하며,상기 프로세서(305)는 상기 프로세서(305)상에서 실행하는 코드에 의해 복수의 명령들 중의 적어도 하나 또는 명령들의 세트를 실행하기 위한 요구를 수신하고, 상기 코드와 관련된 제2 보안ID를 상기 가상 메모리 테이블(405)로부터 획득하며, 상기 제2 보안ID를 상기 제1 보안ID와 비교하며, 그리고 상기 제2 보안ID가 상기 제1 보안ID와 매칭되는 경우 상기 요구된 명령 또는 명령들의 세트를 실행하는 것을 특징으로 하는 장치.
- 제 6항에 있어서, 상기 프로세서(305)는 상기 제2 보안ID와 상기 제1 보안ID가 매칭되지 않는 경우 상기 요구된 명령 또는 명령들의 세트의 실행을 거부하는 것을 특징으로 하는 장치.
- 제 6항 또는 제 7항에 있어서, 상기 프로세서(305)는 프로그램가능 레지스터내에 상기 제1 보안ID를 프로세서에 의해 실행될 복수의 명령들 각각 또는 명령들의 세트와 함께 저장하는 것을 특징으로 하는 장치.
- 제 6항 또는 제 7항에 있어서, 상기 프로세서(305)는 실행될 복수의 명령들로부터 적어도 하나의 명령 또는 명령들의 세트를 보안 민감 명령으로서 분류하고, 그리고 상기 제1 보안ID를 상기 보안 민감 명령으로서 분류된 각각의 명령들 또는 명령들의 세트에 관련시키는 것을 특징으로 하는 장치.
- 제 9항에 있어서, 상기 프로세서(305)는 요구된 명령이 보안 민감 명령으로서 분류되었는지 여부를 결정하고; 그리고 상기 요구된 명령이 보안 민감 명령인 것으로 결정되는 경우 프로세서(305)상에서 실행하는 소프트웨어 코드와 관련된 상기 제2 보안ID를 획득하는 것을 특징으로 하는 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/005,248 US7865948B1 (en) | 2001-12-03 | 2001-12-03 | Method and apparatus for restricted execution of security sensitive instructions |
US10/005,248 | 2001-12-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050027084A KR20050027084A (ko) | 2005-03-17 |
KR100939328B1 true KR100939328B1 (ko) | 2010-01-28 |
Family
ID=21714930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020047008536A KR100939328B1 (ko) | 2001-12-03 | 2002-09-12 | 보안민감명령들의 제한실행을 위한 방법 및 장치 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7865948B1 (ko) |
EP (1) | EP1451665A2 (ko) |
JP (1) | JP3830942B2 (ko) |
KR (1) | KR100939328B1 (ko) |
CN (1) | CN1307502C (ko) |
AU (1) | AU2002333566A1 (ko) |
TW (1) | TWI263132B (ko) |
WO (1) | WO2003048908A2 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1698958A1 (fr) * | 2005-02-25 | 2006-09-06 | Axalto SA | Procédé de sécurisation de l'ecriture en mémoire contre des attaques par rayonnement ou autres |
US8352713B2 (en) * | 2006-08-09 | 2013-01-08 | Qualcomm Incorporated | Debug circuit comparing processor instruction set operating mode |
US8245307B1 (en) | 2006-12-18 | 2012-08-14 | Nvidia Corporation | Providing secure access to a secret |
US9851969B2 (en) | 2010-06-24 | 2017-12-26 | International Business Machines Corporation | Function virtualization facility for function query of a processor |
US10521231B2 (en) | 2010-06-24 | 2019-12-31 | International Business Machines Corporation | Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor |
CN104272317B (zh) * | 2012-06-01 | 2017-09-15 | 英特尔公司 | 在更安全的执行环境中标识并执行多个指令的子集 |
CN104601353B (zh) * | 2013-10-31 | 2018-07-06 | 北京神州泰岳软件股份有限公司 | 一种网络安全生产设备的运维操作方法和*** |
CN111382429B (zh) * | 2018-12-27 | 2022-12-27 | 华为技术有限公司 | 指令的执行方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4949238A (en) | 1987-02-18 | 1990-08-14 | Kabushiki Kaisha Toshiba | Apparatus for detecting memory protection violation |
JPH08272625A (ja) * | 1995-03-29 | 1996-10-18 | Toshiba Corp | マルチプログラム実行制御装置及び方法 |
JP2000181898A (ja) | 1998-12-14 | 2000-06-30 | Nec Corp | フラッシュメモリ搭載型シングルチップマイクロコンピュータ |
KR100652538B1 (ko) | 2003-10-01 | 2006-12-06 | 가부시끼가이샤 도시바 | 마이크로 컴퓨터 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US494238A (en) * | 1893-03-28 | Windmill | ||
US5027273A (en) | 1985-04-10 | 1991-06-25 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
US4962538A (en) * | 1989-02-13 | 1990-10-09 | Comar, Inc. | Image analysis counting system |
US4962533A (en) | 1989-02-17 | 1990-10-09 | Texas Instrument Incorporated | Data protection for computer systems |
US5469556A (en) * | 1989-12-12 | 1995-11-21 | Harris Corporation | Resource access security system for controlling access to resources of a data processing system |
US5522075A (en) * | 1991-06-28 | 1996-05-28 | Digital Equipment Corporation | Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces |
US5802590A (en) * | 1994-12-13 | 1998-09-01 | Microsoft Corporation | Method and system for providing secure access to computer resources |
KR19980701566A (ko) * | 1995-11-20 | 1998-05-15 | 요트.게.아. 롤페즈 | 컴퓨터 프로그램을 분배하는 시스템 |
US5835594A (en) | 1996-02-09 | 1998-11-10 | Intel Corporation | Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage |
FI991134A (fi) * | 1999-05-18 | 2000-11-19 | Sonera Oyj | Ohjelmiston testaus |
US7178031B1 (en) * | 1999-11-08 | 2007-02-13 | International Business Machines Corporation | Wireless security access management for a portable data storage cartridge |
FR2802666B1 (fr) * | 1999-12-17 | 2002-04-05 | Activcard | Systeme informatique pour application a acces par accreditation |
-
2001
- 2001-12-03 US US10/005,248 patent/US7865948B1/en active Active
-
2002
- 2002-09-12 WO PCT/US2002/028855 patent/WO2003048908A2/en active Application Filing
- 2002-09-12 KR KR1020047008536A patent/KR100939328B1/ko active IP Right Grant
- 2002-09-12 AU AU2002333566A patent/AU2002333566A1/en not_active Abandoned
- 2002-09-12 EP EP02804388A patent/EP1451665A2/en not_active Withdrawn
- 2002-09-12 JP JP2003550034A patent/JP3830942B2/ja not_active Expired - Lifetime
- 2002-09-12 CN CNB02824138XA patent/CN1307502C/zh not_active Expired - Lifetime
- 2002-11-28 TW TW091134582A patent/TWI263132B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4949238A (en) | 1987-02-18 | 1990-08-14 | Kabushiki Kaisha Toshiba | Apparatus for detecting memory protection violation |
JPH08272625A (ja) * | 1995-03-29 | 1996-10-18 | Toshiba Corp | マルチプログラム実行制御装置及び方法 |
JP2000181898A (ja) | 1998-12-14 | 2000-06-30 | Nec Corp | フラッシュメモリ搭載型シングルチップマイクロコンピュータ |
KR100652538B1 (ko) | 2003-10-01 | 2006-12-06 | 가부시끼가이샤 도시바 | 마이크로 컴퓨터 |
Also Published As
Publication number | Publication date |
---|---|
JP3830942B2 (ja) | 2006-10-11 |
CN1307502C (zh) | 2007-03-28 |
WO2003048908A2 (en) | 2003-06-12 |
KR20050027084A (ko) | 2005-03-17 |
EP1451665A2 (en) | 2004-09-01 |
AU2002333566A8 (en) | 2003-06-17 |
WO2003048908A3 (en) | 2004-04-22 |
JP2005512182A (ja) | 2005-04-28 |
CN1613039A (zh) | 2005-05-04 |
TW200300880A (en) | 2003-06-16 |
TWI263132B (en) | 2006-10-01 |
AU2002333566A1 (en) | 2003-06-17 |
US7865948B1 (en) | 2011-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7631160B2 (en) | Method and apparatus for securing portions of memory | |
US5469556A (en) | Resource access security system for controlling access to resources of a data processing system | |
US7401358B1 (en) | Method of controlling access to control registers of a microprocessor | |
US7043616B1 (en) | Method of controlling access to model specific registers of a microprocessor | |
KR100975981B1 (ko) | 보안 실행 모드 하에서 보안 커넬을 사용하는 트러스트된클라이언트 | |
EP2748753B1 (en) | Method and apparatus for controlling access to a resource in a computer device | |
US7130977B1 (en) | Controlling access to a control register of a microprocessor | |
US7571318B2 (en) | Method and apparatus for improved security in a data processor | |
US7082507B1 (en) | Method of controlling access to an address translation data structure of a computer system | |
EP1440373B1 (en) | Method and apparatus for physical address-based security to determine target security | |
US7512768B2 (en) | Dynamically sharing a stack between different code segments | |
KR100939328B1 (ko) | 보안민감명령들의 제한실행을 위한 방법 및 장치 | |
KR100941743B1 (ko) | 타겟 보안을 이용한 입력/출력 디바이스들의 다중-테이블액세싱을 위한 방법 및 장치 | |
US10942870B1 (en) | Circuitry and method | |
US7698522B1 (en) | Method and apparatus for linear address based page level security scheme to determine current security context | |
WO2023061607A1 (en) | Regulating access to memory | |
KR20040057256A (ko) | 메모리보호장치 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121227 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140103 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150106 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151217 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20161220 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20171219 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20181226 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20191217 Year of fee payment: 11 |