JP5847839B2 - セキュリティサンドボックス - Google Patents
セキュリティサンドボックス Download PDFInfo
- Publication number
- JP5847839B2 JP5847839B2 JP2013544578A JP2013544578A JP5847839B2 JP 5847839 B2 JP5847839 B2 JP 5847839B2 JP 2013544578 A JP2013544578 A JP 2013544578A JP 2013544578 A JP2013544578 A JP 2013544578A JP 5847839 B2 JP5847839 B2 JP 5847839B2
- Authority
- JP
- Japan
- Prior art keywords
- opcode
- instruction
- instruction set
- processor
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 244000035744 Hura crepitans Species 0.000 title description 7
- 238000000034 method Methods 0.000 claims description 49
- 230000003068 static effect Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 2
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
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)
- Executing Machine-Instructions (AREA)
- Storage Device Security (AREA)
Description
(結論)
Claims (6)
- プロセッサ上で実行するための実行可能命令をサンドボックスする方法であって、
前記プロセッサに命令セットを実装するステップであって、前記プロセッサは第1の命令セットおよび第2の命令セットの両方を同時に実装するようには制御されないものであり、前記第1の命令セットは第1のオペコードを有する第1の命令で構成され、前記第2の命令セットは第2のオペコードを有する第2の命令で構成され、前記第1の命令セットは、前記プロセッサが第1のモードにあるときにのみ、関連付けられかつ実装され、前記第2の命令セットは、前記プロセッサが第2のモードにあるときにのみ、関連付けられかつ実装される、ステップと、
前記プロセッサ上で第1の実行ユニットおよび第2の実行ユニットを実行するステップであって、前記第1の実行ユニットはそれぞれ、複数の前記第1の命令のみから構成され、前記第2の実行ユニットはそれぞれ、複数の前記第2の命令のみから構成される、ステップと、
前記第1の実行ユニットおよび前記第2の実行ユニットを実行している間の任意の所与の時間に、命令を復号しているとき、前記プロセッサが前記第1のモードで動作している間に有効な命令として第1のオペコードのみを認識し、前記プロセッサが前記第2のモードで動作している間に有効な命令として第2のオペコードのみを認識するステップと
を含み、
前記第1のオペコードの各々および前記第2のオペコードの各々は所定のビットシーケンスを含み、前記第1のオペコードの各々の前記所定のビットシーケンスは、前記第1のオペコードの各々が前記第1の命令セットからのものであることを示す第1の値を有し、前記第2のオペコードの各々の前記所定のビットシーケンスは、前記第2のオペコードの各々が前記第2の命令セットからのものであることを示す、前記第1の値とは異なる第2の値を有し、前記第1のオペコードは前記第2のオペコードと相互に排他的である、方法。 - 前記プロセッサによって現在実装されている前記命令セットは、現在の実行コンテキストを変更する実行コンテキスト切替え中に変わる、請求項1に記載の方法。
- 前記第1のオペコードまたは前記第2のオペコードのいずれか一方のみが、任意の所与の時間に有効なオペコードとして前記プロセッサによって認識される、請求項1に記載の方法。
- 前記第1のオペコードが前記プロセッサによって現在認識されているとき、かつ第2のオペコードが実行を試みられるとき、前記プロセッサのデコーダは前記第2のオペコードを復号できない、請求項3に記載の方法。
- プロセッサであって、
命令セットを実装し、ここで、前記プロセッサは第1の命令セットおよび第2の命令セットの両方を同時に実装するようには制御されないものであり、前記第1の命令セットは第1のオペコードを有する第1の命令で構成され、前記第2の命令セットは第2のオペコードを有する第2の命令で構成され、前記第1の命令セットは、前記プロセッサが第1のモードにあるときにのみ、関連付けられかつ実装され、前記第2の命令セットは、前記プロセッサが第2のモードにあるときにのみ、関連付けられかつ実装され、
第1の実行ユニットおよび第2の実行ユニットを実行し、ここで、前記第1の実行ユニットはそれぞれ、複数の前記第1の命令のみから構成され、前記第2の実行ユニットはそれぞれ、複数の前記第2の命令のみから構成され、
前記第1の実行ユニットおよび前記第2の実行ユニットを実行している間の任意の所与の時間に、命令を復号しているとき、前記プロセッサが前記第1のモードで動作している間に有効な命令として第1のオペコードのみを認識し、前記プロセッサが前記第2のモードで動作している間に有効な命令として第2のオペコードのみを認識する、
よう構成され、
前記第1のオペコードの各々および前記第2のオペコードの各々は所定のビットシーケンスを含み、前記第1のオペコードの各々の前記所定のビットシーケンスは、前記第1のオペコードの各々が前記第1の命令セットからのものであることを示す第1の値を有し、前記第2のオペコードの各々の前記所定のビットシーケンスは、前記第2のオペコードの各々が前記第2の命令セットからのものであることを示す、前記第1の値とは異なる第2の値を有し、前記第1のオペコードは前記第2のオペコードと相互に排他的である、プロセッサ。 - 少なくとも第1のモードおよび第2のモードを提供するプロセッサによって実行される方法であって、
前記第1のモードと関連する第1の実行ユニットを実行するステップと、
前記第2のモードと関連する第2の実行ユニットを実行するステップと、
前記プロセッサが前記第1のモードに設定されている間に任意の実行ユニットが現在実行されている間、第1の命令セット内の第1の命令のみを実行できるようにするステップであって、前記第1の命令セットは第1のオペコードを有する前記第1の命令で構成され、前記第1の実行ユニットはそれぞれ、複数の前記第1の命令のみから構成される、ステップと、
前記プロセッサが前記第2のモードに設定されている間に任意の実行ユニットが実行されている間、第2の命令セット内の第2の命令のみを実行できるようにするステップであって、前記第2の命令セットは第2のオペコードを有する前記第2の命令で構成され、前記第2の実行ユニットはそれぞれ、複数の前記第2の命令のみから構成される、ステップと
を含み、
前記第1のオペコードの各々および前記第2のオペコードの各々は所定のビットシーケンスを含み、前記第1のオペコードの各々の前記所定のビットシーケンスは、前記第1のオペコードの各々が前記第1の命令セットからのものであることを示す第1の値を有し、前記第2のオペコードの各々の前記所定のビットシーケンスは、前記第2のオペコードの各々が前記第2の命令セットからのものであることを示す、前記第1の値とは異なる第2の値を有し、前記第1のオペコードは前記第2のオペコードと相互に排他的である、方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/970,927 | 2010-12-16 | ||
US12/970,927 US20120159127A1 (en) | 2010-12-16 | 2010-12-16 | Security sandbox |
PCT/US2011/064008 WO2012082524A1 (en) | 2010-12-16 | 2011-12-08 | Security sandbox |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013546100A JP2013546100A (ja) | 2013-12-26 |
JP5847839B2 true JP5847839B2 (ja) | 2016-01-27 |
Family
ID=46236000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013544578A Expired - Fee Related JP5847839B2 (ja) | 2010-12-16 | 2011-12-08 | セキュリティサンドボックス |
Country Status (8)
Country | Link |
---|---|
US (1) | US20120159127A1 (ja) |
EP (1) | EP2652667A4 (ja) |
JP (1) | JP5847839B2 (ja) |
KR (1) | KR20130132859A (ja) |
CN (1) | CN102542208B (ja) |
AR (1) | AR084350A1 (ja) |
TW (1) | TW201229894A (ja) |
WO (1) | WO2012082524A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8627451B2 (en) * | 2009-08-21 | 2014-01-07 | Red Hat, Inc. | Systems and methods for providing an isolated execution environment for accessing untrusted content |
US9684785B2 (en) | 2009-12-17 | 2017-06-20 | Red Hat, Inc. | Providing multiple isolated execution environments for securely accessing untrusted content |
US9027151B2 (en) * | 2011-02-17 | 2015-05-05 | Red Hat, Inc. | Inhibiting denial-of-service attacks using group controls |
US10410003B2 (en) | 2013-06-07 | 2019-09-10 | Apple Inc. | Multiple containers assigned to an application |
US10019567B1 (en) * | 2014-03-24 | 2018-07-10 | Amazon Technologies, Inc. | Encoding of security codes |
US20150278512A1 (en) * | 2014-03-28 | 2015-10-01 | Intel Corporation | Virtualization based intra-block workload isolation |
US9910721B2 (en) * | 2014-12-09 | 2018-03-06 | Intel Corporation | System and method for execution of application code compiled according to two instruction set architectures |
JP6678185B2 (ja) * | 2015-04-10 | 2020-04-08 | グーグル エルエルシー | ネイティブ・クライアントへのバイナリ変換 |
TWI575401B (zh) | 2015-11-12 | 2017-03-21 | 財團法人資訊工業策進會 | 行動裝置及一種適用於行動裝置的監控方法 |
GB2563580B (en) * | 2017-06-15 | 2019-09-25 | Advanced Risc Mach Ltd | An apparatus and method for controlling a change in instruction set |
JP6531927B1 (ja) * | 2018-08-17 | 2019-06-19 | 株式会社エルアミーナ | 高位合成マルチプロセッサシステム等 |
CN109446096B (zh) * | 2018-11-06 | 2021-08-24 | 北京知道创宇信息技术股份有限公司 | 一种智能合约调试方法、装置及其存储介质 |
US11436187B2 (en) * | 2020-10-20 | 2022-09-06 | Micron Technology, Inc. | Method of notifying a process or programmable atomic operation traps |
US11586439B2 (en) | 2020-10-20 | 2023-02-21 | Micron Technology, Inc. | Detecting infinite loops in a programmable atomic transaction |
US12020062B2 (en) | 2020-10-20 | 2024-06-25 | Micron Technology, Inc. | Method of executing programmable atomic unit resources within a multi-process system |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781750A (en) * | 1994-01-11 | 1998-07-14 | Exponential Technology, Inc. | Dual-instruction-set architecture CPU with hidden software emulation mode |
US6496922B1 (en) * | 1994-10-31 | 2002-12-17 | Sun Microsystems, Inc. | Method and apparatus for multiplatform stateless instruction set architecture (ISA) using ISA tags on-the-fly instruction translation |
US5638525A (en) * | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
WO1997027537A2 (en) * | 1996-01-24 | 1997-07-31 | Sun Microsystems, Inc. | A processor for executing instruction sets received from a network or from a local memory |
JP3861452B2 (ja) * | 1998-04-28 | 2006-12-20 | 松下電器産業株式会社 | プロセッサおよびプログラム生成装置 |
US6760441B1 (en) * | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
WO2002071211A2 (en) * | 2000-11-20 | 2002-09-12 | Zucotto Wireless, Inc. | Data processor having multiple operating modes |
EP1324191A1 (en) * | 2001-12-27 | 2003-07-02 | STMicroelectronics S.r.l. | Processor architecture, related system and method of operation |
JP2003233496A (ja) * | 2002-02-08 | 2003-08-22 | Mitsubishi Electric Corp | マイクロプロセッサ |
WO2004049152A1 (en) * | 2002-11-26 | 2004-06-10 | Mplicity Ltd. | A processor capable of multi-threaded execution of a plurality of instruction-sets |
US7603704B2 (en) * | 2002-12-19 | 2009-10-13 | Massachusetts Institute Of Technology | Secure execution of a computer program using a code cache |
GB2402764B (en) * | 2003-06-13 | 2006-02-22 | Advanced Risc Mach Ltd | Instruction encoding within a data processing apparatus having multiple instruction sets |
US7415618B2 (en) * | 2003-09-25 | 2008-08-19 | Sun Microsystems, Inc. | Permutation of opcode values for application program obfuscation |
JP2005209105A (ja) * | 2004-01-26 | 2005-08-04 | Matsushita Electric Ind Co Ltd | マルチスレッドプロセッサ |
US7493483B2 (en) * | 2004-02-19 | 2009-02-17 | International Business Machines Corporation | Method to prevent vulnerability to virus and worm attacks through instruction remapping |
US7562209B2 (en) * | 2004-04-07 | 2009-07-14 | Marvell International, Ltd. | Supporting different instruction set architectures during run time |
US7908653B2 (en) * | 2004-06-29 | 2011-03-15 | Intel Corporation | Method of improving computer security through sandboxing |
US20060047959A1 (en) * | 2004-08-25 | 2006-03-02 | Microsoft Corporation | System and method for secure computing |
US7793078B2 (en) * | 2005-04-01 | 2010-09-07 | Arm Limited | Multiple instruction set data processing system with conditional branch instructions of a first instruction set and a second instruction set sharing a same instruction encoding |
US7725922B2 (en) * | 2006-03-21 | 2010-05-25 | Novell, Inc. | System and method for using sandboxes in a managed shell |
US9658849B2 (en) * | 2006-07-06 | 2017-05-23 | Imperas Software Ltd. | Processor simulation environment |
US8250656B2 (en) * | 2007-11-21 | 2012-08-21 | Mikhail Y. Vlasov | Processor with excludable instructions and registers and changeable instruction coding for antivirus protection |
US8347067B2 (en) * | 2008-01-23 | 2013-01-01 | Arm Limited | Instruction pre-decoding of multiple instruction sets |
US20100153693A1 (en) * | 2008-12-17 | 2010-06-17 | Microsoft Corporation | Code execution with automated domain switching |
CN101847184A (zh) * | 2009-12-16 | 2010-09-29 | 深圳市虹安信息技术有限公司 | 采用加密沙箱的文件加密方法 |
US8782380B2 (en) * | 2010-12-14 | 2014-07-15 | International Business Machines Corporation | Fine-grained privilege escalation |
-
2010
- 2010-12-16 US US12/970,927 patent/US20120159127A1/en not_active Abandoned
-
2011
- 2011-11-09 TW TW100140901A patent/TW201229894A/zh unknown
- 2011-12-08 EP EP11848149.8A patent/EP2652667A4/en not_active Withdrawn
- 2011-12-08 WO PCT/US2011/064008 patent/WO2012082524A1/en active Application Filing
- 2011-12-08 JP JP2013544578A patent/JP5847839B2/ja not_active Expired - Fee Related
- 2011-12-08 KR KR1020137015422A patent/KR20130132859A/ko not_active Application Discontinuation
- 2011-12-15 CN CN201110440140.7A patent/CN102542208B/zh not_active Expired - Fee Related
- 2011-12-19 AR ARP110104758A patent/AR084350A1/es unknown
Also Published As
Publication number | Publication date |
---|---|
CN102542208B (zh) | 2016-03-16 |
CN102542208A (zh) | 2012-07-04 |
AR084350A1 (es) | 2013-05-08 |
JP2013546100A (ja) | 2013-12-26 |
TW201229894A (en) | 2012-07-16 |
KR20130132859A (ko) | 2013-12-05 |
EP2652667A4 (en) | 2017-11-29 |
EP2652667A1 (en) | 2013-10-23 |
WO2012082524A1 (en) | 2012-06-21 |
US20120159127A1 (en) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5847839B2 (ja) | セキュリティサンドボックス | |
Shanbhogue et al. | Security analysis of processor instruction set architecture for enforcing control-flow integrity | |
Shi et al. | Deconstructing Xen. | |
EP2973194B1 (en) | Linear address mapping protection | |
Lee et al. | Enlisting hardware architecture to thwart malicious code injection | |
US9129106B2 (en) | Systems and methods for secure in-VM monitoring | |
AU2013297064B2 (en) | Methods, systems, and computer readable medium for active monitoring, memory protection and integrity verification of target devices | |
JP2021511571A (ja) | 投機的実行のエクスプロイトに対する防御 | |
US20120216281A1 (en) | Systems and Methods for Providing a Computing Device Having a Secure Operating System Kernel | |
US20120159193A1 (en) | Security through opcode randomization | |
Qiang et al. | PrivGuard: Protecting sensitive kernel data from privilege escalation attacks | |
KR20160019454A (ko) | 데이터 처리장치에서의 소프트웨어 라이브러리들의 보안 보호 | |
US20220366037A1 (en) | Domain transition disable configuration parameter | |
Bresch et al. | A red team blue team approach towards a secure processor design with hardware shadow stack | |
JP2015166952A (ja) | 情報処理装置、情報処理監視方法、プログラム、及び記録媒体 | |
Jia et al. | Defending return‐oriented programming based on virtualization techniques | |
EP4073635B1 (en) | Intermodal calling branch instruction | |
Eng | HARDWARE AND HYPERVISOR TECHNOLOGIES FOR OPERATING SYSTEM AND APPLICATIONS SECURITY | |
Xu et al. | KPDP: Kernel Permission Data Protection Against Data-Oriented Attacks | |
Kuzuno et al. | Protection Mechanism of Kernel Data Using Memory Protection Key | |
Medley | Hardware Virtualization Applied to Rootkit Defense |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130905 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130909 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141118 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20150523 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150928 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151125 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5847839 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |