2007 Fiscal Year Annual Research Report
暗号化命令コードによるバッファオーバーフロー検知システムの研究
Project/Area Number |
19650008
|
Research Institution | University of Tsukuba |
Principal Investigator |
山口 喜教 University of Tsukuba, 大学院・システム情報工学研究科, 教授 (00312827)
|
Co-Investigator(Kenkyū-buntansha) |
前田 敦司 筑波大学, 大学院・システム情報工学研究科, 准教授 (50293139)
|
Keywords | セキュア・ネットワーク / 暗号・認証 / 命令コード変換 / 仮想技術 / ハニーポット |
Research Abstract |
本研究の目的は、侵入者のバッファオーバーフロー攻撃を実行時に検知することのできるハニーポットシステムに利用できるような仮想計算機を構成することである。そのために、既存のプロセッサコアの命令コードを個々のシステムに固有のキーによって、暗号化のように変換するような仮想計算機を構成し、その効果を検証した。プロセッサコアは、命令コード変換器を介して、命令メモリに格納された命令コードを変換しつつ処理を行う。もし、命令メモリが何らかの手段によって改ざんされたとした場合に、そのコードは変換器を通って、プロセッサで処理されるため、通常の正しい命令コード列とはならずに、エラーを引き起こす可能性が高い。以上のシステムの可能性および実現性を評価するために、まず、誤った命令コードが実行された場合に、それがどのように検出できるかについての評価を行った。具体的には、オープンソースの仮想計算機のエミュレータQEMUを利用し、そのソースコードの一部を書き換えることによって、暗号化された命令コードを処理することが可能なプロセッサが実現可能であるかに関して実験を行った。QEMU仮想マシン上にUNIX系のOSの基本的なシステムを構築し、その上でバッファオーバーフローが生じるプログラムを走らせることによって、実際にバッファオーバーフローが生じ、侵入者の意図する任意のコードが実行されることを確かめた。次に、侵入者の意図するプログラムを実行する命令が機械語のコードとして正しく解釈されないように、命令コードのデータをいくつかの方法で変換することにより、侵入者の意図するプログラムが正しく実行されなくなり、エラーを引き起こすことが確かめられた。以上の結果から、提案手法の方針がバッファオーバーフローの実行時検知の観点から有用であると考えられ、今後は、命令コードの変換や復元手法や仮想マシンの構築を行う予定である。
|