JP2015011436A - プロセッサ - Google Patents
プロセッサ Download PDFInfo
- Publication number
- JP2015011436A JP2015011436A JP2013134898A JP2013134898A JP2015011436A JP 2015011436 A JP2015011436 A JP 2015011436A JP 2013134898 A JP2013134898 A JP 2013134898A JP 2013134898 A JP2013134898 A JP 2013134898A JP 2015011436 A JP2015011436 A JP 2015011436A
- Authority
- JP
- Japan
- Prior art keywords
- stack
- program
- stack memory
- information
- storage device
- 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.)
- Pending
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
【課題】スタックオーバーフロー攻撃があっても本来のプログラムの実行を継続できるプロセッサを提供する。【解決手段】プログラム及びプログラムで使用するデータが記憶される第1記憶装置3とは別に、第1スタックメモリ7に対するプッシュ又はポップの実行時のみ、CPU2がアクセスできる第2記憶装置4を備える。CPU2には第1スタックメモリ7に対応する第1スタックポインタ8とは別に、第2記憶装置4に定義される第2スタックメモリ9に対応する第2スタックポインタ10を用意する。CPU2はサブルーチンを呼び出す際に、退避レジスタ情報及び戻りアドレス情報を第1スタックメモリ7へプッシュすると、第2スタックメモリ9にも前記各情報のプッシュを行い、前記各情報を第1スタックメモリ7からポップすると第2スタックメモリ9からも対応する情報のポップを行う。両者の情報内容が異なればスタックオーバーフローの発生を検出し、第2スタックメモリ9からポップしたアドレス情報をプログラムカウンタに、レジスタ情報を各レジスタにロードする。【選択図】図1
Description
本発明は、スタックオーバーフロー攻撃に対する防御機能を備えたプロセッサに関する。
従来、プロセッサがプログラムを実行する際に、セキュリティ上の脆弱性を突くスタックオーバーフロー攻撃(スタックスマッシング)と呼ばれる手法が深刻なセキュリティ上の問題になっている。この対策技術として、主プログラムから呼び出されたサブプログラムの実行終了時に、主プログラムへの戻りアドレス情報を主記憶装置とは別の記憶装置に保存しておき、主記憶装置の戻りアドレス情報が、プログラムの実行により誤って、若しくは意図的に書き変えられている場合に、戻りアドレス情報が正しくないことを検出する技術が提案されている(例えば、特許文献1参照)。
特許文献1の技術によれば、主プログラムへの戻りアドレス情報が書き換えられた場合でも、正しい戻りアドレス値を主記憶装置以外の記憶装置から読み出すことができる。しかしながら、主記憶装置のレジスタ情報もスタックオーバーフロー攻撃によって書き換えられる場合がある。すると、サブプログラムの実行を終了した後、適切な主プログラムのアドレスに戻ったとしても、前記レジスタ情報が書き換えられていればプログラムを正しく継続実行できないおそれがある。
本発明は、上記事情に鑑みてなされたもので、スタックオーバーフロー攻撃があっても本来のプログラムの実行を継続できるプロセッサを提供することを目的とする。
本発明は、上記事情に鑑みてなされたもので、スタックオーバーフロー攻撃があっても本来のプログラムの実行を継続できるプロセッサを提供することを目的とする。
請求項1記載のプロセッサによれば、プログラム及びそのプログラムで使用するデータが記憶される第1記憶装置とは別個に、第1記憶装置に定義される第1スタックメモリ領域に対するプッシュ命令又はポップ命令の実行時のみ、CPUがアクセス可能となるように構成される第2記憶装置を備える。また、CPUは、第1スタックメモリ領域のアクセスアドレス情報を保持する第1スタックポインタとは別に、第2記憶装置に定義される第2スタックメモリ領域のアクセスアドレス情報を保持する第2スタックポインタを用意する。
CPUは、主プログラムからサブプログラムを呼び出す際に、退避させるレジスタ情報と戻りアドレス情報とを第1スタックメモリ領域へプッシュする命令を実行すると、第2スタックメモリ領域に対しても前記レジスタ情報及び前記アドレス情報のプッシュ動作を同時に行う。
そして、前記情報を第1スタックメモリ領域からポップする命令を実行すると、第2スタックメモリ領域についても対応する情報のポップ動作を同時に行い、それらの情報内容を比較して、両者が異なればスタックオーバーフローの発生を検出する。加えて、第2スタックメモリ領域からポップしたアドレス情報をプログラムカウンタにロードし、第2スタックメモリ領域からポップしたレジスタ情報を対応する各レジスタにロードする。
そして、前記情報を第1スタックメモリ領域からポップする命令を実行すると、第2スタックメモリ領域についても対応する情報のポップ動作を同時に行い、それらの情報内容を比較して、両者が異なればスタックオーバーフローの発生を検出する。加えて、第2スタックメモリ領域からポップしたアドレス情報をプログラムカウンタにロードし、第2スタックメモリ領域からポップしたレジスタ情報を対応する各レジスタにロードする。
すなわち、プログラムから参照できるのは第1記憶装置のみであり、たとえ改竄されたプログラムが実行されても第2記憶装置にアクセスすることはできず、第2スタックメモリ領域の内容は保持される。そして、スタックオーバーフローの発生が検出されると、第2スタックメモリ領域からポップした戻りアドレス情報がプログラムカウンタにロードされると同時にレジスタ情報が対応する各レジスタにロードされるので、CPUは本来のプログラムの実行を確実に継続することができる。
請求項2記載のプロセッサによれば、請求項1と同様の第1及び第2記憶装置を備えて、更に、緊急時用プログラムが記憶される第3記憶装置を別途備える。また、CPUは、同様に第1及び第2スタックポインタを用い、これらに対するプッシュ動作及びポップ動作についても、請求項1と同様に行う。そして、2つのスタックメモリ領域からポップした情報の内容を比較して、両者が異なればスタックオーバーフローの発生を検出し、かつプログラムカウンタに緊急時用プログラムへのアクセスアドレスをロードして、当該緊急時用プログラムを実行する。すなわち、スタックオーバーフローの発生が検出されると、緊急時用プログラムが実行されるので、その実行によりスタックオーバーフローの発生に対処することができる。
(第1実施形態)
図1に示すように、プロセッサ1は、CPU2と、第1記憶装置3と、第2記憶装置4とを備えており、第1記憶装置3及び第2記憶装置4は、何れもRAMで構成されている。第1記憶装置3には、CPU2による初期処理において、図示しないプログラムROMから、プログラム及び当該プログラムにおいて使用されるデータが、それぞれプログラム領域5,データ領域6にロードされている。
図1に示すように、プロセッサ1は、CPU2と、第1記憶装置3と、第2記憶装置4とを備えており、第1記憶装置3及び第2記憶装置4は、何れもRAMで構成されている。第1記憶装置3には、CPU2による初期処理において、図示しないプログラムROMから、プログラム及び当該プログラムにおいて使用されるデータが、それぞれプログラム領域5,データ領域6にロードされている。
データ領域6には、第1スタックメモリ7(第1スタックメモリ領域)が設定されている。CPU2は、前記プログラムにおけるメインルーチン(主プログラム)の実行中に、サブルーチン(サブプログラム)を実行する(呼び出す)際に、退避させるアドレス及びデータレジスタ等の情報と、メインルーチンへの戻りアドレス情報とを第1スタックメモリ7にプッシュする命令を実行する。また、サブルーチンの実行を終了してメインルーチンにリターンする際には、退避させたレジスタ情報及びアドレス情報を復帰させるため、第1スタックメモリ7よりこれらをポップする命令を実行する。この場合、CPU2は、第1スタックメモリ7に対するアクセスアドレス情報を、第1スタックポインタ8において保持する。
また、第2記憶装置4には、第2スタックメモリ9(第2スタックメモリ領域)が設定されている。CPU2は、上述したように、第1スタックメモリ7に対するプッシュ,ポップ命令を実行する際に、前記レジスタ情報及びアドレス情報のプッシュ,ポップを、第2スタックメモリ9に対しても全く同様に実行する。そして、CPU2は、第2スタックメモリ9に対するアクセスアドレス情報を、第1スタックポインタ8とは別個に設けられている第2スタックポインタ10において保持する。
尚、第2スタックメモリ9に対するプッシュ,ポップ命令の実行は、プログラムによって制御されるのではなく、CPU2内部のハードロジックで自動的に実行される。したがって、第2スタックメモリ9については、プログラムからは参照できない(直接操作できない)ようになっている。また、第2記憶装置4は、第2スタックメモリ9を設定するためのみにアクセスされて使用され、その他の用途には使用されない。
次に、本実施形態の作用について説明する。図2において、CPU2は、命令フェッチの対象とするメモリを第1記憶装置3とするようにプログラムカウンタをセットして(S1)命令フェッチを行う(S2)。フェッチした命令が、プッシュ命令,ポップ命令の何れでもなければ(S3,S8:NO)、前記命令を実行してから(S6)ステップS2に戻る。
フェッチした命令がプッシュ命令であり(S3:YES)、プッシュする対象がメインルーチンへの戻りアドレス情報(S4:YES),或いは退避させるレジスタ情報であれば(S5:YES)、それらを第1,第2記憶装置3,4の双方について、すなわち第1,第2スタックメモリ7,9の双方にプッシュする(S7)。それから、ステップS2に戻る。
フェッチした命令がプッシュ命令であり(S3:YES)、プッシュする対象がメインルーチンへの戻りアドレス情報(S4:YES),或いは退避させるレジスタ情報であれば(S5:YES)、それらを第1,第2記憶装置3,4の双方について、すなわち第1,第2スタックメモリ7,9の双方にプッシュする(S7)。それから、ステップS2に戻る。
一方、フェッチした命令がポップ命令であり(S8:YES)、ポップする対象が戻りアドレス情報(S9:YES),或いは退避させたレジスタ情報であれば(S10:YES)、それらを、第1,第2記憶装置3,4の双方から、すなわち第1,第2スタックメモリ7,9の双方からポップする(S11)。そして、CPU2は、2つのスタックメモリ7,9からそれぞれポップした値を比較して、両者の値が等しいか否かを判断する(S12)。
ここで、両者の値が等しければ(YES)ステップS6に移行し、両者の値が異なれば(NO)、第1スタックメモリ7に退避させた情報が書き換えられたことを示すので、スタックオーバーフローを検出したことになる(S13)。したがって、第1スタックメモリ7からポップした情報は使用せず、それに替えて第2スタックメモリ9からポップした情報を使用する(S14)。すなわち、第2スタックメモリ9からポップしたアドレス情報をプログラムカウンタにロードし、第2スタックメモリ9からポップしたレジスタ情報を対応する各レジスタにロードして処理を実行する。
以上のように本実施形態によれば、プログラム及びそのプログラムで使用するデータが記憶される第1記憶装置3とは別個に、第1記憶装置3に定義される第1スタックメモリ7に対するプッシュ命令又はポップ命令の実行時のみ、CPU2がアクセス可能となるように構成される第2記憶装置4を備える。また、CPU2には、第1スタックメモリ7のアクセスアドレス情報を保持する第1スタックポインタ8とは別に、第2記憶装置4に定義される第2スタックメモリ9のアクセスアドレス情報を保持する第2スタックポインタ10を用意する。
CPU2は、プログラムのメインルーチンからサブルーチンを呼び出す際に、退避させるレジスタ情報と戻りアドレス情報とを第1スタックメモリ7へプッシュする命令を実行すると、第2スタックメモリ9に対しても前記各情報のプッシュ動作を同時に行い、前記各情報を第1スタックメモリ7からポップする命令を実行すると、第2スタックメモリ9からも対応する情報のポップ動作を同時に行い、それらの情報内容を比較して、両者が異なればスタックオーバーフローの発生を検出する。加えて、第2スタックメモリ9からポップしたアドレス情報をプログラムカウンタにロードし、第2スタックメモリ9からポップしたレジスタ情報を対応する各レジスタにロードする。
すなわち、プログラムから参照できるのは第1記憶装置3のみであるから、たとえ改竄されたプログラムが実行されて、第1記憶装置3側の第1スタックメモリ7が不正に書き換えられることがあっても第2記憶装置4にアクセスすることはできず、第2スタックメモリ9の内容は保持される。そして、スタックオーバーフローの発生が検出されると、第2スタックメモリ9からポップした戻りアドレス情報がプログラムカウンタにロードされると同時にレジスタ情報が対応する各レジスタにロードされるので、CPU2は本来のプログラムの実行を確実に継続することができる。
(第2実施形態)
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。図3に示すように、第2実施形態のプロセッサ12は、CPU2に替わるCPU12を備えると共に、第3記憶装置13を備えている。第3記憶装置13には
セキュリティプログラム14(緊急時用プログラム)が配置されるが、第3記憶装置13はROMでも良いし、第1記憶装置3と同様に、ROMからロードされたセキュリティプログラム14が配置されているRAMでも良い。セキュリティプログラム14は、以下に説明するように、CPU2がスタックオーバーフローを検出した際に、その検出を外部に通知するためのプログラムである。
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。図3に示すように、第2実施形態のプロセッサ12は、CPU2に替わるCPU12を備えると共に、第3記憶装置13を備えている。第3記憶装置13には
セキュリティプログラム14(緊急時用プログラム)が配置されるが、第3記憶装置13はROMでも良いし、第1記憶装置3と同様に、ROMからロードされたセキュリティプログラム14が配置されているRAMでも良い。セキュリティプログラム14は、以下に説明するように、CPU2がスタックオーバーフローを検出した際に、その検出を外部に通知するためのプログラムである。
次に、第2実施形態の作用について説明する。図4に示すように、第2実施形態では、CPU12がステップS13においてスタックオーバーフローを検出すると、命令フェッチメモリを、第1記憶装置3から第3記憶装置13に切り換え(S21)、プログラムカウンタ(PC)の値を、セキュリティプログラム14のスタート番地に書き換える(S22)。尚、これらのステップS21及びS22の処理も、ハードロジックで行われる。それからステップS2に移行するので、セキュリティプログラム14の実行が開始される。
図5に示すように、セキュリティプログラム14では、第2記憶装置4をデータ記憶用のメモリとして使用する(S31)。そして、命令フェッチを行い(S32)データを読み出すと(S33)、フェッチした命令を実行し(S34)、実行した結果得られたデータを第2記憶装置4に書き込んで記憶させる(S35)。それからステップS32に戻る。このセキュリティプログラム14の実質的な処理内容は、前述のように、スタックオーバーフローの検出をプロセッサ12の外部に通知するもので、例えばペリフェラルのI/Oポートにスタックオーバーフロー信号を出力したり、外部ステータスレジスタのスタックオーバーフロー通知レジスタにおいてスタックオーバーフローのアサート信号をキャプチャしておくことで、外部システムに通知するなどの処理を行うようにしても良い。
以上のように第2実施形態によれば、プロセッサ11に、セキュリティプログラム14が記憶される第3記憶装置13を別途備える。そして、CPU12は、スタックオーバーフローの発生を検出すると、プログラムカウンタにセキュリティプログラム14へのアクセスアドレスをロードして、当該セキュリティプログラム14を実行する。したがって、その実行によりスタックオーバーフローの発生に対処することができる。
本発明は上記した、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
スタックオーバーフローが検出された場合、CPU2をリセットさせるとともに、プログラムROMより第1記憶装置3にプログラムをリロードさせて再度実行させても良い。
緊急時用プログラムは、セキュリティプログラム14に限ることなく、スタックオーバーフローが検出された際に実行することが適切なプログラムを、個別の設計に応じて適宜選択すれば良い。
第1,第3記憶装置については、処理時間に問題がなければ、書き換え可能なROMを用いても良い。
スタックオーバーフローが検出された場合、CPU2をリセットさせるとともに、プログラムROMより第1記憶装置3にプログラムをリロードさせて再度実行させても良い。
緊急時用プログラムは、セキュリティプログラム14に限ることなく、スタックオーバーフローが検出された際に実行することが適切なプログラムを、個別の設計に応じて適宜選択すれば良い。
第1,第3記憶装置については、処理時間に問題がなければ、書き換え可能なROMを用いても良い。
図面中、1はプロセッサ、2はCPU、3は第1記憶装置、4は第2記憶装置、7は第1スタックメモリ(第1スタックメモリ領域)、8は第1スタックポインタ、9は第2スタックメモリ(第2スタックメモリ領域)、10は第2スタックポインタを示す。
Claims (3)
- CPU(2)と、
このCPUにより実行されるプログラム及び前記プログラムで使用されるデータが記憶される第1記憶装置(3)と、
この第1記憶装置に定義される第1スタックメモリ領域(7)に対するプッシュ命令又はポップ命令の実行時のみ、前記CPUがアクセス可能となるように構成される第2記憶装置(4)とを備え、
前記CPUは、
前記第1スタックメモリ領域のアクセスアドレス情報を保持する第1スタックポインタ(8)と、
前記第2記憶装置に定義される第2スタックメモリ領域(9)のアクセスアドレス情報を保持する第2スタックポインタ(10)とを備え、
主プログラムを実行することでサブプログラムを呼び出す際に、退避させるレジスタ情報と、主プログラムへの戻りアドレス情報とを前記第1スタックメモリ領域へプッシュする命令を実行すると、前記第2スタックメモリ領域に対しても前記レジスタ情報及び前記アドレス情報のプッシュ動作を同時に行い、
前記アドレス情報及び前記レジスタ情報を、前記第1スタックメモリ領域からポップする命令を実行すると、前記第2スタックメモリ領域についても前記アドレス情報及び前記レジスタ情報のポップ動作を同時に行い、
前記2つのスタックメモリ領域からポップした情報の内容を比較して、両者が異なればスタックオーバーフローの発生を検出し、かつ前記第2スタックメモリ領域からポップしたアドレス情報をプログラムカウンタにロードすると共に、前記第2スタックメモリ領域からポップしたレジスタ情報を、対応する各レジスタにロードすることを特徴とするプロセッサ。 - CPU(12)と、
このCPUにより実行されるプログラム及び前記プログラムで使用されるデータが記憶される第1記憶装置と、
この第1記憶装置に定義される第1スタックメモリ領域に対するプッシュ命令又はポップ命令の実行時のみ、前記CPUがアクセス可能となるように構成される第2記憶装置と、
緊急時用プログラム(14)が記憶される第3記憶装置(13)とを備え、
前記CPUは、
前記第1スタックメモリ領域のアクセスアドレス情報を保持する第1スタックポインタと、
前記第2記憶装置に定義される第2スタックメモリ領域のアクセスアドレス情報を保持する第2スタックポインタとを備え、
主プログラムを実行することでサブプログラムを呼び出す際に、退避させるレジスタ情報と、主プログラムへの戻りアドレス情報とを前記第1スタックメモリ領域へプッシュする命令を実行すると、前記第2スタックメモリ領域に対しても前記レジスタ情報及び前記アドレス情報のプッシュ動作を同時に行い、
前記アドレス情報及び前記レジスタ情報を、前記第1スタックメモリ領域からポップする命令を実行すると、前記第2スタックメモリ領域についても前記アドレス情報及び前記レジスタ情報のポップ動作を同時に行い、
前記2つのスタックメモリ領域からポップした情報の内容を比較して、両者が異なればスタックオーバーフローの発生を検出し、かつプログラムカウンタに前記緊急時用プログラムへのアクセスアドレスをロードして、当該緊急時用プログラムを実行することを特徴とするプロセッサ。 - 前記緊急時用プログラムは、前記スタックオーバーフローの発生を外部に報知する処理を行うプログラムであることを特徴とする請求項2記載のプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013134898A JP2015011436A (ja) | 2013-06-27 | 2013-06-27 | プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013134898A JP2015011436A (ja) | 2013-06-27 | 2013-06-27 | プロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015011436A true JP2015011436A (ja) | 2015-01-19 |
Family
ID=52304566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013134898A Pending JP2015011436A (ja) | 2013-06-27 | 2013-06-27 | プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015011436A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017123119A (ja) * | 2016-01-08 | 2017-07-13 | 株式会社デンソー | 電子制御装置 |
WO2019237865A1 (zh) * | 2018-06-12 | 2019-12-19 | 杨力祥 | 一种数据保护方法及计算装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02304635A (ja) * | 1989-05-19 | 1990-12-18 | Pfu Ltd | プログラム暴走検知方法 |
JPH08123686A (ja) * | 1994-10-24 | 1996-05-17 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
JP2001511271A (ja) * | 1997-01-15 | 2001-08-07 | シーメンス アクチエンゲゼルシヤフト | ソフトウェアプログラムの規定通りの実行を監視するための方法 |
US20050044292A1 (en) * | 2003-08-19 | 2005-02-24 | Mckeen Francis X. | Method and apparatus to retain system control when a buffer overflow attack occurs |
JP2007148529A (ja) * | 2005-11-24 | 2007-06-14 | Nippon Telegr & Teleph Corp <Ntt> | バッファオーバーフロー検知装置、バッファオーバーフロー検知方法およびバッファオーバーフロー検知プログラム |
JP2009230479A (ja) * | 2008-03-24 | 2009-10-08 | Toshiba Microelectronics Corp | マイクロプロセッサ |
JP2010224908A (ja) * | 2009-03-24 | 2010-10-07 | Fujitsu Semiconductor Ltd | 情報処理装置およびデータ修復方法 |
-
2013
- 2013-06-27 JP JP2013134898A patent/JP2015011436A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02304635A (ja) * | 1989-05-19 | 1990-12-18 | Pfu Ltd | プログラム暴走検知方法 |
JPH08123686A (ja) * | 1994-10-24 | 1996-05-17 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
JP2001511271A (ja) * | 1997-01-15 | 2001-08-07 | シーメンス アクチエンゲゼルシヤフト | ソフトウェアプログラムの規定通りの実行を監視するための方法 |
US20050044292A1 (en) * | 2003-08-19 | 2005-02-24 | Mckeen Francis X. | Method and apparatus to retain system control when a buffer overflow attack occurs |
JP2007148529A (ja) * | 2005-11-24 | 2007-06-14 | Nippon Telegr & Teleph Corp <Ntt> | バッファオーバーフロー検知装置、バッファオーバーフロー検知方法およびバッファオーバーフロー検知プログラム |
JP2009230479A (ja) * | 2008-03-24 | 2009-10-08 | Toshiba Microelectronics Corp | マイクロプロセッサ |
JP2010224908A (ja) * | 2009-03-24 | 2010-10-07 | Fujitsu Semiconductor Ltd | 情報処理装置およびデータ修復方法 |
Non-Patent Citations (1)
Title |
---|
JPN6016020579; Ruby B. Lee et al.: 'Enlisting Hardware Architecture to Thwart Malicious Code Injection' Proceeding of the International Conference on Security in Pervasive Computing(SPC-2003) , 2003, Springer * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017123119A (ja) * | 2016-01-08 | 2017-07-13 | 株式会社デンソー | 電子制御装置 |
WO2019237865A1 (zh) * | 2018-06-12 | 2019-12-19 | 杨力祥 | 一种数据保护方法及计算装置 |
CN110598406A (zh) * | 2018-06-12 | 2019-12-20 | 杨力祥 | 一种数据保护方法及计算装置 |
CN110598406B (zh) * | 2018-06-12 | 2022-08-23 | 杨力祥 | 一种数据保护方法及计算装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI769595B (zh) | 用以保護影子堆疊之處理器、方法、系統和指令 | |
US8301856B2 (en) | Restricting memory areas for an instruction read in dependence upon a hardware mode and a security flag | |
US7917753B2 (en) | Transferring control between programs of different security levels | |
US8959318B2 (en) | Illegal mode change handling | |
US7752427B2 (en) | Stack underflow debug with sticky base | |
US9760374B2 (en) | Stack pointer and memory access alignment control | |
KR101618535B1 (ko) | 시스템 사전 부팅 동안 개선된 판독 전용 메모리 록킹을 이용하는 안전한 데이터 보호 | |
US20140229717A1 (en) | Binary translator driven program state relocation | |
US10503932B2 (en) | Secure mode state data access tracking | |
US10121010B2 (en) | System and method for preventing execution of malicious instructions stored in memory and malicious threads within an operating system of a computing device | |
US20160171213A1 (en) | Apparatus and method for controlling instruction execution to prevent illegal accesses to a computer | |
JP2015011436A (ja) | プロセッサ | |
KR102613643B1 (ko) | 예외 처리 | |
US11307795B2 (en) | Electronic processing devices and memory control methods thereof | |
CN108701031B (zh) | 寄存器访问控制 | |
JP2015115052A (ja) | マイクロプロセッサ、コンピュータ、異常対応方法、及び異常対策プログラム | |
JP2014110012A (ja) | 情報処理システム | |
US20090158267A1 (en) | System and method for inserting authorized code into a program | |
JP4370227B2 (ja) | プロセッサ | |
US20150186140A1 (en) | Opcode trapping | |
JP2006065396A (ja) | メモリ管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160607 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161206 |