特許
J-GLOBAL ID:201103007198988551
プログラム実行フローの修正を防止する方法及び装置
発明者:
,
,
,
,
出願人/特許権者:
代理人 (10件):
奥山 尚一
, 有原 幸一
, 松島 鉄男
, 河村 英文
, 吉田 尚美
, 中村 綾子
, 深川 英里
, 森本 聡二
, 角田 恭子
, 広瀬 幹規
公報種別:公開公報
出願番号(国際出願番号):特願2010-121289
公開番号(公開出願番号):特開2011-008778
出願日: 2010年05月27日
公開日(公表日): 2011年01月13日
要約:
【課題】攻撃者がコンピュータプログラムの実行フローを修正することを防止する。【解決手段】攻撃者によって修正されていないプログラム実行フローの操作が置かれているコンピュータのメモリの1つ以上の範囲を識別し、メモリアドレスが1つ以上の識別されたメモリ範囲の中にあることを確実にするためにメモリアドレスをマスクするためのマスクを決定し、プログラムの実行フローを検査して、プログラムの実行フローが、プログラム実行フローの次の操作が置かれている目標メモリアドレスへジャンプすることを引き起こすプログラムの1つ以上の操作を識別し、識別された1つ以上の操作の実行前にプログラム実行フローの中へある操作を挿入する。挿入された操作は、決定されたマスクを目標アドレスへ適用し、これによってジャンプを引き起こす操作が、1つ以上の識別されたメモリ範囲の中にあるメモリ場所へ向けられる。【選択図】図1
請求項(抜粋):
攻撃者がコンピュータプログラムの実行フローを修正することを防止する方法であって、前記コンピュータプログラムは、順次に実行される操作のシーケンスを含み、
攻撃者によって修正されていない前記プログラムの実行フローの操作が置かれていることが期待されるコンピュータのメモリの1つ以上の範囲を識別するステップと、
メモリアドレスが前記1つ以上の識別されたメモリ範囲の中にあることを確実にするために、前記メモリアドレスをマスクするためのマスクを決定するステップと、
前記プログラムの実行フローを検査して、前記プログラムの実行フローが、前記プログラムの実行フローの次の操作が置かれている目標メモリアドレスへジャンプすることを引き起こす前記プログラムの1つ以上の操作を識別するステップと、
前記識別された1つ以上の操作の実行前に、前記プログラムの実行フローの中へある操作を挿入するステップであって、前記挿入された操作は、前記決定されたマスクを前記目標メモリアドレスへ適用することによって前記目標メモリアドレスをマスクし、これによって、前記ジャンプを引き起こす操作が、前記1つ以上の識別されたメモリ範囲の中にあるメモリ場所へ向けられることを確実にする、ステップと
を含み、
前記コンピュータの前記メモリの1つ以上の範囲を識別するステップは、
プログラムコードの前記プログラムの実行フローを検査し、前記プログラムの実行フローの間に呼び出される関数について、前記関数が呼び出されるメモリアドレス場所を決定することを含み、
前記方法は、
前記プログラムの実行フローが、前記呼び出された関数から、前記関数が呼び出されたアドレス又は前記関数が呼び出されたアドレスの次のアドレスへ戻るようにするマスクを決定するステップと、
前記呼び出された関数からのリターン処理が実行される前は常に、前記挿入された操作へ前記マスクを適用するステップと
を更に含む方法。
IPC (1件):
FI (1件):
Fターム (1件):
引用特許:
前のページに戻る