JP2015018552A - 安全保護方法およびプロセッサ - Google Patents
安全保護方法およびプロセッサ Download PDFInfo
- Publication number
- JP2015018552A JP2015018552A JP2014139536A JP2014139536A JP2015018552A JP 2015018552 A JP2015018552 A JP 2015018552A JP 2014139536 A JP2014139536 A JP 2014139536A JP 2014139536 A JP2014139536 A JP 2014139536A JP 2015018552 A JP2015018552 A JP 2015018552A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- isa
- security
- security check
- processor
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】安全保護方法は、以下のステップを含む。命令の命令セキュリティ属性(ISA)および操作イベント(OE)のセキュリティ属性(SA)に基づいて、命令を実行する前または後に、セキュリティチェックを行う。セキュリティチェックが失敗した時に、OEを無視する、または、OEを延期する、または、セキュリティ例外を起こす。OEは、プロセッサが命令をフェッチまたは実行した時の副作用として生成される、または、命令の監視結果として生成される、または、プロセッサの外部入力に応答して生成される。
【選択図】図1
Description
110 命令フェッチアドレス発生器
120 命令フェッチユニット
130 操作リソースアドレス発生器
140 命令操作ユニット
150 操作イベント発生器
160 セキュリティチェックユニット
170 セキュリティルックアップ項目ユニット
180 セキュリティ例外ユニット
200 アドレス空間
310〜950 ステップ
A0〜A7 アドレス
ISA 命令セキュリティ属性
SA セキュリティ属性
SLE0〜SLE3 セキュリティルックアップ項目
Claims (30)
- プロセッサによって実行される安全保護方法であって、
第1命令の命令セキュリティ属性(ISA)および操作イベント(OE)のセキュリティ属性(SA)に基づいて、前記第1命令を実行する前または後に第1セキュリティチェックを行い、前記OEが、前記プロセッサが前記第1命令をフェッチまたは実行した時の副作用として生成される、または、前記第1命令の監視結果として生成される、または、前記プロセッサの外部入力に応答して生成されるステップと、
第1セキュリティチェックが失敗した時に、前記OEを無視する、または、前記OEを延期する、または、セキュリティ例外を起こすステップと
を含む安全保護方法。 - 第2セキュリティチェック、第3セキュリティチェックおよび第4セキュリティチェックのうちの少なくとも1つを行うステップと、
前記第2セキュリティチェックが、前記第1命令の前記ISAおよび前記第1命令によってアクセスされた操作リソースのSAに基づいて行われ、
前記第3セキュリティチェックが、前記第1命令がセキュリティサービス命令である時に行われるとともに、前記第3セキュリティチェックが、前記第1命令の前記ISAおよびコードSAに基づいて行われ、
前記第4セキュリティチェックが、前記第1命令の前記ISAおよび第2命令のISAに基づいて行われ、前記プロセッサが、前記プロセッサが前記第1命令をフェッチした後すぐに前記第2命令をフェッチし、
前記第2セキュリティチェック、前記第3セキュリティチェックおよび前記第4セキュリティチェックのうちのいずれかが失敗した時に、前記セキュリティ例外を起こすステップと
をさらに含む請求項1に記載の安全保護方法。 - 前記第1命令の前記ISAが前記OEの前記SAよりも安全である時、前記第1セキュリティチェックが失敗し、
前記第1命令の前記ISAが前記操作リソースの前記SAよりも安全ではない時、または、前記第1命令の前記ISAが前記操作リソースの前記SAと同等に安全であり、且つ前記第1命令の前記ISAに関連するグループIDが前記操作リソースの前記SAに関連するグループIDと異なる時に、前記第2セキュリティチェックが失敗し、
前記第1命令の前記ISAが前記第1命令の前記コードSAよりも安全ではない時に、前記第3セキュリティチェックが失敗し、
前記第1命令の前記ISAが前記第2命令の前記ISAよりも安全ではない時、または、前記第1命令の前記ISAが前記第2命令の前記ISAと同等に安全であり、且つ前記第1命令の前記ISAに関連する前記グループIDが前記第2命令の前記ISAに関連するグループIDと異なる時に、前記第4セキュリティチェックが失敗する請求項2に記載の安全保護方法。 - 前記操作リソースが、前記プロセッサの内部記憶装置または外部インターフェースにマッピングされ、前記第1命令がデータの読み出しまたは書き込みを行うロード/保存アドレス空間(LSAS)にアドレス指定されたデータ、前記プロセッサのレジスター、または、前記プロセッサによって保存またはアクセスされた複数のセキュリティルックアップ項目(SLE)のうちの1つであり、前記各SLEが、前記LSASまたは命令フェッチアドレス空間(IFAS)の領域を記録して、前記プロセッサが前記IFASから前記第1命令および前記第2命令をフェッチするとともに、前記各SLEが、さらに、前記領域に関連するSAを記録する請求項2に記載の安全保護方法。
- 前記第1命令のフェッチアドレスをカバーする領域を有する前記SLEの1つから前記第1命令の前記ISAを取得するステップと、
前記第2命令のフェッチアドレスをカバーする領域を有する前記SLEの1つから前記第2命令の前記ISAを取得するステップと、
前記データのアドレスをカバーする領域を有する前記SLEの1つから前記LSASにおいてアドレス指定された前記データの前記SAを取得するステップと
をさらに含む請求項4に記載の安全保護方法。 - ホストデバッグモードにおいて前記プロセッサによってフェッチされた命令が、前記SLEのうちの特殊SLEの前記SAを用いてタグ付けされ、前記特殊SLEが、前記ホストデバッグモードに単独で使用される請求項4に記載の安全保護方法。
- 前記プロセッサが、複数のSLEを保存またはアクセスし、前記各SLEが、SAを含むとともに、前記各SLEが、インデックスに関連し、前記安全保護方法が、さらに、
前記OEのインデックスと一致するインデックスを有する前記SLEのうちの1つから前記OEの前記SAを取得するステップと、
前記操作リソースのインデックスと一致するインデックスを有する前記SLEのうちの1つから前記操作リソースの前記SAを取得するステップと、
前記第1命令のインデックスと一致するインデックスを有する前記SLEのうちの1つから前記第1命令の前記コードSAを取得するステップと
を含み、前記第1命令の前記インデックスが、前記第1命令の命令コード、前記第1命令のオペランドおよび前記第1命令の前記ISAに関連するグループIDのうちの少なくとも1つから引き出される請求項2に記載の安全保護方法。 - 前記セキュリティ例外に応答して、前記プロセッサをリセットする、または、前記プロセッサを停止する、または、トラップを送信して前記プロセッサが前記セキュリティ例外を処理するステップをさらに含む請求項1に記載の安全保護方法。
- IFASから第1命令をフェッチする命令フェッチユニットと、
前記命令フェッチユニットに連結され、前記第1命令を実行する命令操作ユニットと、
前記命令フェッチユニットおよび前記命令操作ユニットに連結され、前記命令フェッチユニットが前記第1命令をフェッチした時、または、前記命令操作ユニットが前記第1命令を実行した時の副作用として、あるいは、前記第1命令の監視結果として、あるいは、プロセッサの外部入力に応答して、OEを生成するOE発生器と、
前記命令フェッチユニット、前記命令操作ユニットおよび前記OE発生器に連結され、前記命令操作ユニットが前記第1命令のISAおよび前記OEのSAに基づいて前記第1命令を実行する前または後に第1セキュリティチェックを行うセキュリティチェックユニットと
を含み、前記OE発生器が、前記第1セキュリティチェックが失敗した時に、前記OEを無視する、または、前記OEを延期する、または、セキュリティ例外を起こすプロセッサ。 - 前記命令フェッチユニットに連結され、前記第1命令および第2命令のフェッチアドレスを生成し、前記命令フェッチユニットが、前記命令フェッチユニットが前記第1命令をフェッチした後すぐに前記第2命令をフェッチする命令フェッチアドレス発生器と、
前記命令フェッチユニットおよび前記命令操作ユニットに連結され、前記第1命令によってアクセスされた操作リソースに関連するデータアドレスまたはインデックスを生成し、前記セキュリティチェックユニットが、さらに、第2セキュリティチェック、第3セキュリティチェックおよび/または第4セキュリティチェックを行う操作リソースアドレス発生器と
をさらに含み、前記第2セキュリティチェックが、前記第1命令の前記ISAおよび前記データアドレスまたは前記インデックスに基づいて得られる前記操作リソースのSAに基づいて行われ、
前記第3セキュリティチェックが、前記第1命令がセキュリティサービス命令である時に行われるとともに、前記第3セキュリティチェックが、前記第1命令の前記ISAおよびコードSAに基づいて行われ、
前記第4セキュリティチェックが、前記第1命令の前記ISAおよび前記第2命令のISAに基づいて行われ、
前記セキュリティチェックユニットが、前記第2セキュリティチェック、前記第3セキュリティチェックおよび前記第4セキュリティチェックのうちのいずれかが失敗した時に、前記セキュリティ例外を起こす請求項9に記載のプロセッサ。 - 前記第1命令の前記ISAが前記OEの前記SAよりも安全である時、前記第1セキュリティチェックが失敗し、
前記第1命令の前記ISAが前記操作リソースの前記SAよりも安全ではない時、または、前記第1命令の前記ISAが前記操作リソースの前記SAと同等に安全であり、且つ前記第1命令の前記ISAに関連するグループIDが前記操作リソースの前記SAに関連するグループIDと異なる時に、前記第2セキュリティチェックが失敗し、
前記第1命令の前記ISAが前記第1命令の前記コードSAよりも安全ではない時に、前記第3セキュリティチェックが失敗し、
前記第1命令の前記ISAが前記第2命令の前記ISAよりも安全ではない時、または、前記第1命令の前記ISAが前記第2命令の前記ISAと同等に安全であり、且つ前記第1命令の前記ISAに関連する前記グループIDが前記第2命令の前記ISAに関連するグループIDと異なる時に、前記第4セキュリティチェックが失敗する請求項10に記載のプロセッサ。 - 前記操作リソースが、前記プロセッサの内部記憶装置または外部インターフェースにマッピングされ、前記第1命令がデータの読み出しまたは書き込みを行うLSASにアドレス指定されたデータ、前記プロセッサのレジスター、または複数のSLEのうちの1つであり、前記プロセッサが、さらに、
前記命令フェッチアドレス発生器、前記命令フェッチユニット、前記操作リソースアドレス発生器、前記OE発生器および前記セキュリティチェックユニットに連結され、前記複数のSLEを提供するSLEユニットを含み、前記各SLEが、前記LSASまたは前記IFASの領域を記録して、前記プロセッサが前記IFASから前記第1命令および前記第2命令をフェッチするとともに、前記各SLEが、さらに、前記領域に関連するSAを記録する請求項10に記載のプロセッサ。 - 前記命令フェッチユニットが、前記第1命令の前記フェッチアドレスをカバーする領域を有する前記SLEの1つから前記第1命令の前記ISAを取得し、前記命令フェッチユニットが、前記第2命令の前記フェッチアドレスをカバーする領域を有する前記SLEの1つから前記第2命令の前記ISAを取得し、前記セキュリティチェックユニットが、前記データのアドレスをカバーする領域を有する前記SLEの1つから前記LSASにおいてアドレス指定された前記データの前記SAを取得する請求項12に記載のプロセッサ。
- ホストデバッグモードにおいて前記命令フェッチユニットによってフェッチされた命令が、前記SLEのうちの特殊SLEの前記SAを用いてタグ付けされ、前記特殊SLEが、前記ホストデバッグモードに単独で使用される請求項12に記載のプロセッサ。
- 前記命令フェッチアドレス発生器、前記命令フェッチユニット、前記操作リソースアドレス発生器、前記OE発生器および前記セキュリティチェックユニットに連結され、複数のSLEを提供するSLEユニットをさらに含み、前記各SLEが、SAを含むとともに、前記各SLEが、インデックスに関連し、前記セキュリティチェックユニットが、前記OEのインデックスと一致するインデックスを有する前記SLEのうちの1つから前記OEの前記SAを取得し、および、前記操作リソースのインデックスと一致するインデックスを有する前記SLEのうちの1つから前記操作リソースの前記SAを取得し、および、前記第1命令のインデックスと一致するインデックスを有する前記SLEのうちの1つから前記第1命令の前記コードSAを取得し、前記第1命令の前記インデックスが、前記第1命令の命令コード、前記第1命令のオペランドおよび前記第1命令の前記ISAに関連するグループIDのうちの少なくとも1つから引き出される請求項10に記載のプロセッサ。
- 前記セキュリティチェックユニットに連結され、前記セキュリティ例外に応答して、前記プロセッサをリセットする、または、前記プロセッサを停止する、または、トラップを送信して前記プロセッサが前記セキュリティ例外を処理するセキュリティ例外ユニット
をさらに含む請求項9に記載のプロセッサ。 - プロセッサによって実行され、
第1命令がセキュリティサービス命令である時に、前記第1命令のISAおよびコードSAに基づいて、第1セキュリティチェックを行うステップと、
前記第1セキュリティチェックが失敗した時に、セキュリティ例外を起こすステップと
を含む安全保護方法。 - 第2セキュリティチェックおよび第3セキュリティチェックのうちの少なくとも1つを行うステップと、
前記第2セキュリティチェックが、前記第1命令の前記ISAおよび前記第1命令によってアクセスされた操作リソースのSAに基づいて行われ、
前記第3セキュリティチェックが、前記第1命令の前記ISAおよび第2命令のISAに基づいて行われ、前記プロセッサが、前記プロセッサが前記第1命令をフェッチした後すぐに前記第2命令をフェッチし、
前記第2セキュリティチェックおよび前記第3セキュリティチェックのうちのいずれかが失敗した時に、前記セキュリティ例外を起こすステップと
をさらに含む請求項17に記載の安全保護方法。 - 前記第1命令の前記ISAが前記第1命令の前記コードSAよりも安全ではない時、前記第1セキュリティチェックが失敗し、
前記第1命令の前記ISAが前記操作リソースの前記SAよりも安全ではない時、または、前記第1命令の前記ISAが前記操作リソースの前記SAと同等に安全であり、且つ前記第1命令の前記ISAに関連するグループIDが前記操作リソースの前記SAに関連するグループIDと異なる時に、前記第2セキュリティチェックが失敗し、
前記第1命令の前記ISAが前記第2命令の前記ISAよりも安全ではない時、または、前記第1命令の前記ISAが前記第2命令の前記ISAと同等に安全であり、且つ前記第1命令の前記ISAに関連する前記グループIDが前記第2命令の前記ISAに関連するグループIDと異なる時に、前記第3セキュリティチェックが失敗する請求項18に記載の安全保護方法。 - 前記操作リソースが、前記プロセッサの内部記憶装置または外部インターフェースにマッピングされ、前記第1命令がデータの読み出しまたは書き込みを行うLSASにアドレス指定されたデータ、前記プロセッサのレジスター、または、前記プロセッサによって保存またはアクセスされた複数のSLEのうちの1つであり、前記各SLEが、前記LSASまたはIFASの領域を記録して、前記プロセッサが前記IFASから前記第1命令および前記第2命令をフェッチするとともに、前記各SLEが、さらに、前記領域に関連するSAを記録する請求項18に記載の安全保護方法。
- 前記第1命令のフェッチアドレスをカバーする領域を有する前記SLEの1つから前記第1命令の前記ISAを取得するステップと、
前記第2命令のフェッチアドレスをカバーする領域を有する前記SLEの1つから前記第2命令の前記ISAを取得するステップと、
前記データのアドレスをカバーする領域を有する前記SLEの1つから前記LSASにおいてアドレス指定された前記データの前記SAを取得するステップと
をさらに含む請求項20に記載の安全保護方法。 - 前記プロセッサが、複数のSLEを保存またはアクセスし、前記各SLEが、SAを含むとともに、前記各SLEが、インデックスに関連し、前記安全保護方法が、さらに、
前記操作リソースのインデックスと一致するインデックスを有する前記SLEのうちの1つから前記操作リソースの前記SAを取得するステップと、
前記第1命令のインデックスと一致するインデックスを有する前記SLEのうちの1つから前記第1命令の前記コードSAを取得するステップと
を含み、前記第1命令の前記インデックスが、前記第1命令の命令コード、前記第1命令のオペランドおよび前記第1命令の前記ISAに関連するグループIDのうちの少なくとも1つから引き出される請求項18に記載の安全保護方法。 - IFASから第1命令をフェッチする命令フェッチユニットと、
前記命令フェッチユニットに連結され、前記第1命令を実行する命令操作ユニットと、
前記命令フェッチユニットおよび前記命令操作ユニットに連結され、前記第1命令がセキュリティサービス命令である時に、前記第1命令のISAおよびコードSAに基づいて第1セキュリティチェックを行い、前記第1セキュリティチェックが失敗した時に、セキュリティ例外を起こすセキュリティチェックユニットと
を含むプロセッサ。 - 前記命令フェッチユニットに連結され、前記第1命令および第2命令のフェッチアドレスを生成し、前記命令フェッチユニットが、前記命令フェッチユニットが前記第1命令をフェッチした後すぐに前記第2命令をフェッチする命令フェッチアドレス発生器と、
前記命令フェッチユニットおよび前記命令操作ユニットに連結され、前記第1命令によってアクセスされた操作リソースに関連するデータアドレスまたはインデックスを生成し、前記セキュリティチェックユニットが、さらに、第2セキュリティチェックおよび/または第3セキュリティチェックを行う操作リソースアドレス発生器と
をさらに含み、前記第2セキュリティチェックが、前記第1命令の前記ISAおよび前記データアドレスまたは前記インデックスに基づいて得られる前記操作リソースのSAに基づいて行われ、
前記第3セキュリティチェックが、前記第1命令の前記ISAおよび前記第2命令のISAに基づいて行われ、
前記セキュリティチェックユニットが、前記第2セキュリティチェックまたは前記第3セキュリティチェックが失敗した時に、前記セキュリティ例外を起こす請求項23に記載のプロセッサ。 - 前記第1命令の前記ISAが前記第1命令の前記コードSAよりも安全ではない時、前記第1セキュリティチェックが失敗し、
前記第1命令の前記ISAが前記操作リソースの前記SAよりも安全ではない時、または、前記第1命令の前記ISAが前記操作リソースの前記SAと同等に安全であり、且つ前記第1命令の前記ISAに関連するグループIDが前記操作リソースの前記SAに関連するグループIDと異なる時に、前記第2セキュリティチェックが失敗し、
前記第1命令の前記ISAが前記第2命令の前記ISAよりも安全ではない時、または、前記第1命令の前記ISAが前記第2命令の前記ISAと同等に安全であり、且つ前記第1命令の前記ISAに関連する前記グループIDが前記第2命令の前記ISAに関連するグループIDと異なる時に、前記第3セキュリティチェックが失敗する請求項24に記載のプロセッサ。 - 前記操作リソースが、前記プロセッサの内部記憶装置または外部インターフェースにマッピングされ、前記第1命令がデータの読み出しまたは書き込みを行うLSASにアドレス指定されたデータ、前記プロセッサのレジスター、または、複数のSLEのうちの1つであり、前記プロセッサが、さらに、
前記命令フェッチアドレス発生器、前記命令フェッチユニット、前記操作リソースアドレス発生器および前記セキュリティチェックユニットに連結され、前記複数のSLEを提供するSLEユニットを含み、前記各SLEが、前記LSASまたは前記IFASの領域を記録して、前記プロセッサが前記IFASから前記第1命令および前記第2命令をフェッチするとともに、前記各SLEが、さらに、前記領域に関連するSAを記録する請求項24に記載のプロセッサ。 - 前記命令フェッチユニットが、前記第1命令の前記フェッチアドレスをカバーする領域を有する前記SLEの1つから前記第1命令の前記ISAを取得し、前記命令フェッチユニットが、前記第2命令の前記フェッチアドレスをカバーする領域を有する前記SLEの1つから前記第2命令の前記ISAを取得し、前記セキュリティチェックユニットが、前記データのアドレスをカバーする領域を有する前記SLEの1つから前記LSASにおいてアドレス指定された前記データの前記SAを取得する請求項26に記載のプロセッサ。
- 前記命令フェッチアドレス発生器、前記命令フェッチユニット、前記操作リソースアドレス発生器および前記セキュリティチェックユニットに連結され、複数のSLEを提供するSLEユニットをさらに含み、前記各SLEが、SAを含むとともに、前記各SLEが、インデックスに関連し、前記セキュリティチェックユニットが、前記操作リソースのインデックスと一致するインデックスを有する前記SLEのうちの1つから前記操作リソースの前記SAを取得するとともに、前記第1命令のインデックスと一致するインデックスを有する前記SLEのうちの1つから前記第1命令の前記コードSAを取得し、前記第1命令の前記インデックスが、前記第1命令の命令コード、前記第1命令のオペランドおよび前記第1命令の前記ISAに関連するグループIDのうちの少なくとも1つから引き出される請求項24に記載のプロセッサ。
- プロセッサによって実行される安全保護方法であって、
第1命令のISAおよびOEのSAに基づいて、前記第1命令を実行する前または後に第1セキュリティチェックを行い、前記OEが、前記プロセッサが前記第1命令をフェッチまたは実行した時の副作用として生成される、または、前記第1命令の監視結果として生成される、または、前記プロセッサの外部入力に応答して生成されるステップと、
第1セキュリティチェックが失敗した時に、前記OEを無視する、または、前記OEを延期する、または、セキュリティ例外を起こすステップと、
前記第1命令がセキュリティサービス命令である時に、前記第1命令の前記ISAおよびコードSAに基づいて、第2セキュリティチェックを行うステップと、
前記第2セキュリティチェックが失敗した時に、前記セキュリティ例外を起こすステップと
を含む安全保護方法。 - IFASから第1命令をフェッチする命令フェッチユニットと、
前記命令フェッチユニットに連結され、前記第1命令を実行する命令操作ユニットと、
前記命令フェッチユニットおよび前記命令操作ユニットに連結され、前記命令フェッチユニットが前記第1命令をフェッチした時、または、前記命令操作ユニットが前記第1命令を実行した時の副作用として、あるいは、前記第1命令の監視結果として、あるいは、プロセッサの外部入力に応答して、OEを生成するOE発生器と、
前記命令フェッチユニット、前記命令操作ユニットおよび前記OE発生器に連結され、前記命令操作ユニットが前記第1命令のISAおよび前記OEのSAに基づいて前記第1命令を実行する前または後に第1セキュリティチェックを行うとともに、前記第1命令がセキュリティサービス命令である時に前記第1命令の前記ISAおよびコードSAに基づいて第2セキュリティチェックを行うセキュリティチェックユニットと
を含み、前記OE発生器が、前記第1セキュリティチェックが失敗した時に、前記OEを無視する、または、前記OEを延期する、または、セキュリティ例外を起こし、前記セキュリティチェックユニットが、前記第2セキュリティチェックが失敗した時に、前記セキュリティ例外を起こすプロセッサ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/938,218 | 2013-07-09 | ||
| US13/938,218 US10061940B2 (en) | 2013-07-09 | 2013-07-09 | Secure protection processor and method including comparing an instruction security attribute of an instruction and a security attribute of an operational event |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015018552A true JP2015018552A (ja) | 2015-01-29 |
| JP5841199B2 JP5841199B2 (ja) | 2016-01-13 |
Family
ID=52256667
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014139536A Active JP5841199B2 (ja) | 2013-07-09 | 2014-07-07 | 安全保護方法およびプロセッサ |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US10061940B2 (ja) |
| JP (1) | JP5841199B2 (ja) |
| CN (1) | CN104281805B (ja) |
| TW (1) | TWI515597B (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2530050B (en) * | 2014-09-10 | 2021-07-21 | Advanced Risc Mach Ltd | Debugging in a data processing apparatus |
| CN106997500A (zh) * | 2016-01-22 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 产品便捷检验方法及装置 |
| US10684896B2 (en) | 2017-02-20 | 2020-06-16 | Tsinghua University | Method for processing asynchronous event by checking device and checking device |
| US10657022B2 (en) | 2017-02-20 | 2020-05-19 | Tsinghua University | Input and output recording device and method, CPU and data read and write operation method thereof |
| US10642981B2 (en) | 2017-02-20 | 2020-05-05 | Wuxi Research Institute Of Applied Technologies Tsinghua University | Checking method, checking device and checking system for processor |
| US10572671B2 (en) * | 2017-02-20 | 2020-02-25 | Tsinghua University | Checking method, checking system and checking device for processor security |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10228421A (ja) * | 1997-02-14 | 1998-08-25 | Nec Ic Microcomput Syst Ltd | メモリアクセス制御回路 |
| JP2009140256A (ja) * | 2007-12-06 | 2009-06-25 | Nec Electronics Corp | データ処理装置及びアドレス空間保護方法 |
| US20120265904A1 (en) * | 2011-06-23 | 2012-10-18 | Renesas Electronics Corporation | Processor system |
| JP2013519934A (ja) * | 2010-02-16 | 2013-05-30 | アーム・リミテッド | ハードウェアモードおよびセキュリティフラグに基づく、読み出される命令用のメモリエリアの制限 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4787031A (en) * | 1985-01-04 | 1988-11-22 | Digital Equipment Corporation | Computer with virtual machine mode and multiple protection rings |
| US4962533A (en) * | 1989-02-17 | 1990-10-09 | Texas Instrument Incorporated | Data protection for computer systems |
| US5845129A (en) | 1996-03-22 | 1998-12-01 | Philips Electronics North America Corporation | Protection domains in a single address space |
| US6986052B1 (en) | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
| US8051301B2 (en) * | 2001-11-13 | 2011-11-01 | Advanced Micro Devices, Inc. | Memory management system and method providing linear address based memory access security |
| WO2004046934A2 (en) | 2002-11-18 | 2004-06-03 | Arm Limited | Secure memory for protecting against malicious programs |
| EP1563376B1 (en) | 2002-11-18 | 2006-04-12 | ARM Limited | Exception types within a secure processing system |
| US7171539B2 (en) | 2002-11-18 | 2007-01-30 | Arm Limited | Apparatus and method for controlling access to a memory |
| JP4750719B2 (ja) | 2004-11-26 | 2011-08-17 | パナソニック株式会社 | プロセッサ、セキュア処理システム |
| US7068545B1 (en) | 2005-01-04 | 2006-06-27 | Arm Limited | Data processing apparatus having memory protection unit |
| US7673345B2 (en) | 2005-03-31 | 2010-03-02 | Intel Corporation | Providing extended memory protection |
| US8572329B2 (en) | 2005-10-04 | 2013-10-29 | Arm Limited | Multi-region default memory map |
| 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 |
| GB2483907A (en) * | 2010-09-24 | 2012-03-28 | Advanced Risc Mach Ltd | Privilege level switching for data processing circuitry when in a debug mode |
-
2013
- 2013-07-09 US US13/938,218 patent/US10061940B2/en active Active
-
2014
- 2014-03-06 TW TW103107625A patent/TWI515597B/zh active
- 2014-06-25 CN CN201410288951.3A patent/CN104281805B/zh active Active
- 2014-07-07 JP JP2014139536A patent/JP5841199B2/ja active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10228421A (ja) * | 1997-02-14 | 1998-08-25 | Nec Ic Microcomput Syst Ltd | メモリアクセス制御回路 |
| JP2009140256A (ja) * | 2007-12-06 | 2009-06-25 | Nec Electronics Corp | データ処理装置及びアドレス空間保護方法 |
| JP2013519934A (ja) * | 2010-02-16 | 2013-05-30 | アーム・リミテッド | ハードウェアモードおよびセキュリティフラグに基づく、読み出される命令用のメモリエリアの制限 |
| US20120265904A1 (en) * | 2011-06-23 | 2012-10-18 | Renesas Electronics Corporation | Processor system |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150020211A1 (en) | 2015-01-15 |
| US10061940B2 (en) | 2018-08-28 |
| TWI515597B (zh) | 2016-01-01 |
| CN104281805A (zh) | 2015-01-14 |
| JP5841199B2 (ja) | 2016-01-13 |
| TW201502843A (zh) | 2015-01-16 |
| CN104281805B (zh) | 2017-09-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12530220B2 (en) | Systems and methods for stalling upstream component | |
| US12373314B2 (en) | Systems and methods for executing state machine in parallel with application code | |
| CN101946232B (zh) | 基于地址的条件调试指令的认定 | |
| JP6176637B2 (ja) | トランザクション環境内でのプログラム・イベント記録 | |
| RU2686552C2 (ru) | Системы и способы предоставления результата текущей команды процессора при выходе из виртуальной машины | |
| JP6185487B2 (ja) | ドメイン間で切り替わる際のセキュアなデータの非セキュアなアクセスから隔離された状態での維持 | |
| US20210055954A1 (en) | Systems and methods for post cache interlocking | |
| JP5841199B2 (ja) | 安全保護方法およびプロセッサ | |
| US10140448B2 (en) | Systems and methods of asynchronous analysis of event notifications for computer security applications | |
| JP4688862B2 (ja) | 仮想マシン環境における仮想マシンのシングルステップ機能のサポートを提供すること | |
| US9575816B2 (en) | Deadlock/livelock resolution using service processor | |
| US20090271583A1 (en) | Monitoring transactions in a data processing apparatus | |
| US9536084B1 (en) | Systems and methods for delivering event-filtered introspection notifications | |
| US9596261B1 (en) | Systems and methods for delivering context-specific introspection notifications | |
| US11663034B2 (en) | Permitting unaborted processing of transaction after exception mask update instruction | |
| US9531735B1 (en) | Systems and methods for delivering introspection notifications from a virtual machine | |
| US12367328B1 (en) | Systems and methods for formal verification of computer platforms | |
| KR20250095665A (ko) | 스택 포인터 스위치 유효성 검사 | |
| HK1231981A1 (en) | Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine | |
| HK1207442B (en) | Method, system and computer readable medium for managing interruption in computing environment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150616 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150706 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150930 |
|
| 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: 20151019 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151112 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5841199 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| 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 |