JP7456570B2 - 権限横断リニアプローブに対する防護のためのシステム、方法および装置 - Google Patents
権限横断リニアプローブに対する防護のためのシステム、方法および装置 Download PDFInfo
- Publication number
- JP7456570B2 JP7456570B2 JP2020533106A JP2020533106A JP7456570B2 JP 7456570 B2 JP7456570 B2 JP 7456570B2 JP 2020533106 A JP2020533106 A JP 2020533106A JP 2020533106 A JP2020533106 A JP 2020533106A JP 7456570 B2 JP7456570 B2 JP 7456570B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- address
- linear
- address space
- partition
- 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
- 239000000523 sample Substances 0.000 title claims description 46
- 238000000034 method Methods 0.000 title claims description 26
- 238000005192 partition Methods 0.000 claims description 34
- 239000000872 buffer Substances 0.000 claims description 8
- 238000013519 translation Methods 0.000 claims description 8
- 230000015654 memory Effects 0.000 description 59
- 238000010586 diagram Methods 0.000 description 23
- 238000007667 floating Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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/1052—Security improvement
Description
装置であって、現在の権限レベルを格納するための権限レベルストレージと、権限レベルストレージに結合されたアドレスチェック回路であって、命令に関連付けられたリニアアドレスが装置のリニアアドレス空間の区分へアクセスすることを許可されるかどうかを、現在の権限レベルとリニアアドレスの最上位ビットとの比較に基づいて決定するためのアドレスチェック回路と、リニアアドレスが許可されるときにリニアアドレスから物理アドレスを生成するためのアドレス生成回路とを備える装置。
リニアアドレス空間がスーパバイザアドレス空間区分およびユーザアドレス空間区分を含む、例1の装置。
リニアアドレスの最上位ビットが「1」であるとき、リニアアドレス空間の区分はスーパバイザアドレス空間である、例2に記載の装置。
リニアアドレスの最上位ビットが「0」であるとき、リニアアドレス空間の区分はスーパバイザアドレス空間である、例2に記載の装置。
複数のセグメントレジスタを更に備え、命令に関連付けられたリニアアドレスが、複数のセグメントレジスタの1つのアクセスに向けられるとき、アドレスチェック回路は、アクセスを許可する、例1から4のいずれか一項に記載の装置。
バイパス範囲を格納するためのバイパス範囲レジスタを更に備え、命令に関連付けられたリニアアドレスがバイパス範囲におけるリニアアドレスへのアクセスに向けられる場合、アドレスチェック回路は、アクセスを許可する、例1から5のいずれか一項に記載の装置。
区分へのアクセスが許可されていない場合、アドレスチェック回路は、プリフェッチ、キャッシュラインデモーションおよび投機的アクセスをキャンセルさせる、例1から6のいずれか一項に記載の装置。
区分へのアクセスが許可されていない場合、アドレスチェック回路は、非投機的アクセスのフォールトを生成する、例1から7のいずれか一項に記載の装置。
区分へのアクセスが許可されていない場合、アドレス生成回路は、トランスレーションルックアサイドバッファまたはデータキャッシュルックアップを実行しない、例1から8のいずれか一項に記載の装置。
アドレスチェック回路は、リニアアドレス空間へのアクセスが許可されるかどうかを決定するために実行されるステートマシンを更に含む、例1から9のいずれか一項に記載の装置。
装置であって、現在の権限レベルを格納するための権限レベルストレージと、権限レベルストレージに結合されたアドレスチェック回路であって、プローブに関連付けられたリニアアドレスが装置のリニアアドレス空間の区分へアクセスすることを許可されるかどうかを、現在の権限レベルとリニアアドレスの最上位ビットとの比較に基づいて決定するためのプローブチェック回路と、を備える装置。
リニアアドレス空間がスーパバイザアドレス空間区分およびユーザアドレス空間区分を含む、例11の装置。
リニアアドレスの最上位ビットが「1」であるとき、リニアアドレス空間の区分はスーパバイザアドレス空間である、例12に記載の装置。
リニアアドレスの最上位ビットが「0」であるとき、リニアアドレス空間の区分はスーパバイザアドレス空間である、例12に記載の装置。
複数のセグメントレジスタを更に備え、プローブに関連付けられたリニアアドレスが複数のセグメントレジスタの1つのアクセスに向けられる場合、プローブチェック回路はアクセスを許可する、例11から14のいずれか一項に記載の装置。
区分へのアクセスが許可されていない場合、アドレスチェック回路は投機的アクセスをキャンセルさせる、例11から15のいずれか一項に記載の装置。
区分へのアクセスが可能されていない場合、プローブチェック回路は、非投機的アクセスのフォールトを生成する、例11から16のいずれか一項に記載の装置。
区分へのアクセスが許可されていない場合、トランスレーションルックアサイドバッファまたは命令キャッシュルックアップが無い、例11から17のいずれか一項に記載の装置。
プローブチェック回路は、リニアアドレス空間へのアクセスが許可されるかどうかを決定するために実行されるステートマシンを更に含む、例11から18のいずれか一項に記載の装置。
プローブチェック回路は、プロセッサコアのフロントエンドの一部である、例11から19のいずれか一項に記載の装置。
Claims (20)
- 装置であって、
現在の権限レベルを格納するための権限レベルストレージと、
前記権限レベルストレージに結合されたアドレスチェック回路であって、命令に関連付けられたリニアアドレスが前記装置のリニアアドレス空間の区分へアクセスすることを許可されるかどうかを、前記現在の権限レベルと前記リニアアドレスの最上位ビットとの比較に基づいて決定するためのアドレスチェック回路と、
前記リニアアドレスが許可されるときに前記リニアアドレスから物理アドレスを生成するためのアドレス生成回路と
を備える装置。 - 前記リニアアドレス空間は、スーパバイザアドレス空間区分およびユーザアドレス空間区分を含む、請求項1に記載の装置。
- 前記リニアアドレスの前記最上位ビットが「1」であるとき、前記リニアアドレス空間の区分はスーパバイザアドレス空間である、請求項2に記載の装置。
- 前記リニアアドレスの前記最上位ビットが「0」であるとき、前記リニアアドレス空間の区分はスーパバイザアドレス空間である、請求項2に記載の装置。
- 複数のセグメントレジスタを更に備え、命令に関連付けられた前記リニアアドレスが前記複数のセグメントレジスタの1つのアクセスに向けられるとき、前記アドレスチェック回路は、前記アクセスを許可する、請求項1から4のいずれか一項に記載の装置。
- バイパス範囲を格納するためのバイパス範囲レジスタを更に備え、命令に関連付けられた前記リニアアドレスが前記バイパス範囲におけるリニアアドレスへのアクセスに向けられる場合、前記アドレスチェック回路は、前記アクセスを許可する、請求項1から5のいずれか一項に記載の装置。
- 区分へのアクセスが許可されていない場合、前記アドレスチェック回路は、プリフェッチ、キャッシュラインデモーションおよび投機的アクセスをキャンセルさせる、請求項1から6のいずれか一項に記載の装置。
- 区分へのアクセスが許可されていない場合、前記アドレスチェック回路は、非投機的アクセスのフォールトを生成する、請求項1から6のいずれか一項に記載の装置。
- 区分へのアクセスが許可されていない場合、前記アドレス生成回路は、トランスレーションルックアサイドバッファまたはデータキャッシュルックアップを実行しない、請求項1から6のいずれか一項に記載の装置。
- 前記アドレスチェック回路は、リニアアドレス空間へのアクセスが許可されるかどうかを決定するために実行されるステートマシンを更に含む、請求項1から9のいずれか一項に記載の装置。
- 装置であって、
現在の権限レベルを格納するための権限レベルストレージと、
前記権限レベルストレージに結合されたアドレスチェック回路であって、プローブに関連付けられたリニアアドレスが前記装置のリニアアドレス空間の区分へアクセスすることを許可されるかどうかを、前記現在の権限レベルと前記リニアアドレスの最上位ビットとの比較に基づいて決定するためのプローブチェック回路と
を備える装置。 - 前記リニアアドレス空間は、スーパバイザアドレス空間区分およびユーザアドレス空間区分を含む、請求項11に記載の装置。
- 前記リニアアドレスの前記最上位ビットが「1」であるとき、前記リニアアドレス空間の区分はスーパバイザアドレス空間である、請求項12に記載の装置。
- 前記リニアアドレスの前記最上位ビットが「0」であるとき、前記リニアアドレス空間の区分はスーパバイザアドレス空間である、請求項12に記載の装置。
- 複数のセグメントレジスタを更に備え、前記プローブに関連付けられた前記リニアアドレスが前記複数のセグメントレジスタの1つのアクセスに向けられる場合、前記プローブチェック回路は前記アクセスを許可する、請求項11から14のいずれか一項に記載の装置。
- 区分へのアクセスが許可されていない場合、前記アドレスチェック回路は投機的アクセスをキャンセルさせる、請求項11から15のいずれか一項に記載の装置。
- 区分へのアクセスが可能されていない場合、前記プローブチェック回路は、非投機的アクセスのフォールトを生成する、請求項11から16のいずれか一項に記載の装置。
- 区分へのアクセスが許可されていない場合、トランスレーションルックアサイドバッファまたは命令キャッシュルックアップが無い、請求項11から17のいずれか一項に記載の装置。
- 前記プローブチェック回路は、リニアアドレス空間へのアクセスが許可されるかどうかを決定するために実行されるステートマシンを更に含む、請求項11から18のいずれか一項に記載の装置。
- 前記プローブチェック回路は、プロセッサコアのフロントエンドの一部である、請求項11から19のいずれか一項に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/934,916 US10831679B2 (en) | 2018-03-23 | 2018-03-23 | Systems, methods, and apparatuses for defending against cross-privilege linear probes |
US15/934,916 | 2018-03-23 | ||
PCT/US2019/022238 WO2019182855A1 (en) | 2018-03-23 | 2019-03-14 | Systems, methods, and apparatuses for defending against cross-privilege linear probes |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021516378A JP2021516378A (ja) | 2021-07-01 |
JPWO2019182855A5 JPWO2019182855A5 (ja) | 2022-01-28 |
JP7456570B2 true JP7456570B2 (ja) | 2024-03-27 |
Family
ID=67985110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020533106A Active JP7456570B2 (ja) | 2018-03-23 | 2019-03-14 | 権限横断リニアプローブに対する防護のためのシステム、方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10831679B2 (ja) |
EP (1) | EP3769249A4 (ja) |
JP (1) | JP7456570B2 (ja) |
CN (1) | CN111512309A (ja) |
WO (1) | WO2019182855A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188169A1 (en) | 2002-03-27 | 2003-10-02 | Strongin Geoffrey S. | System and method for controlling device-to-device accesses within a computer system |
US20140365742A1 (en) | 2013-06-05 | 2014-12-11 | Baiju V. Patel | Systems and methods for preventing unauthorized stack pivoting |
US20180067866A1 (en) | 2016-09-08 | 2018-03-08 | Intel Corporation | Translate on virtual machine entry |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5140684A (en) | 1987-09-30 | 1992-08-18 | Mitsubishi Denki Kabushiki Kaisha | Access privilege-checking apparatus and method |
US5623636A (en) | 1993-11-09 | 1997-04-22 | Motorola Inc. | Data processing system and method for providing memory access protection using transparent translation registers and default attribute bits |
US6516395B1 (en) | 1997-11-20 | 2003-02-04 | Advanced Micro Devices, Inc. | System and method for controlling access to a privilege-partitioned address space with a fixed set of attributes |
US8051301B2 (en) | 2001-11-13 | 2011-11-01 | Advanced Micro Devices, Inc. | Memory management system and method providing linear address based memory access security |
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 |
-
2018
- 2018-03-23 US US15/934,916 patent/US10831679B2/en active Active
-
2019
- 2019-03-14 CN CN201980006618.XA patent/CN111512309A/zh active Pending
- 2019-03-14 EP EP19772324.0A patent/EP3769249A4/en active Pending
- 2019-03-14 JP JP2020533106A patent/JP7456570B2/ja active Active
- 2019-03-14 WO PCT/US2019/022238 patent/WO2019182855A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188169A1 (en) | 2002-03-27 | 2003-10-02 | Strongin Geoffrey S. | System and method for controlling device-to-device accesses within a computer system |
US20140365742A1 (en) | 2013-06-05 | 2014-12-11 | Baiju V. Patel | Systems and methods for preventing unauthorized stack pivoting |
US20180067866A1 (en) | 2016-09-08 | 2018-03-08 | Intel Corporation | Translate on virtual machine entry |
Also Published As
Publication number | Publication date |
---|---|
EP3769249A4 (en) | 2021-12-15 |
JP2021516378A (ja) | 2021-07-01 |
WO2019182855A1 (en) | 2019-09-26 |
EP3769249A1 (en) | 2021-01-27 |
US10831679B2 (en) | 2020-11-10 |
CN111512309A (zh) | 2020-08-07 |
US20190294559A1 (en) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11645135B2 (en) | Hardware apparatuses and methods for memory corruption detection | |
US10078519B2 (en) | Apparatus and method for accelerating operations in a processor which uses shared virtual memory | |
EP3550437B1 (en) | Adaptive spatial access prefetcher apparatus and method | |
US10108554B2 (en) | Apparatuses, methods, and systems to share translation lookaside buffer entries | |
US20140189192A1 (en) | Apparatus and method for a multiple page size translation lookaside buffer (tlb) | |
US11809549B2 (en) | Apparatus and method for power virus protection in a processor | |
US10877788B2 (en) | Processing vectorized guest physical address translation instructions | |
US10503662B2 (en) | Systems, apparatuses, and methods for implementing temporary escalated privilege | |
JP2021057005A (ja) | プロセッサのノンライトバック機能のための装置、方法、およびシステム | |
EP3109754A1 (en) | Systems, methods, and apparatuses for improving performance of status dependent computations | |
US20200409849A1 (en) | Systems and methods for mitigating dram cache conflicts through hardware assisted redirection of pages (harp) | |
US11615031B2 (en) | Memory management apparatus and method for managing different page tables for different privilege levels | |
JP7456570B2 (ja) | 権限横断リニアプローブに対する防護のためのシステム、方法および装置 | |
US20200210186A1 (en) | Apparatus and method for non-spatial store and scatter instructions | |
TWI830927B (zh) | 用於處理器非回寫能力的設備、方法、及非暫時性機器可讀取媒體 | |
US20220414022A1 (en) | Apparatus, system, and method for secure memory access control | |
EP3798824A1 (en) | Apparatus and method for store pairing with reduced hardware requirements | |
US11275588B2 (en) | Context save with variable save state size | |
WO2022271143A1 (en) | Inter-cluster shared data management in sub-numa cluster | |
JPWO2019182855A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220119 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230509 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230605 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230829 |
|
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: 20240213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240301 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7456570 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |