JP5392263B2 - 情報処理装置及びそのメモリ保護方法 - Google Patents

情報処理装置及びそのメモリ保護方法 Download PDF

Info

Publication number
JP5392263B2
JP5392263B2 JP2010529561A JP2010529561A JP5392263B2 JP 5392263 B2 JP5392263 B2 JP 5392263B2 JP 2010529561 A JP2010529561 A JP 2010529561A JP 2010529561 A JP2010529561 A JP 2010529561A JP 5392263 B2 JP5392263 B2 JP 5392263B2
Authority
JP
Japan
Prior art keywords
trap
memory
area
trap type
type
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
Application number
JP2010529561A
Other languages
English (en)
Other versions
JPWO2010032330A1 (ja
Inventor
亮 田部井
浩 近藤
裕之 出井
圭三 東
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2010032330A1 publication Critical patent/JPWO2010032330A1/ja
Application granted granted Critical
Publication of JP5392263B2 publication Critical patent/JP5392263B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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/1441Protection 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置、及び、情報処理装置において不当な書込みによるメモリの破壊を防止するメモリ保護方法に関する。
情報処理装置のオペレーティングシステム(OS:Operating System)上で動作するアプリケーション(プロセス)は、メモリの動的割当て要求によりOSからメモリ領域を獲得する。その後、アプリケーションが、獲得されたメモリ領域以外の領域へ不当な書込みを行うことがある。その場合には、別の用途で使用されているメモリ領域が破壊されることとなるため、当該アプリケーションが誤動作し又は異常終了するなどのトラブルが発生する。
特に、アプリケーションが、獲得したメモリ領域を超える書込みを行うことにより、次の領域を破壊してしまうケースが多い。例えば、図1に示されるように、8バイトの領域しか獲得されていないにもかかわらず、9バイト分のデータが書込まれることで、獲得された領域の次の領域が1バイト破壊されるようなケースである。
このように、あるプロセス(処理)が不当な書込みによりメモリ領域を破壊した後に、当該プロセスがその破壊された領域を参照して誤動作又は異常終了する場合がある。その場合、不当な書込みを行ったプロセスとメモリ破壊を検出するプロセスとのタイミングが異なるため、原因の特定が困難となる。特に、不当な書込みが行われた時点から破壊された領域が参照される時点までの時間が長い場合には、メモリ破壊の原因の特定が更に困難となる。
不当な書込みによるメモリの破壊を防止するメモリ保護方法として、図2に示される従来技術が知られている。かかる従来技術は、その構成として、主記憶装置としてのメモリ200と、メモリを使用するアプリケーション210と、アプリケーションからの動的メモリ割当て要求に応じてメモリを割当てるOS220と、を含む。
アプリケーション210は、自らが使用するデータ領域を確保するため、OS220へメモリ割当て要求を発行する(ブロック212)。OS220は、アプリケーション210からのメモリ割当て要求に対して、メモリ領域202を確保するとともに、当該メモリ領域に連続するメモリ領域204に対しアクセス不可属性を設定する(ブロック222及び224)。
具体的には、このシステムでは、特定の大きさのメモリブロック単位でメモリ管理がされており、アプリケーション210からメモリ割当て要求が発行されると、OS220は一つのメモリブロック204にアクセス不可属性を設定する。そして、OS220は、メモリブロック204の直前のメモリブロックの終端を起点にして先頭に向かってアプリケーションが要求した大きさのメモリ領域202を確保する。
そして、OS220は、アプリケーション210にメモリ領域202を割当てる(ブロック226)。アプリケーション210は、メモリ領域202を割当てられると、メモリ領域202に対して書込みを行うことができる。しかし、アプリケーション210は、メモリ領域202を超えて、アクセス不可属性が設定された領域204へのアクセス要求を発行する場合がある(ブロック214)。その場合には、例外割込みが発生し、OS220は、アクセス例外処理を実行することでメモリ領域204への不当な書込みを防止する(ブロック228)。
図3は、図2に示される従来技術の問題点について説明するための図である。この従来技術では、アプリケーションからのメモリ割当て要求時に、必ずアクセス不可属性が設定されるメモリブロックが余分に確保される必要がある。このメモリブロックは、最小でもOSのメモリ管理単位(ページ、例えば、1ページ=8KBとする)となるため、メモリ資源の無駄が多い。
また、割当てられるメモリのアドレスはページ境界に合わせる必要がある。しかし、上述の従来技術のようにメモリブロックの終端を起点にして、先頭に向かって要求された大きさのメモリ領域を割当てる手法では、割当てられたメモリのアドレスがページ境界に合わない可能性がある。このようなアドレスにアクセスするとエラーが発生するため、メモリを余分に確保してアライメントを調整する必要がある。
特開2002−055851号公報
本開示技術は、上述した問題点に鑑みてなされたものであり、その目的は、アプリケーションによる不当な書込みが行われようとした際にトラップを発生させるためのアクセス禁止領域のサイズをOSのメモリ管理単位に依存しない任意のサイズで設定することができるようにし、アライメントの調整も不要とすることで、メモリ資源を有効に活用することを可能としつつ、不当な書込みによるメモリの破壊を防止する情報処理装置及びそのメモリ保護方法を提供することにある。
上記目的を達成するために、本開示技術によれば、メモリ領域が設定される複数のアドレス設定レジスタと、前記複数のアドレス設定レジスタに対応して設けられ、前記複数のアドレス設定レジスタの各々に設定されたメモリ領域に対応するトラップタイプが設定されるトラップタイプ設定レジスタと、前記複数のアドレス設定レジスタの各々に設定されたメモリ領域へのアクセス要求に応じて、対応するトラップタイプ設定レジスタに設定されたトラップタイプのトラップを生成するトラップ機構と、使用者からの入力に応じて、予めアクセス禁止領域サイズを設定する禁止領域サイズ設定手段と、アプリケーションからのメモリ割当て要求に応じて、該アプリケーションに対しメモリ領域をアクセス可能領域として割当て該アクセス可能領域を第一のアドレス設定レジスタに設定し、かつ、第一のトラップタイプを対応する第一のトラップタイプ設定レジスタに設定し、該アクセス可能領域の直後に該禁止領域サイズ設定手段により設定されたアクセス禁止領域サイズを有するアクセス禁止領域を設け、該アクセス禁止領域を第のアドレス設定レジスタに設定し、かつ、第のトラップタイプを対応する第のトラップタイプ設定レジスタに設定するメモリ割当て手段と、該第一のトラップタイプのトラップが該トラップ機構により生成された場合に該第一のトラップタイプに従ってトラップ処理を実行し、該第のトラップタイプのトラップが該トラップ機構により生成された場合に該第二のトラップタイプに従ってトラップ処理を実行するトラップ処理手段と、を具備する情報処理装置が提供される。
さらに、本開示技術の他の面によれば、上述の情報処理装置で実行されるメモリ保護方法と、情報処理装置に当該メモリ保護方法を実行させるプログラムと、が提供される。
開示の情報処理装置及びそのメモリ保護方法によれば、アプリケーションからのメモリ割当て要求時に、アプリケーションに割当てられたメモリ領域の直後にアクセス禁止領域が設けられ、そのアクセス禁止領域がアドレス設定レジスタに設定される。アプリケーションがアクセス禁止領域にアクセスしようとした際には、情報処理装置においてトラップが発生する。これにより、アプリケーションが獲得したメモリ領域のサイズを超える不当な書込みが行われようとした場合、即座に該当アプリケーションのメモリイメージ(コアファイル)が生成されて、該当アプリケーションが異常終了せしめられる。生成されたアプリケーションのメモリイメージを解析すれば、不当な書込みを行おうとしたプロセスが容易に特定される。
使用者は、アプリケーションによる不当な書込みが行われようとした際にトラップを発生させるためのアクセス禁止領域のサイズをOSのメモリ管理単位に依存しない任意のサイズで予め設定することができる。そのため、使用者は、不当な書込みによるメモリ破壊の想定サイズに応じてアクセス禁止領域のサイズを自由に変更することができる。また、アライメントの調整も必要でない。結果として、メモリ資源を有効に活用することが可能とされつつ、不当な書込みによるメモリの破壊が防止される。
不当な書込みによるメモリの破壊を説明するための図である。 不当な書込みによるメモリの破壊を防止するメモリ保護方法の従来例について説明するための図である。 図2に示される従来技術の問題点について説明するための図である。 本開示技術による情報処理装置の一実施形態のハードウェア構成を示す図である。 メモリ割当て時の処理を示すフローチャートである。 メモリアクセス時の処理を示すフローチャートである。 メモリ領域の設定を例示する図である。 図7に示されるメモリ領域の設定に対応する動作について説明するための図である。 本開示技術によるメモリ獲得処理について説明するための図である。
符号の説明
400 CPU
410 アドレス設定レジスタ
420 トラップタイプ設定レジスタ
430 アドレスマッチ回路
440 アドレストラップ発生回路
460 メモリ
470 磁気ディスク装置
480 キーボード
490 ディスプレイ
以下、添付図面を参照して本実施形態について説明する。図4は、本開示技術による情報処理装置の一実施形態のハードウェア構成を示す図である。この情報処理装置は、CPU(Central Processing Unit:中央処理ら装置)400、メモリ460、磁気ディスク装置470、キーボード480及びディスプレイ490を含む。CPU400は、主記憶装置としてのメモリ460にロードされたOS及びアプリケーションを実行する。また、CPU400は、複数のアドレス設定レジスタ410、複数のトラップタイプ設定レジスタ420、アドレスマッチ回路430及びアドレストラップ発生回路440を備える。
複数のアドレス設定レジスタ410には、各々、メモリ領域を指定するためのアドレスが設定される。複数のトラップタイプ設定レジスタ420は、複数のアドレス設定レジスタ410に対応して設けられたものであり、その各々にはトラップタイプが設定される。ここで、トラップタイプとは、例外等の発生を誘引するトラップの種類を表す情報である。アドレスマッチ回路430及びアドレストラップ発生回路440は、アドレス設定レジスタ410の各々に設定されたメモリ領域へのアクセス要求に応じて、対応するトラップタイプ設定レジスタ420に設定されたトラップタイプのトラップを生成するトラップ機構である。
図5は、メモリ割当て時の処理を示すフローチャートである。なお、使用者が設定ファイルに記述する方法等により、アプリケーションに割当てられたメモリ領域の直後に設けられるべきアクセス禁止領域のサイズが予め設定されているものとする。
まず、アプリケーションが、OSに対してメモリ割当て要求を発行する(ブロック502)。それを受けて、OSは、要求されたメモリサイズを有するメモリ領域をアクセス可能領域として確保する(ブロック504)。次いで、OSは、確保したメモリ領域(アクセス可能領域)の開始アドレスと終了アドレスとをアドレス設定レジスタ410の一つに設定する(ブロック506)。
また、OSは、確保したメモリ領域に対し、アクセス可能領域が正常なアクセス要求によりアクセスされたことを表すトラップタイプとして例えば“#10”を対応するトラップタイプ設定レジスタ420に設定する(ブロック508)。なお、このトラップタイプは、当該情報処理装置において既に設けられている他のトラップタイプと重複しないように決定される。
次いで、OSは、使用者によって設定ファイルに予め記述されているアクセス禁止領域サイズを取得する(ブロック510)。そして、OSは、アプリケーションに割当てたメモリ領域の直後に、取得したアクセス禁止領域サイズを有するアクセス禁止領域を設け、そのアクセス禁止領域の開始アドレスと終了アドレスとをアドレス設定レジスタ410の他の一つに設定する(ブロック512)。
また、OSは、そのアクセス禁止領域に対して、不当なアクセス要求によりアクセスされたことを表すアクセス禁止領域用のトラップタイプとして例えば“#11”を対応するトラップタイプ設定レジスタ420に設定する(ブロック514)。なお、このトラップタイプは、当該情報処理装置において既に設けられている他のトラップタイプと重複しないように決定される。最後に、OSは、確保したメモリ領域(アクセス可能領域)を要求元のアプリケーションに割当てる(ブロック516)。以上でメモリ割当て処理が終了する。
図6は、メモリアクセス時の処理を示すフローチャートである。まず、アプリケーションが、メモリアクセスを伴う命令すなわちメモリアクセス要求を発行する(ブロック602)。すると、アドレスマッチ回路430が、そのメモリアクセス要求によるアクセスアドレスを、各アドレス設定レジスタ410に設定された開始アドレス及び終了アドレスと比較することにより、当該アクセスアドレスがアクセス可能領域内のアドレスか、及び、当該アクセスアドレスがアクセス禁止領域内のアドレスか、を判定する(ブロック604)。
このとき、当該アクセスアドレスがアクセス可能領域内のアドレスである場合には、正常に読出し又は書込み処理が実行される(ブロック606)。次いで、アドレストラップ発生回路440が、対応するトラップタイプ設定レジスタ420に設定された、正常なアクセス要求によりアクセスされたことを表すトラップタイプ“#10”のトラップを生成する(ブロック608)。OSは、このトラップを受けて、アクセスログの採取を実行する(ブロック610)。
一方、当該アクセスアドレスがアクセス禁止領域内のアドレスである場合、アドレストラップ発生回路440が、対応するトラップタイプ設定レジスタ420に設定された、不当なアクセス要求によりアクセスされたことを表すトラップタイプ“#11”のトラップを生成する(ブロック612)。OSは、このトラップを受けて、メモリアクセスを発行したプロセス(アプリケーション)のメモリイメージ(コアファイル)を生成して、該当プロセスを強制終了させる(ブロック614)。
図7は、メモリ領域の設定を例示する図である。図7に示される例では、アドレス“A”からアドレス“B”までのメモリ領域が、アプリケーションに割当てられたアクセス可能領域である。そして、当該アクセス可能領域に続くアドレス“C”からアドレス“D”までのメモリ領域が、当該アクセス可能領域に対応して設けられたアクセス禁止領域である。同様に、アドレス“E”からアドレス“F”までのメモリ領域がアクセス可能領域で、アドレス“G”からアドレス“H”までのメモリ領域がアクセス禁止領域である。
図8は、図7に示されるメモリ領域の設定に対応する動作について説明するための図である。各アドレス設定レジスタ410は、開始アドレスレジスタと終了アドレスレジスタとを含む。図7に示されるメモリ領域の設定に対応して、一つのアドレス設定レジスタ410の開始アドレスレジスタにはアドレス“A”が設定されるとともに、その終了アドレスレジスタにはアドレス“B”が設定される。更に、当該アドレス設定レジスタ410に対応するトラップタイプ設定レジスタ420には、アクセス可能領域用に用意された、正常なアクセス要求によりアクセスされたことを表すトラップタイプ“#10”が設定される。
もう一つのアドレス設定レジスタ410の開始アドレスレジスタにはアドレス“C”が設定されるとともに、その終了アドレスレジスタにはアドレス“D”が設定される。更に、当該アドレス設定レジスタ410に対応するトラップタイプ設定レジスタ420には、アクセス禁止領域用に用意された、不当なアクセス要求によりアクセスされたことを表すトラップタイプ“#11”が設定される。アドレス“E”から “F”までのアクセス可能領域、及び、アドレス“G”から“H”までのアクセス禁止領域についても同様である。
かくして、図7及び図8に示される例では、アドレス“A”から“B”までのメモリ領域又はアドレス“E”から “F”までのメモリ領域、すなわち、アクセス可能領域への正常なアクセス要求があった場合には、トラップタイプ“#10”のトラップが生成される。そのトラップを受けて、OSはメモリアクセスログを採取する。
一方、アドレス“C”から“D” までのメモリ領域又はアドレス“G”から“H”までのメモリ領域、すなわち、アクセス禁止領域へのアクセス要求があった場合には、不当なアクセス要求によりアクセスされたことを表すトラップタイプ“#11” のトラップが生成される。そのトラップを受けて、OSは、メモリイメージ(コアファイル)を作成するとともに該当プロセス(アプリケーション)を異常終了させる。
このように、本実施形態では、アプリケーションがOSから割当てられたメモリ領域をアクセスすると、対応するトラップが生成され、そのトラップを受信したOSが、アクセスログを採取する。一方、アプリケーションがOSから割当てられたメモリ領域を超えた不当な書込みを行おうとすると、対応するトラップが生成され、そのトラップを受信したOSが、即座に該当アプリケーションのメモリイメージ(コアファイル)を生成して異常終了させる。そのため、不当な書込みを早期に検出することが可能となる。
本開示技術では、用途に合わせてハードウェアが報告するトラップタイプが設定可能とされ、トラップの種類が複数用意されることで、アプリケーションがアクセスした領域によってアクセスログを採取するか又は該当アプリケーションのコアファイルを生成して異常終了させるかを変更することができる。
アプリケーションが獲得したメモリ領域以外の領域への不当な書込み要求がアプリケーションから発行されると、即座にアプリケーションのコアファイルが生成されてアプリケーションが異常終了せしめられる。そのため、不当な書込みを行おうとしたプロセスを容易に特定することができる。また、情報処理装置のトラップ機構を利用してメモリアクセスを監視することになるため、デバッガなどのソフトウェアで全てのメモリアクセスを監視する必要がなく、これによる性能劣化はほとんどない。
前述のように、図2及び図3に示される従来技術では、アプリケーションがメモリ割当て要求を発行する度に、OSのメモリ管理単位分(ページ、例えば、1ページ=8KBとする)の使用できない領域が発生していた。本開示技術では、OSのメモリ管理単位に依存せず、任意のサイズでアクセス禁止領域を設定することができるため、余分なメモリ確保は必要ない。また、図9に示されるように、開示の情報処理装置は、同一ページ内にアクセス禁止領域を複数設定することができる。
なお、本実施形態では、アドレス設定レジスタ410の各々は、メモリ領域の開始アドレスが設定される開始アドレスレジスタと、メモリ領域の終了アドレスが設定される終了アドレスレジスタと、を含むように構成されている。それに代えて、アドレス設定レジスタ410の各々が、メモリ領域の開始アドレスが設定される開始アドレスレジスタと、メモリ領域のサイズが設定される領域サイズレジスタと、を含むように構成することも可能である。

Claims (7)

  1. メモリ領域が設定される複数のアドレス設定レジスタと、
    前記複数のアドレス設定レジスタに対応して設けられ、前記複数のアドレス設定レジスタの各々に設定されたメモリ領域に対応するトラップタイプが設定されるトラップタイプ設定レジスタと、
    前記複数のアドレス設定レジスタの各々に設定されたメモリ領域へのアクセス要求に応じて、対応するトラップタイプ設定レジスタに設定されたトラップタイプのトラップを生成するトラップ機構と、
    使用者からの入力に応じて、予めアクセス禁止領域サイズを設定する禁止領域サイズ設定手段と、
    アプリケーションからのメモリ割当て要求に応じて、該アプリケーションに対しメモリ領域をアクセス可能領域として割当て、該アクセス可能領域を第一のアドレス設定レジスタに設定し、かつ、第一のトラップタイプを対応する第一のトラップタイプ設定レジスタに設定し、該アクセス可能領域の直後に該禁止領域サイズ設定手段により設定されたアクセス禁止領域サイズを有するアクセス禁止領域を設け、該アクセス禁止領域を第二のアドレス設定レジスタに設定し、かつ、第二のトラップタイプを対応する第二のトラップタイプ設定レジスタに設定するメモリ割当て手段と、
    該第一のトラップタイプのトラップが該トラップ機構により生成された場合に該第一のトラップタイプに従ってトラップ処理を実行し、該第二のトラップタイプのトラップが該トラップ機構により生成された場合に該第二のトラップタイプに従ってトラップ処理を実行するトラップ処理手段と、
    を具備する情報処理装置。
  2. 前記トラップ処理手段は、前記第一のトラップタイプに従ってトラップ処理を実行する場合、メモリアクセスのログを採取するメモリアクセスログ採取手段として動作し、前記トラップ処理手段が第二のトラップタイプに従ってトラップ処理を実行する場合、前記アプリケーションのメモリイメージを生成して該アプリケーションを異常終了させる不当アクセス処理手段として動作する、
    請求項1に記載の情報処理装置。
  3. 前記アドレス設定レジスタの各々は、メモリ領域の開始アドレスが設定される開始アドレスレジスタと、メモリ領域の終了アドレスが設定される終了アドレスレジスタと、を含む、請求項1又は2に記載の情報処理装置。
  4. メモリ領域が設定される複数のアドレス設定レジスタと、
    前記複数のアドレス設定レジスタに対応して設けられ、前記複数のアドレス設定レジスタの各々に設定されたメモリ領域に対応するトラップタイプが設定されるトラップタイプ設定レジスタと、
    前記複数のアドレス設定レジスタの各々に設定されたメモリ領域へのアクセス要求に応じて、対応するトラップタイプ設定レジスタに設定されたトラップタイプのトラップを生成するトラップ機構と、
    を備える情報処理装置において、不当な書込みによるメモリの破壊を防止するメモリ保護方法であって、
    禁止領域サイズ設定手段が、使用者からの入力に応じて、予めアクセス禁止領域サイズを設定するステップと、
    メモリ割当て手段が、アプリケーションからのメモリ割当て要求に応じて、該アプリケーションに対しメモリ領域をアクセス可能領域として割当て、該アクセス可能領域を第一のアドレス設定レジスタに設定し、かつ、第一のトラップタイプを対応する第一のトラップタイプ設定レジスタに設定し、該アクセス可能領域の直後に該禁止領域サイズ設定手段により設定されたアクセス禁止領域サイズを有するアクセス禁止領域を設け、該アクセス禁止領域を第二のアドレス設定レジスタに設定し、かつ、第二のトラップタイプを対応する第二のトラップタイプ設定レジスタに設定するメモリ割当てステップと、
    トラップ処理手段が、該第一のトラップタイプのトラップが該トラップ機構により生成された場合に該第一のトラップタイプに従ってトラップ処理を実行し、該第二のトラップタイプのトラップが該トラップ機構により生成された場合に該第二のトラップタイプに従ってトラップ処理を実行するトラップ処理ステップと、
    を具備する、情報処理装置のメモリ保護方法。
  5. 前記トラップ処理ステップは、前記第一のトラップタイプに従ってトラップ処理を実行する場合、メモリアクセスのログを採取し、前記トラップ処理ステップが第二のトラップタイプに従ってトラップ処理を実行する場合、前記アプリケーションのメモリイメージを生成して該アプリケーションを異常終了させる、
    請求項4に記載の情報処理装置のメモリ保護方法。
  6. メモリ領域が設定される複数のアドレス設定レジスタと、
    前記複数のアドレス設定レジスタに対応して設けられ、前記複数のアドレス設定レジスタの各々に設定されたメモリ領域に対応するトラップタイプが設定されるトラップタイプ設定レジスタと、
    前記複数のアドレス設定レジスタの各々に設定されたメモリ領域へのアクセス要求に応じて、対応するトラップタイプ設定レジスタに設定されたトラップタイプのトラップを生成するトラップ機構と、
    を備える情報処理装置において、不当な書込みによるメモリの破壊を防止するメモリ保護方法を実行させるプログラムであって、
    使用者からの入力に応じて、予めアクセス禁止領域サイズを設定するステップと、
    アプリケーションからのメモリ割当て要求に応じて、該アプリケーションに対しメモリ領域をアクセス可能領域として割当て、該アクセス可能領域を第一のアドレス設定レジスタに設定し、かつ、第一のトラップタイプを対応する第一のトラップタイプ設定レジスタに設定し、該アクセス可能領域の直後に該禁止領域サイズ設定ステップにより設定されたアクセス禁止領域サイズを有するアクセス禁止領域を設け、該アクセス禁止領域を第二のアドレス設定レジスタに設定し、かつ、第二のトラップタイプを対応する第二のトラップタイプ設定レジスタに設定するメモリ割当てステップと、
    該第一のトラップタイプのトラップが該トラップ機構により生成された場合に該第一のトラップタイプに従ってトラップ処理を実行し、該第二のトラップタイプのトラップが該トラップ機構により生成された場合に該第二のトラップタイプに従ってトラップ処理を実行するトラップ処理ステップと、
    を前記情報処理装置に実行させるプログラム。
  7. 前記トラップ処理ステップは、前記第一のトラップタイプに従ってトラップ処理を実行する場合、メモリアクセスのログを採取し、前記トラップ処理ステップが第二のトラップタイプに従ってトラップ処理を実行する場合、前記アプリケーションのメモリイメージを生成して該アプリケーションを異常終了させる、
    請求項6に記載のプログラム。
JP2010529561A 2008-09-22 2008-09-22 情報処理装置及びそのメモリ保護方法 Active JP5392263B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/067100 WO2010032330A1 (ja) 2008-09-22 2008-09-22 情報処理装置及びそのメモリ保護方法

Publications (2)

Publication Number Publication Date
JPWO2010032330A1 JPWO2010032330A1 (ja) 2012-02-02
JP5392263B2 true JP5392263B2 (ja) 2014-01-22

Family

ID=42039183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010529561A Active JP5392263B2 (ja) 2008-09-22 2008-09-22 情報処理装置及びそのメモリ保護方法

Country Status (3)

Country Link
US (1) US20110173412A1 (ja)
JP (1) JP5392263B2 (ja)
WO (1) WO2010032330A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8607210B2 (en) 2010-11-30 2013-12-10 Micron Technology, Inc. Code patching for non-volatile memory
JP5914145B2 (ja) * 2012-05-01 2016-05-11 ルネサスエレクトロニクス株式会社 メモリ保護回路、処理装置、およびメモリ保護方法
US9026720B2 (en) 2013-02-07 2015-05-05 Apple Inc. Non-volatile memory monitoring
US9529809B2 (en) * 2013-10-17 2016-12-27 International Business Machines Corporation Managing log data using a circular fixed size file
JP6784581B2 (ja) * 2016-12-06 2020-11-11 日立オートモティブシステムズ株式会社 自動車用電子制御装置及びdmaコントローラの異常検知方法
KR20190074691A (ko) * 2017-12-20 2019-06-28 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 반도체 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163322A (ja) * 1998-11-27 2000-06-16 Nec Kofu Ltd メモリパトロール方法と制御回路
JP2002049531A (ja) * 2000-08-03 2002-02-15 Hitachi Ltd メモリ領域境界検出方法及びコンピュータシステム
JP2002055851A (ja) * 2000-08-10 2002-02-20 Himacs Ltd コンピュータシステムにおける不正なメモリアクセスを検出する監視方法及びそのプログラム並びにその記録媒体
JP2003256237A (ja) * 2002-02-27 2003-09-10 Toshiba Corp 割り込み発生装置、割り込み発生方法および割り込み発生プログラム
JP2006018705A (ja) * 2004-07-05 2006-01-19 Fujitsu Ltd メモリアクセストレースシステムおよびメモリアクセストレース方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088036A (en) * 1989-01-17 1992-02-11 Digital Equipment Corporation Real time, concurrent garbage collection system and method
JPH03147028A (ja) * 1989-11-01 1991-06-24 Hitachi Ltd メモリアクセス監視回路付マイクロコンピュータシステム
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
JPH07191881A (ja) * 1993-12-27 1995-07-28 Nec Corp 実時間メモリ監視方式
US6934832B1 (en) * 2000-01-18 2005-08-23 Ati International Srl Exception mechanism for a computer
US20020065646A1 (en) * 2000-09-11 2002-05-30 Waldie Arthur H. Embedded debug system using an auxiliary instruction queue
JP2004013556A (ja) * 2002-06-07 2004-01-15 Matsushita Electric Ind Co Ltd プロセッサ装置、コンパイル装置及びその方法
US7610433B2 (en) * 2004-02-05 2009-10-27 Research In Motion Limited Memory controller interface
JP2005338892A (ja) * 2004-05-24 2005-12-08 Toshiba Corp メモリ異常使用検知装置
US7711937B1 (en) * 2005-08-17 2010-05-04 Oracle America, Inc. Trap-based mechanism for tracking accesses of logical components
US8108840B2 (en) * 2006-01-12 2012-01-31 International Business Machines Corporation Method for enhancing debugger performance of hardware assisted breakpoints
JP2008041036A (ja) * 2006-08-10 2008-02-21 Sony Corp メモリアクセス監視装置およびその方法
JP2008146542A (ja) * 2006-12-13 2008-06-26 Fujitsu Ltd マルチプロセッサシステム、プロセッサ装置及び例外処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163322A (ja) * 1998-11-27 2000-06-16 Nec Kofu Ltd メモリパトロール方法と制御回路
JP2002049531A (ja) * 2000-08-03 2002-02-15 Hitachi Ltd メモリ領域境界検出方法及びコンピュータシステム
JP2002055851A (ja) * 2000-08-10 2002-02-20 Himacs Ltd コンピュータシステムにおける不正なメモリアクセスを検出する監視方法及びそのプログラム並びにその記録媒体
JP2003256237A (ja) * 2002-02-27 2003-09-10 Toshiba Corp 割り込み発生装置、割り込み発生方法および割り込み発生プログラム
JP2006018705A (ja) * 2004-07-05 2006-01-19 Fujitsu Ltd メモリアクセストレースシステムおよびメモリアクセストレース方法

Also Published As

Publication number Publication date
US20110173412A1 (en) 2011-07-14
JPWO2010032330A1 (ja) 2012-02-02
WO2010032330A1 (ja) 2010-03-25

Similar Documents

Publication Publication Date Title
US7845006B2 (en) Mitigating malicious exploitation of a vulnerability in a software application by selectively trapping execution along a code path
RU2510074C2 (ru) Система и способ проверки исполняемого кода перед его выполнением
JP5392263B2 (ja) 情報処理装置及びそのメモリ保護方法
JP6370098B2 (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
JP2007133544A (ja) 障害情報解析方法及びその実施装置
JP5716824B2 (ja) マルチコアプロセッサシステム
US11226755B1 (en) Core dump in a storage device
KR20170060815A (ko) 메모리의 커널영역을 보호하기 위한 전자장치 및 방법
US8271711B2 (en) Program status detecting apparatus and method
US10339082B2 (en) Technologies for stable secure channel identifier mapping for static and dynamic devices
JP6317646B2 (ja) 情報処理装置、不正プログラム実行防止方法、プログラム及び記録媒体
JP4516693B2 (ja) コンピュータ、アドレス有効性照合プログラムを記録した記録媒体、及びアドレス有効性照合方法
US8042176B2 (en) Computer readable medium on which is stored a program for preventing the unauthorized use of program data
JP5920509B2 (ja) コントローラの制御プログラム、およびコントローラの制御方法
JP2006018705A (ja) メモリアクセストレースシステムおよびメモリアクセストレース方法
TW201502846A (zh) 安全事件偵測技術
JP2002055851A (ja) コンピュータシステムにおける不正なメモリアクセスを検出する監視方法及びそのプログラム並びにその記録媒体
JP2012185547A (ja) 改ざん検出装置、監視システム、改ざん検出方法、およびプログラム
JP4611659B2 (ja) 不正アクセス検出装置、不正アクセス検出方法、プログラム
KR100846123B1 (ko) 키보드 보안 방법 및 상기 방법을 이용한 키보드 보안드라이버를 기록한 기록 매체
US20210049030A1 (en) Graphics processing unit profiling tool virtualization
JP2017208058A (ja) 情報処理装置
JP2016076152A (ja) エラー検出システム、エラー検出方法およびエラー検出プログラム
JP5538767B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6364847B2 (ja) 主記憶アクセス制御装置、主記憶アクセス制御システム、主記憶アクセス制御方法、及び、主記憶アクセス制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130502

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: 20130917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130930

R150 Certificate of patent or registration of utility model

Ref document number: 5392263

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150