JP5000573B2 - 保護された関数呼び出し - Google Patents
保護された関数呼び出し Download PDFInfo
- Publication number
- JP5000573B2 JP5000573B2 JP2008096484A JP2008096484A JP5000573B2 JP 5000573 B2 JP5000573 B2 JP 5000573B2 JP 2008096484 A JP2008096484 A JP 2008096484A JP 2008096484 A JP2008096484 A JP 2008096484A JP 5000573 B2 JP5000573 B2 JP 5000573B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- domain
- memory
- memory address
- allowed
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 22
- 230000007704 transition Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000012546 transfer Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
-
- 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/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- 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
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1004—Compatibility, e.g. with legacy hardware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Description
メモリアドレス空間内の値を有するメモリアドレスを用いてアドレス指定可能なメモリを具備し、前記メモリアドレス空間は少なくとも第1ドメインおよび第2ドメインを有し、ドメインはメモリアドレスの集合を含み、
前記メモリに結合され、前記メモリアドレス空間内のそれぞれのメモリアドレスを使用して一連のプログラム命令を取り込む動作が可能な命令取り込み回路と、
前記命令取り込み回路に結合され、前記第2ドメイン内の第2メモリアドレスと対応付けされた第2命令の取り込みが続く前記第1ドメイン内の第1メモリアドレスと対応付けされた第1命令の取り込みに応答して、
(i)前記第1ドメインと対応付けされた命令にアクセスした後に前記第2ドメインと対応付けされた命令の実行を開始するときに、前記第2命令の命令コードから前記第2命令が実行することを許可された許容命令であるかどうか判定し、
(ii)前記第2命令が許容命令でないならば、アクセス違反応答を引き起こす
命令アクセス制御回路と、
をさらに具備し、
前記メモリアドレス空間は複数のドメインを含み、各ドメインは、他のドメインへのドメイン遷移のいずれが許容命令の検査を必要とし、または、必要としないかを示す、対応付けされたそれぞれのプログラム可能な権限を有する。
メモリアドレス空間内の値を有するメモリアドレスを用いてアドレス指定可能なメモリ内にプログラム命令を記憶するステップを有し、前記メモリアドレス空間は少なくとも第1ドメインおよび第2ドメインを有し、ドメインはメモリアドレスの集合を含み、
前記メモリアドレス空間内のそれぞれのメモリアドレスを使用して一連のプログラム命令を取り込むステップと、
前記第2ドメイン内の第2メモリアドレスと対応付けされた第2命令の取り込みが続く前記第1ドメイン内の第1メモリアドレスと対応付けされた第1命令の取り込みに応答して、
(i)前記第1ドメインと対応付けされた命令にアクセスした後に前記第2ドメインと対応付けされた命令の実行を開始するときに、前記第2命令の命令コードから前記第2命令が実行することを許可された許容命令であるかどうか判定し、
(ii)前記第2命令が許容命令でないならば、アクセス違反応答を引き起こす
ステップと、
をさらに有し、
前記メモリアドレス空間は複数のドメインを含み、各ドメインは、他のドメインへのドメイン遷移のいずれが許容命令の検査を必要とし、または、必要としないかを示す、対応付けされたそれぞれのプログラム可能な権限を有する。
4 プロセッサコア
6 メモリ
8 メモリ管理ユニット
10 レジスタバンク
12 乗算器
14 シフタ
16 加算器
18 命令デコーダ
20 命令パイプライン
22 命令取り込みユニット
24 構成定義コプロセッサCP15
26 構成定義レジスタ
Claims (23)
- データを処理するための装置であって、
メモリアドレス空間内の値を有するメモリアドレスを用いてアドレス指定可能なメモリを具備し、前記メモリアドレス空間は少なくとも第1ドメインおよび第2ドメインを有し、ドメインはメモリアドレスの集合を含み、
前記メモリに結合され、前記メモリアドレス空間内のそれぞれのメモリアドレスを使用して一連のプログラム命令を取り込む動作が可能な命令取り込み回路と、
前記命令取り込み回路に結合され、前記第2ドメイン内の第2メモリアドレスと対応付けされた第2命令の取り込みが続く前記第1ドメイン内の第1メモリアドレスと対応付けされた第1命令の取り込みに応答して、
(i)前記第1ドメインと対応付けされた命令にアクセスした後に前記第2ドメインと対応付けされた命令の実行を開始するときに、前記第2命令の命令コードから前記第2命令が実行することを許可された許容命令であるかどうか判定し、
(ii)前記第2命令が許容命令でないならば、アクセス違反応答を引き起こす
命令アクセス制御回路と、
をさらに具備し、
前記メモリアドレス空間は複数のドメインを含み、各ドメインは、他のドメインへのドメイン遷移のいずれが許容命令の検査を必要とし、または、必要としないかを示す、対応付けされたそれぞれのプログラム可能な権限を有し、
前記許容命令は許容分岐ターゲット命令であり、
前記装置は複数のプログラム命令セットを使用し、
各プログラム命令セットは少なくとも1つの許容分岐ターゲット命令を有し、
前記命令アクセス制御回路は、前記第2命令が、前記第2命令を含む命令セットについての前記少なくとも1つの許容分岐ターゲット命令の1つであるか否かを判定する装置。 - 前記許容命令は、前記命令アクセス制御回路以外の前記装置の処理回路によってノーオペレーション命令として処理される請求項1に記載の装置。
- 前記第1ドメインについての前記プログラム可能な権限は、前記複数のドメインの他のいずれについて、前記第2ドメインであるとき、前記第2命令が許容命令であるか否かに応じてアクセスを制御するために前記命令アクセス制御回路がアクティブにされるか、または、アクティブにされないかを示す請求項1に記載の装置。
- 前記第2ドメインについての前記プログラム可能な権限は、前記複数のドメインの他のいずれについて、前記第1ドメインであるとき、前記第2命令が許容命令であるか否かに応じてアクセスを制御するために前記命令アクセス制御回路がアクティブされるか、または、アクティブにされないかを示す請求項1に記載の装置。
- 各ドメインについての前記プログラム可能な権限は、該ドメインと対応付けされたプログラム命令が、前記複数のドメインについての前記プログラム可能な権限を変更することができるか否かを示す請求項1に記載の装置。
- 前記命令アクセス制御回路は、また、前記第1命令が許容分岐命令であるかどうかを判定し、前記第1命令が許容分岐命令でないならば、前記アクセス違反応答を引き起こす請求項1に記載の装置。
- 前記例外の処理からの復帰において、前記命令アクセス制御回路が前記第2命令へのアクセスを制御するために前記第1命令の前記第1ドメインを識別することができるように、前記第1命令と前記第2命令との間で例外が発生するとき、保存される状態レジスタは前記第1ドメインを識別するデータを記憶する請求項1に記載の装置。
- 前記メモリアドレス空間は前記メモリと対応付けされた仮想メモリアドレス空間であり、
前記第1ドメインおよび前記第2ドメインは前記仮想メモリアドレス空間内のドメインであり、
メモリ管理回路は仮想メモリアドレスを物理メモリアドレスにマッピングする請求項1に記載の装置。 - どの仮想メモリアドレスがどのドメインに対応するかを示すドメイン指示データは前記メモリ管理回路に記憶される請求項8に記載の装置。
- 前記複数のドメインの前記プログラム可能な権限を指定するデータは、1つまたは複数のプログラム可能な構成定義レジスタ内に記憶される請求項1に記載の装置。
- 前記アクセス違反応答は、
ドメイン違反例外処理コードの実行、
メモリアボート、
アクセス違反例外処理コードの実行、
未定義の命令例外処理コードの実行
のうち1つである請求項1に記載の装置。 - データを処理する方法であって、
メモリが、メモリアドレス空間内の値を有するメモリアドレスを用いてアドレス指定可能なメモリ内にプログラム命令を記憶するステップを有し、前記メモリアドレス空間は少なくとも第1ドメインおよび第2ドメインを有し、ドメインはメモリアドレスの集合を含み、
前記メモリに結合された命令取り込み回路が、前記メモリアドレス空間内のそれぞれのメモリアドレスを使用して一連のプログラム命令を取り込むステップと、
前記命令取り込み回路に結合された命令アクセス制御回路が、前記第2ドメイン内の第2メモリアドレスと対応付けされた第2命令の取り込みが続く前記第1ドメイン内の第1メモリアドレスと対応付けされた第1命令の取り込みに応答して、
(i)前記第1ドメインと対応付けされた命令にアクセスした後に前記第2ドメインと対応付けされた命令の実行を開始するときに、前記第2命令の命令コードから前記第2命令が実行することを許可された許容命令であるかどうか判定し、
(ii)前記第2命令が許容命令でないならば、アクセス違反応答を引き起こす
ステップと、
をさらに有し、
前記メモリアドレス空間は複数のドメインを含み、各ドメインは、他のドメインへのドメイン遷移のいずれが許容命令の検査を必要とし、または、必要としないかを示す、対応付けされたそれぞれのプログラム可能な権限を有し、
前記許容命令は許容分岐ターゲット命令であり、
前記処理は複数のプログラム命令セットを使用し、
各プログラム命令セットは少なくとも1つの許容分岐ターゲット命令を有し、
前記命令アクセス制御回路が、前記第2命令が、前記第2命令を含む命令セットについての前記少なくとも1つの許容分岐ターゲット命令の1つであるか否かを判定するステップをさらに有する方法。 - 前記許容命令は、前記命令アクセス制御回路以外の前記処理のための処理回路によって、前記アクセス違反応答の生成を制御する以外にノーオペレーション命令として処理される請求項12に記載の方法。
- 前記第1ドメインについての前記プログラム可能な権限は、前記複数のドメインの他のいずれについて、前記第2ドメインであるとき、前記第2命令が許容命令であるか否かに応じてアクセスが制御されるかを示す請求項12に記載の方法。
- 前記第2ドメインについての前記プログラム可能な権限は、前記複数のドメインの他のいずれについて、前記第1ドメインであるとき、前記第2命令が許容命令であるか否かに応じてアクセスを制御するためにアクティブにされるか、または、アクティブにされないかを示す請求項12に記載の方法。
- 各ドメインについての前記プログラム可能な権限は、該ドメインと対応付けされたプログラム命令が、前記複数のドメインについての前記プログラム可能な権限を変更することができるか否かを示す請求項12に記載の方法。
- 前記命令アクセス制御回路が、前記第1命令が許容分岐命令であるかどうかを判定し、前記第1命令が許容分岐命令でないならば、前記アクセス違反応答を引き起こすステップをさらに有する請求項12に記載の方法。
- 前記例外の処理からの復帰において、前記命令アクセス制御回路が、前記第2命令へのアクセスを制御するために前記第1命令の前記第1ドメインを識別することができるように、前記第1命令と前記第2命令との間で例外が発生するとき、保存される状態レジスタが、前記第1ドメインを識別するデータを記憶するステップをさらに有する請求項12に記載の方法。
- 前記メモリアドレス空間は前記メモリと対応付けされた仮想メモリアドレス空間であり、
前記第1ドメインおよび前記第2ドメインは前記仮想メモリアドレス空間内のドメインであり、
メモリ管理回路によって、仮想メモリアドレスは物理メモリアドレスにマッピングされる請求項12に記載の方法。 - どの仮想メモリアドレスがどのドメインに対応するかを示すドメイン指示データは、前記メモリ管理回路によって、仮想メモリアドレスから物理メモリアドレスへのマッピングを指定するデータとともに記憶される請求項19に記載の方法。
- 前記複数のドメインの前記プログラム可能な権限を指定するデータは、1つまたは複数のプログラム可能な構成定義レジスタ内に記憶される請求項12に記載の方法。
- 前記アクセス違反応答は、
ドメイン違反例外処理コードの実行、
メモリアボート、
アクセス違反例外処理コードの実行、
未定義の命令例外処理コードの実行
のうち1つである請求項12に記載の方法。 - 請求項12に記載の方法を実行するようにコンピュータを制御するためのコンピュータプログラムを記憶するコンピュータプログラム記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0706491.8 | 2007-04-03 | ||
GB0706491A GB2448149B (en) | 2007-04-03 | 2007-04-03 | Protected function calling |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008257735A JP2008257735A (ja) | 2008-10-23 |
JP5000573B2 true JP5000573B2 (ja) | 2012-08-15 |
Family
ID=38050767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008096484A Active JP5000573B2 (ja) | 2007-04-03 | 2008-04-02 | 保護された関数呼び出し |
Country Status (4)
Country | Link |
---|---|
US (1) | US8010772B2 (ja) |
JP (1) | JP5000573B2 (ja) |
CN (1) | CN101281459B (ja) |
GB (1) | GB2448149B (ja) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882318B2 (en) * | 2006-09-29 | 2011-02-01 | Intel Corporation | Tamper protection of software agents operating in a vitual technology environment methods and apparatuses |
JP2009104555A (ja) * | 2007-10-25 | 2009-05-14 | Intel Corp | Vt環境で動作するソフトウェアエージェントの改竄防止、方法および装置 |
US8302210B2 (en) | 2009-08-24 | 2012-10-30 | Apple Inc. | System and method for call path enforcement |
JP5582971B2 (ja) * | 2009-12-15 | 2014-09-03 | キヤノン株式会社 | メモリ保護方法および情報処理装置 |
GB2482701C (en) * | 2010-08-11 | 2018-12-26 | Advanced Risc Mach Ltd | Illegal mode change handling |
WO2012169111A1 (ja) * | 2011-06-06 | 2012-12-13 | パナソニック株式会社 | コンテンツデータ再生方法、およびサムネイル画像生成方法 |
US9471373B2 (en) | 2011-09-24 | 2016-10-18 | Elwha Llc | Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority |
US9460290B2 (en) | 2011-07-19 | 2016-10-04 | Elwha Llc | Conditional security response using taint vector monitoring |
US9798873B2 (en) * | 2011-08-04 | 2017-10-24 | Elwha Llc | Processor operable to ensure code integrity |
US8955111B2 (en) | 2011-09-24 | 2015-02-10 | Elwha Llc | Instruction set adapted for security risk monitoring |
US9443085B2 (en) | 2011-07-19 | 2016-09-13 | Elwha Llc | Intrusion detection using taint accumulation |
US9575903B2 (en) | 2011-08-04 | 2017-02-21 | Elwha Llc | Security perimeter |
US8813085B2 (en) | 2011-07-19 | 2014-08-19 | Elwha Llc | Scheduling threads based on priority utilizing entitlement vectors, weight and usage level |
US8930714B2 (en) | 2011-07-19 | 2015-01-06 | Elwha Llc | Encrypted memory |
US9465657B2 (en) | 2011-07-19 | 2016-10-11 | Elwha Llc | Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority |
US9170843B2 (en) | 2011-09-24 | 2015-10-27 | Elwha Llc | Data handling apparatus adapted for scheduling operations according to resource allocation based on entitlement |
US9558034B2 (en) | 2011-07-19 | 2017-01-31 | Elwha Llc | Entitlement vector for managing resource allocation |
US9298918B2 (en) | 2011-11-30 | 2016-03-29 | Elwha Llc | Taint injection and tracking |
US9098608B2 (en) | 2011-10-28 | 2015-08-04 | Elwha Llc | Processor configured to allocate resources using an entitlement vector |
US10210349B2 (en) | 2012-02-08 | 2019-02-19 | Arm Limited | Data processing apparatus and method using secure domain and less secure domain |
US9213828B2 (en) | 2012-02-08 | 2015-12-15 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
US9202071B2 (en) | 2012-02-08 | 2015-12-01 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
GB201217531D0 (en) * | 2012-10-01 | 2012-11-14 | Advanced Risc Mach Ltd | ARMv7-M Asset Protection Proposal |
US9116711B2 (en) | 2012-02-08 | 2015-08-25 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
GB2501343A (en) * | 2012-02-08 | 2013-10-23 | Advanced Risc Mach Ltd | Data processing apparatus and method using secure domain and less secure domain |
US9477834B2 (en) | 2012-02-08 | 2016-10-25 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between domains |
US9672164B2 (en) | 2012-05-31 | 2017-06-06 | Nxp Usa, Inc. | Methods and systems for transitioning between a user state and a supervisor state based on a next instruction fetch address |
US8938796B2 (en) | 2012-09-20 | 2015-01-20 | Paul Case, SR. | Case secure computer architecture |
CN103679035B (zh) * | 2012-09-24 | 2016-12-28 | 腾讯科技(深圳)有限公司 | 安全性检测方法与装置 |
US9411590B2 (en) * | 2013-03-15 | 2016-08-09 | Qualcomm Incorporated | Method to improve speed of executing return branch instructions in a processor |
US9721120B2 (en) | 2013-05-14 | 2017-08-01 | Apple Inc. | Preventing unauthorized calls to a protected function |
GB2517493A (en) * | 2013-08-23 | 2015-02-25 | Advanced Risc Mach Ltd | Handling access attributes for data accesses |
US9952887B2 (en) * | 2014-06-23 | 2018-04-24 | Vmware, Inc. | Device simulation in a secure mode supported by hardware architectures |
US9830162B2 (en) * | 2014-12-15 | 2017-11-28 | Intel Corporation | Technologies for indirect branch target security |
JP6476098B2 (ja) * | 2015-09-15 | 2019-02-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US9870466B2 (en) | 2015-09-26 | 2018-01-16 | Mcafee, Inc. | Hardware-enforced code paths |
GB2544996B (en) * | 2015-12-02 | 2017-12-06 | Advanced Risc Mach Ltd | An apparatus and method for managing bounded pointers |
CN105354155A (zh) * | 2015-12-03 | 2016-02-24 | 上海高性能集成电路设计中心 | 一种基于页表检查机制的存储器访问权限控制方法 |
US10235176B2 (en) | 2015-12-17 | 2019-03-19 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
GB2549511B (en) * | 2016-04-20 | 2019-02-13 | Advanced Risc Mach Ltd | An apparatus and method for performing operations on capability metadata |
EP3264317B1 (en) * | 2016-06-29 | 2019-11-20 | Arm Ltd | Permission control for contingent memory access program instruction |
GB2552966B (en) * | 2016-08-15 | 2019-12-11 | Arm Ip Ltd | Methods and apparatus for protecting domains of a device from unauthorised accesses |
US10650156B2 (en) | 2017-04-26 | 2020-05-12 | International Business Machines Corporation | Environmental security controls to prevent unauthorized access to files, programs, and objects |
GB2563010B (en) * | 2017-05-25 | 2019-12-25 | Advanced Risc Mach Ltd | An apparatus and method for managing a capability domain |
GB2563580B (en) | 2017-06-15 | 2019-09-25 | Advanced Risc Mach Ltd | An apparatus and method for controlling a change in instruction set |
GB2564130B (en) * | 2017-07-04 | 2020-10-07 | Advanced Risc Mach Ltd | An apparatus and method for controlling execution of instructions |
US20210042100A1 (en) | 2018-02-02 | 2021-02-11 | Dover Microsystems, Inc. | System and method for translating mapping policy into code |
WO2019152772A1 (en) | 2018-02-02 | 2019-08-08 | The Charles Stark Draper Laboratory, Inc. | Systems and methods for policy execution processing |
US11797398B2 (en) | 2018-04-30 | 2023-10-24 | Dover Microsystems, Inc. | Systems and methods for checking safety properties |
US10761855B2 (en) | 2018-05-02 | 2020-09-01 | Micron Technology, Inc. | Securing conditional speculative instruction execution |
US10841161B2 (en) | 2018-08-02 | 2020-11-17 | Sap Se | Real-time configuration check framework |
US11914726B2 (en) * | 2018-08-30 | 2024-02-27 | Micron Technology, Inc. | Access control for processor registers based on execution domains |
US20200073822A1 (en) * | 2018-08-30 | 2020-03-05 | Micron Technology, Inc. | Security Configuration for Memory Address Translation from Object Specific Virtual Address Spaces to a Physical Address Space |
US11481241B2 (en) | 2018-08-30 | 2022-10-25 | Micron Technology, Inc. | Virtual machine register in a computer processor |
US10942863B2 (en) | 2018-08-30 | 2021-03-09 | Micron Technology, Inc. | Security configurations in page table entries for execution domains using a sandbox application operation |
US11500665B2 (en) | 2018-08-30 | 2022-11-15 | Micron Technology, Inc. | Dynamic configuration of a computer processor based on the presence of a hypervisor |
US11544069B2 (en) | 2018-10-25 | 2023-01-03 | Micron Technology, Inc. | Universal pointers for data exchange in a computer system having independent processors |
WO2020097179A1 (en) | 2018-11-06 | 2020-05-14 | Dover Microsystems, Inc. | Systems and methods for stalling host processor |
US11841956B2 (en) | 2018-12-18 | 2023-12-12 | Dover Microsystems, Inc. | Systems and methods for data lifecycle protection |
WO2020182296A1 (en) * | 2019-03-12 | 2020-09-17 | Huawei Technologies Co., Ltd. | Apparatus and method for enforcing hardware-assisted memory safety |
GB2592069B (en) * | 2020-02-17 | 2022-04-27 | Advanced Risc Mach Ltd | Address calculating instruction |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4087856A (en) * | 1976-06-30 | 1978-05-02 | International Business Machines Corporation | Location dependence for assuring the security of system-control operations |
JPS5783850A (en) * | 1980-11-12 | 1982-05-25 | Mitsubishi Electric Corp | Data processing device |
US4545012A (en) * | 1981-05-22 | 1985-10-01 | Data General Corporation | Access control system for use in a digital computer system with object-based addressing and call and return operations |
US4809160A (en) * | 1985-10-28 | 1989-02-28 | Hewlett-Packard Company | Privilege level checking instruction for implementing a secure hierarchical computer system |
US5107443A (en) * | 1988-09-07 | 1992-04-21 | Xerox Corporation | Private regions within a shared workspace |
GB2260004B (en) * | 1991-09-30 | 1995-02-08 | Apple Computer | Memory management unit for a computer system |
JPH10228421A (ja) * | 1997-02-14 | 1998-08-25 | Nec Ic Microcomput Syst Ltd | メモリアクセス制御回路 |
US6449699B2 (en) * | 1999-03-29 | 2002-09-10 | International Business Machines Corporation | Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems |
US6633963B1 (en) * | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
KR100941104B1 (ko) * | 2002-11-18 | 2010-02-10 | 에이알엠 리미티드 | 데이터 처리 장치, 데이터 처리 방법 및 컴퓨터 프로그램을 기억한 컴퓨터 판독가능한 기억매체 |
US7149862B2 (en) * | 2002-11-18 | 2006-12-12 | Arm Limited | Access control in a data processing apparatus |
JP2004280801A (ja) * | 2003-02-24 | 2004-10-07 | Matsushita Electric Ind Co Ltd | プロセッサおよびこのプロセッサ用のプログラムを生成するコンパイラ装置 |
US20040168047A1 (en) * | 2003-02-24 | 2004-08-26 | Matsushita Electric Industrial Co., Ltd. | Processor and compiler for creating program for the processor |
US7134006B2 (en) * | 2003-06-03 | 2006-11-07 | Gateway Inc. | Method and system for changing software access level within or outside a host protected area |
DE10335643B4 (de) * | 2003-08-04 | 2007-10-31 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Steuern des Zugriffs von mehreren Datenverarbeitungseinrichtungen auf einen Speicher |
US20050262568A1 (en) * | 2004-05-18 | 2005-11-24 | Hansen Mark D | System and method for managing access to protected content by untrusted applications |
-
2007
- 2007-04-03 GB GB0706491A patent/GB2448149B/en active Active
-
2008
- 2008-02-06 US US12/068,448 patent/US8010772B2/en active Active
- 2008-04-02 JP JP2008096484A patent/JP5000573B2/ja active Active
- 2008-04-03 CN CN2008100913211A patent/CN101281459B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
GB0706491D0 (en) | 2007-05-09 |
CN101281459B (zh) | 2012-08-22 |
CN101281459A (zh) | 2008-10-08 |
GB2448149B (en) | 2011-05-18 |
US20080250216A1 (en) | 2008-10-09 |
GB2448149A (en) | 2008-10-08 |
JP2008257735A (ja) | 2008-10-23 |
US8010772B2 (en) | 2011-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5000573B2 (ja) | 保護された関数呼び出し | |
JP4989543B2 (ja) | メモリドメインを基にしたデータ処理システム内のセキュリティ制御 | |
US10838878B2 (en) | Apparatus and method for generating signed bounded pointers | |
US8301856B2 (en) | Restricting memory areas for an instruction read in dependence upon a hardware mode and a security flag | |
US11030344B2 (en) | Apparatus and method for controlling use of bounded pointers | |
CN110532767B (zh) | 面向sgx安全应用的内部隔离方法 | |
JP2023038361A (ja) | 命令セット内の変更を制御する装置及び方法 | |
EP3885950B1 (en) | Shadow stack isa extensions to support fast return and event delivery (fred) architecture | |
EP4205003A1 (en) | Technique for constraining access to memory using capabilities | |
WO2023209323A1 (en) | Exception return state lock parameter | |
TW202319913A (zh) | 用於使用能力限制對記憶體存取之技術 | |
WO2024028565A1 (en) | No-operation-compatible instruction | |
TW202343257A (zh) | 記憶體管理 | |
TW202418067A (zh) | 堆疊指標切換有效性檢查 | |
CN118339542A (zh) | 两阶段地址转换 | |
TW202416122A (zh) | 用以保護影子堆疊之處理器、方法、系統和指令 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120330 |
|
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: 20120417 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120516 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5000573 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150525 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |