• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2014 Fiscal Year Research-status Report

CPUの機能拡張とOS連携によるバッファオーバフロー攻撃検出方式

Research Project

Project/Area Number 26330167
Research InstitutionRitsumeikan University

Principal Investigator

毛利 公一  立命館大学, 情報理工学部, 教授 (90313296)

Project Period (FY) 2014-04-01 – 2017-03-31
Keywords情報セキュリティ / マルウェア対策 / エンドポイントセキュリティ
Outline of Annual Research Achievements

本研究課題は,ソフトウェアの脆弱性の中でも影響範囲の広いバッファオーバフロー攻撃に着目し,それを完全に防止する新たな方式を提案することを目的とする.具体的には,CPU にバッファオーバフロー攻撃を検出する機能を追加し,OS がその機能を用いてセキュアコンピューティング環境を実現するものである.
平成26年度は,研究のスタートアップ段階として,次の3点について調査・研究を進める計画であった.(1) QEMUの内部構成について調査する.具体的には,後述の(2)を実現するための手法を調査する.(2) 上記(1)に基づいて,プロセスID とスレッドID を格納する専用レジスタを追加し,それらの操作をするための命令群を拡張する.(3) OS によるプロセス・スレッドの生成・消滅時,スケジューラによる切替え時に,OS が上記(2)のレジスタに値をセットするようOSを拡張する.
1年目は上記のように,バッファオーバフロー攻撃を検知する機能を実現するための礎となる部分についての研究を進めた.進捗としてはこれらを十分達成したと判断している.具体的な成果については下記の論文で公表している.
柴田 達也,奥野 航平,大月 勇人,瀧本 栄二,毛利 公一,"QEMUを用いた命令拡張によるリターンアドレス書換え攻撃検知手法",情報処理学会研究報告,Vol. 2015-CSEC-68,No. 33,pp. 1-8,2015.

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

上述の研究実績の概要で述べたとおり,平成26年度は,研究のスタートアップ段階として,次の3点について調査・研究を進める計画であった.(1) QEMUの内部構成について調査する.具体的には,後述の(2)を実現するための手法を調査する.(2) 上記(1)に基づいて,プロセスID とスレッドID を格納する専用レジスタを追加し,それらの操作をするための命令群を拡張する.(3) OS によるプロセス・スレッドの生成・消滅時,スケジューラによる切替え時に,OS が上記(2)のレジスタに値をセットするようOSを拡張する.
1年目は上記のように,バッファオーバフロー攻撃を検知する機能を実
現するための礎となる部分についての研究を進め,(1)~(3)で示された事項について実現できた.また,具体的な成果については下記の論文で公表している.よって,進捗としてはこれらを十分達成したと判断した.
柴田 達也,奥野 航平,大月 勇人,瀧本 栄二,毛利 公一,"QEMUを用いた命令拡張によるリターンアドレス書換え攻撃検知手法",情報処理学会研究報告,Vol. 2015-CSEC-68,No. 33,pp. 1-8,2015.

Strategy for Future Research Activity

平成27年度は,本研究課題の中心となる技術の確立を行う.具体的には,研究実績の概要で述べた(1)~(3)に引き続き,次の(4)~(8)の5つのステップで進める.
(4) call 命令とret 命令の拡張を行う.この拡張では,call 命令実行時には戻り先アドレスをスタックに積むと同時に,CPU 内の保護されたメモリ領域(保護領域)に戻り先アドレスをコピーする.ret 命令実行時には,保護領域内の戻り先アドレスとスタック内の戻りアドレスを比較する.なお,このような処理をスレッド単位で保護領域を切り替えながら比較したり,OS のような信頼できるプログラムの場合は比較を省略するなどの機能なども同時に検討・開発する.(5) 前述の(4)の処理でアドレスを比較して異なる値であった場合は,バッファオーバフロー攻撃を受けていることが検出できるため,割込を発生させる処理をエミュレートしなければならない.(6) 前述の(5)で発生した割込を受けて,OS は当該プロセスを終了させる等の処理を行う必要がある.そのための割り込みハンドラの実装を行う.(7) 前述の(4)~(6)を一連の動作として実現する必要があるが,OS の起動前後にはCPUが16ビットモードになったり,ユーザレベルでは用いない特殊なプログラミングテクニックを用いていることが多いため,その対処が必要となると予想している.(8) 以上で基本的な実装が完了するため,オープンソースのOS を利用した評価実験を実施する.様々なアプリケーションやライブラリにて実験を行う.
以上のように,2年目で,バッファオーバフロー攻撃の検知に必要な機能を実現し,本研究の基本的知見を確立することを目標とする.

Causes of Carryover

次年度使用額は,研究開発用機器の購入を見送ったことによって発生したものである.間もなく市場に出る予定のCPUには,プログラムの実行の流れを追いかけるためのトレース機能が備わる予定となっている.この機能を本研究に取り入れ,より高度化を図ることを検討するため,あえて年度内の購入を見送った.なお,当初予定していた研究開発用機器については,研究室の既存設備を一時的に活用することで解決しているため,計画に影響はない.

Expenditure Plan for Carryover Budget

次年度に当該のトレース機能を有するCPUが市場に出たときの購入費用として使用する計画である.

  • Research Products

    (1 results)

All 2015

All Journal Article (1 results)

  • [Journal Article] QEMUを用いた命令拡張によるリターンアドレス書換え攻撃検知手法2015

    • Author(s)
      柴田 達也,奥野 航平,大月 勇人,瀧本 栄二,毛利 公一
    • Journal Title

      情報処理学会研究報告

      Volume: 2015-CSEC-68 Pages: 1-8

URL: 

Published: 2016-05-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi