JP2021512405A - メモリ・アクセスにおける保護タグ・チェックの制御 - Google Patents
メモリ・アクセスにおける保護タグ・チェックの制御 Download PDFInfo
- Publication number
- JP2021512405A JP2021512405A JP2020540601A JP2020540601A JP2021512405A JP 2021512405 A JP2021512405 A JP 2021512405A JP 2020540601 A JP2020540601 A JP 2020540601A JP 2020540601 A JP2020540601 A JP 2020540601A JP 2021512405 A JP2021512405 A JP 2021512405A
- Authority
- JP
- Japan
- Prior art keywords
- tag
- memory access
- address
- subset
- sequence
- 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.)
- Granted
Links
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 6
- 230000001681 protective effect Effects 0.000 abstract description 15
- 101100456831 Caenorhabditis elegans sams-5 gene Proteins 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000007246 mechanism Effects 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
- 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/1425—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 physical, e.g. cell, word, block
- G06F12/1441—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 physical, e.g. cell, word, block for a range
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
・コードによって提供された配列のインデックスが配列の正当な境界の外側にある場合の、境界違反。
・メモリ位置がすでに割当て解除又は解放された後にそのメモリ位置へのアクセスが行われた場合の、解放後使用エラー。
・関数内で使用される変数(スタック上の値など)に関連付けられたアドレスへのメモリ・アクセスが、関数からすでに戻った後に行われた場合の、リターン後使用。
・変数が宣言されているスコープ外でアクセスされた場合の、スコープ外使用のエラー。
・変数に関連付けられたメモリ・アドレスが、変数が初期化される前にアクセスされた場合の、初期化前使用エラー。
対象アドレスに対応してタグで保護されたメモリ・アクセスを実行するためのメモリ・アクセス回路であって、タグで保護されたメモリ・アクセスが、対象アドレスに関連付けられたアドレス・タグを、対象アドレスによって識別されるアドレス指定された位置を含む1つ又は複数のメモリ位置のブロックに関連付けて記憶されている保護タグと比較する保護タグ・チェックを含む、メモリ・アクセス回路を備え、
メモリ・アクセス回路が、アドレス指定された位置のシーケンスを指定する受信した対象アドレスのシーケンスに応答して、アドレス指定された位置のシーケンスのサブセットに対して保護タグ・チェックを実行しないタグで保護されないメモリ・アクセスを実行する装置を提供する。
対象アドレスに対応してタグで保護されたメモリ・アクセスを実行するステップであって、タグで保護されたメモリ・アクセスが、対象アドレスに関連付けられたアドレス・タグを、対象アドレスによって識別されるアドレス指定された位置を含む1つ又は複数のメモリ位置のブロックに関連付けて記憶されている保護タグと比較する保護タグ・チェックを含む、ステップと、
アドレス指定された位置のシーケンスを指定する受信した対象アドレスのシーケンスに対応して、アドレス指定された位置のシーケンスのサブセットに対して保護タグ・チェックを実行しないタグで保護されないメモリ・アクセスを実行するステップと
を含む方法を提供する。
対象プログラム・コードの命令を実行するための命令実行環境を提供するようにホスト・データ処理装置を制御するためのコンピュータ・プログラムであって、
対象アドレスに対応してタグで保護されたメモリ・アクセスを実行するためのメモリ・アクセス・プログラム・ロジックであって、タグで保護されたメモリ・アクセスが、対象アドレスに関連付けられたアドレス・タグを、対象アドレスによって識別されるアドレス指定された位置を含む1つ又は複数のメモリ位置のブロックに関連付けて記憶されている保護タグと比較する保護タグ・チェックを含む、メモリ・アクセス・プログラム・ロジックを含み、
メモリ・アクセス・プログラム・ロジックが、アドレス指定された位置のシーケンスを指定する受信した対象アドレスのシーケンスに対応して、アドレス指定された位置のシーケンスのサブセットに対して保護タグ・チェックを実行しないタグで保護されないメモリ・アクセスを実行する
コンピュータ・プログラムを提供する。
対象アドレスに対応してタグで保護されたメモリ・アクセスを実行するためのメモリ・アクセス回路であって、タグで保護されたメモリ・アクセスが、対象アドレスに関連付けられたアドレス・タグを、対象アドレスによって識別されるアドレス指定された位置を含む1つ又は複数のメモリ位置のブロックに関連付けて記憶されている保護タグと比較する保護タグ・チェックを含む、メモリ・アクセス回路を備え、
メモリ・アクセス回路が、アドレス指定された位置のシーケンスを指定する受信した対象アドレスのシーケンスに応答して、アドレス指定された位置のシーケンスのサブセットに対して保護タグ・チェックを実行しないタグで保護されないメモリ・アクセスを実行する装置を提供する。
対象アドレスに対応してタグで保護されたメモリ・アクセスを実行するステップであって、タグで保護されたメモリ・アクセスが、対象アドレスに関連付けられたアドレス・タグを、対象アドレスによって識別されるアドレス指定された位置を含む1つ又は複数のメモリ位置のブロックに関連付けて記憶されている保護タグと比較する保護タグ・チェックを含む、ステップと、
アドレス指定された位置のシーケンスを指定する受信した対象アドレスのシーケンスに対応して、アドレス指定された位置のシーケンスのサブセットに対して保護タグ・チェックを実行しないタグで保護されないメモリ・アクセスを実行するステップと
を含む方法を提供する。
対象プログラム・コードの命令を実行するための命令実行環境を提供するようにホスト・データ処理装置を制御するためのコンピュータ・プログラムであって、
対象アドレスに対応してタグで保護されたメモリ・アクセスを実行するためのメモリ・アクセス・プログラム・ロジックであって、タグで保護されたメモリ・アクセスが、対象アドレスに関連付けられたアドレス・タグを、対象アドレスによって識別されるアドレス指定された位置を含む1つ又は複数のメモリ位置のブロックに関連付けて記憶されている保護タグと比較する保護タグ・チェックを含む、メモリ・アクセス・プログラム・ロジックを含み、
メモリ・アクセス・プログラム・ロジックが、アドレス指定された位置のシーケンスを指定する受信した対象アドレスのシーケンスに対応して、アドレス指定された位置のシーケンスのサブセットに対して保護タグ・チェックを実行しないタグで保護されないメモリ・アクセスを実行する
コンピュータ・プログラムを提供する。
Claims (9)
- 対象アドレスに対応してタグで保護されたメモリ・アクセスを実行するためのメモリ・アクセス回路であって、前記タグで保護されたメモリ・アクセスが、前記対象アドレスに関連付けられたアドレス・タグを、前記対象アドレスによって識別されるアドレス指定された位置を含む1つ又は複数のメモリ位置のブロックに関連付けて記憶されている保護タグと比較する保護タグ・チェックを含む、メモリ・アクセス回路を備え、
前記メモリ・アクセス回路が、アドレス指定された位置のシーケンスを指定する受信した対象アドレスのシーケンスに応答して、アドレス指定された位置の前記シーケンスのサブセットに対して前記保護タグ・チェックを実行しないタグで保護されないメモリ・アクセスを実行する
装置。 - サブセット構成のデータ記憶装置を備え、前記サブセットが、前記サブセット構成のデータ記憶装置に記憶されているサブセット構成データによって定義される、請求項1に記載の装置。
- 前記サブセット構成のデータ記憶装置が、構成レジスタである、請求項2に記載の装置。
- 前記サブセット構成データが割合を定義し、前記メモリ・アクセス回路が、前記サブセット構成データに応答して、アドレス指定された位置の前記シーケンスの前記サブセットが前記割合に相当するように、前記タグで保護されないメモリ・アクセスを選択的に実行する、請求項2又は請求項3に記載の装置。
- 前記サブセット構成データが整数値を定義し、前記メモリ・アクセス回路が、前記サブセット構成データに応答して、アドレス指定された位置の前記シーケンス内の前記整数値の序数の倍数に相当するアドレス指定された位置に対して、前記タグで保護されないメモリ・アクセスを実行する、請求項2又は請求項3に記載の装置。
- 前記サブセット構成データが目標値を定義し、前記メモリ・アクセス回路が、前記サブセット構成データに応答して、アドレス指定された位置の前記シーケンスの前記サブセットが所定の期間にわたって前記目標値に統計的に相当するように、前記タグで保護されないメモリ・アクセスを実行する、請求項2又は請求項3に記載の装置。
- 対象アドレスに対応してタグで保護されたメモリ・アクセスを実行するステップであって、前記タグで保護されたメモリ・アクセスが、前記対象アドレスに関連付けられたアドレス・タグを、前記対象アドレスによって識別されるアドレス指定された位置を含む1つ又は複数のメモリ位置のブロックに関連付けて記憶されている保護タグと比較する保護タグ・チェックを含む、ステップと、
アドレス指定された位置のシーケンスを指定する受信した対象アドレスのシーケンスに対応して、アドレス指定された位置の前記シーケンスのサブセットに対して前記保護タグ・チェックを実行しないタグで保護されないメモリ・アクセスを実行するステップと
を含む方法。 - 対象プログラム・コードの命令を実行するための命令実行環境を提供するようにホスト・データ処理装置を制御するためのコンピュータ・プログラムであって、
対象アドレスに対応してタグで保護されたメモリ・アクセスを実行するためのメモリ・アクセス・プログラム・ロジックであって、前記タグで保護されたメモリ・アクセスが、前記対象アドレスに関連付けられたアドレス・タグを、前記対象アドレスによって識別されるアドレス指定された位置を含む1つ又は複数のメモリ位置のブロックに関連付けて記憶されている保護タグと比較する保護タグ・チェックを含む、メモリ・アクセス・プログラム・ロジックを含み、
前記メモリ・アクセス・プログラム・ロジックが、アドレス指定された位置のシーケンスを指定する受信した対象アドレスのシーケンスに対応して、アドレス指定された位置の前記シーケンスのサブセットに対して前記保護タグ・チェックを実行しないタグで保護されないメモリ・アクセスを実行する
コンピュータ・プログラム。 - 請求項8に記載のコンピュータ・プログラムを記憶する記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1801750.9A GB2570692B (en) | 2018-02-02 | 2018-02-02 | Controlling guard tag checking in memory accesses |
GB1801750.9 | 2018-02-02 | ||
PCT/GB2019/050191 WO2019150078A1 (en) | 2018-02-02 | 2019-01-23 | Controlling guard tag checking in memory accesses |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021512405A true JP2021512405A (ja) | 2021-05-13 |
JP7349437B2 JP7349437B2 (ja) | 2023-09-22 |
Family
ID=61730975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020540601A Active JP7349437B2 (ja) | 2018-02-02 | 2019-01-23 | メモリ・アクセスにおける保護タグ・チェックの制御 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11397541B2 (ja) |
EP (1) | EP3746900B1 (ja) |
JP (1) | JP7349437B2 (ja) |
KR (1) | KR20200116473A (ja) |
CN (1) | CN111566628A (ja) |
GB (1) | GB2570692B (ja) |
IL (1) | IL275873B2 (ja) |
TW (1) | TWI787451B (ja) |
WO (1) | WO2019150078A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2578924B (en) | 2018-11-14 | 2021-09-29 | Advanced Risc Mach Ltd | An apparatus and method for controlling memory accesses |
US10855529B2 (en) * | 2018-11-26 | 2020-12-01 | Stmicroelectronics Application Gmbh | Processing system, related integrated circuit, device and method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013140446A (ja) * | 2011-12-28 | 2013-07-18 | Fujitsu Ltd | 情報処理装置および不正アクセス防止方法 |
US20170177429A1 (en) * | 2015-12-21 | 2017-06-22 | Tomer Stark | Hardware apparatuses and methods for memory corruption detection |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10228421A (ja) * | 1997-02-14 | 1998-08-25 | Nec Ic Microcomput Syst Ltd | メモリアクセス制御回路 |
TWI332626B (en) | 2007-02-01 | 2010-11-01 | Te An Wang | A reducing btb target address field bits method |
GB2460393B (en) * | 2008-02-29 | 2012-03-28 | Advanced Risc Mach Ltd | A data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuitry |
US8656121B2 (en) * | 2011-05-17 | 2014-02-18 | International Business Machines Corporation | Facilitating data coherency using in-memory tag bits and tag test instructions |
WO2013101246A1 (en) * | 2011-12-31 | 2013-07-04 | Intel Corporation | Processor that detects when system management mode attempts to reach program code outside of protected space |
US20130275699A1 (en) * | 2012-03-23 | 2013-10-17 | Hicamp Systems, Inc. | Special memory access path with segment-offset addressing |
GB2522906B (en) * | 2014-02-10 | 2021-07-14 | Advanced Risc Mach Ltd | Region identifying operation for identifying a region of a memory attribute unit corresponding to a target memory address |
EP3195178B1 (en) * | 2014-07-23 | 2019-02-20 | GrammaTech, Inc. | Systems and/or methods for automatically protecting against memory corruption vulnerabilities |
US9619313B2 (en) * | 2015-06-19 | 2017-04-11 | Intel Corporation | Memory write protection for memory corruption detection architectures |
GB2544315B (en) | 2015-11-12 | 2018-02-14 | Advanced Risc Mach Ltd | An apparatus and method for controlling use of bounded pointers |
GB2549511B (en) * | 2016-04-20 | 2019-02-13 | Advanced Risc Mach Ltd | An apparatus and method for performing operations on capability metadata |
-
2018
- 2018-02-02 GB GB1801750.9A patent/GB2570692B/en active Active
-
2019
- 2019-01-23 IL IL275873A patent/IL275873B2/en unknown
- 2019-01-23 WO PCT/GB2019/050191 patent/WO2019150078A1/en unknown
- 2019-01-23 US US16/647,742 patent/US11397541B2/en active Active
- 2019-01-23 KR KR1020207023395A patent/KR20200116473A/ko active Search and Examination
- 2019-01-23 JP JP2020540601A patent/JP7349437B2/ja active Active
- 2019-01-23 CN CN201980007779.0A patent/CN111566628A/zh active Pending
- 2019-01-23 EP EP19702679.2A patent/EP3746900B1/en active Active
- 2019-02-01 TW TW108104111A patent/TWI787451B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013140446A (ja) * | 2011-12-28 | 2013-07-18 | Fujitsu Ltd | 情報処理装置および不正アクセス防止方法 |
US20170177429A1 (en) * | 2015-12-21 | 2017-06-22 | Tomer Stark | Hardware apparatuses and methods for memory corruption detection |
Also Published As
Publication number | Publication date |
---|---|
JP7349437B2 (ja) | 2023-09-22 |
EP3746900B1 (en) | 2023-08-09 |
US11397541B2 (en) | 2022-07-26 |
TW201941064A (zh) | 2019-10-16 |
GB2570692B (en) | 2020-09-09 |
IL275873B2 (en) | 2024-03-01 |
IL275873A (en) | 2020-08-31 |
GB201801750D0 (en) | 2018-03-21 |
US20200225872A1 (en) | 2020-07-16 |
CN111566628A (zh) | 2020-08-21 |
WO2019150078A1 (en) | 2019-08-08 |
GB2570692A (en) | 2019-08-07 |
TWI787451B (zh) | 2022-12-21 |
EP3746900A1 (en) | 2020-12-09 |
KR20200116473A (ko) | 2020-10-12 |
IL275873B1 (en) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022503562A (ja) | 範囲チェック命令 | |
US11138128B2 (en) | Controlling guard tag checking in memory accesses | |
TWI812798B (zh) | 用於控制記憶體存取的裝置及方法 | |
JP7349437B2 (ja) | メモリ・アクセスにおける保護タグ・チェックの制御 | |
KR20230017832A (ko) | Tag 체킹 장치 및 방법 | |
US11327903B2 (en) | Multiple guard tag setting instruction | |
US11636048B2 (en) | Handling guard tag loss | |
JP7369720B2 (ja) | アクションをトリガするための装置及び方法 | |
WO2023175289A1 (en) | Read-as-x property for page of memory address space |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230622 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230628 |
|
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: 20230818 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230911 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7349437 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |