アーカイブ

未踏IT人材発掘・育成事業:2019年度採択プロジェクト概要(大塚PJ)

最終更新日:2019年6月28日

1.担当PM

  • 首藤 一幸(東京工業大学 情報理工学院 准教授)

2.採択者氏名

  • 大塚 馨(早稲田大学高等学院)

3.採択金額

  • 2,304,000円

4.テーマ名

  • プロセッサトレースを用いた組み込みデバイス向けファザーの開発

5.関連Webサイト

  • なし

6.申請テーマ概要

近年IoTデバイスやスマートフォンの普及に伴い様々なチップセットが開発されている。中でもARMプロセッサシリーズは組み込みデバイス産業において支配的と言えるほど普及しており、多種多様なベンダがデバイスドライバやファームウェアを開発している。

本プロジェクトは、ファジングと呼ばれるランダムな入力を次々と生成し、それをプログラムに与えることでソフトウェアをテストする手法を用いることで、Androidを始めとする組み込みデバイスシステムソフトウェアのバグや脆弱性を高効率に検出するツールを開発する。

本システムはARMプロセッサの持つCoreSightと呼ばれる命令トレース機能とハイパーバイザ技術を組み合わせることで、ゲスト上で対象のシステムソフトウェアを動作させながら、カバレッジ情報を記録する。この情報をフィードバックとしてファザーが入力を生成することで、システムソフトウェアに対するカバレッジベースファジングを実現する。本システムはCPUの提供するハードウェアトレーサと仮想化支援機構を使用するため、エミュレーションやトレースによるオーバヘッドはほぼ無く、ネイティブ動作時と殆ど変わらない速度で高速なシステムソフトウェアファジングを行うことが可能となる。

7.採択理由

プログラムのバグやセキュリティ的な問題を発見するツール、ファザー(fuzzer)を開発する。スマートフォンなどの組み込み機器で非常に多く使われているARMプロセッサを対象とする。開発目標は、対象のソースコードなしでも適用できること、OSに依存しないこと、OS自体(カーネル)も対象とできること、高速であること、また、カバレッジベースゆえより広範なバグを発見し得ること、である。

2015年、スマホのOS Androidに深刻なバグStagefrightが見つかり、ある企業は数カ月間Androidを使用禁止とした。こうしたことが起きているにも関わらず、いまだにARMプロセッサ上のAndroidを対象にできるファザーは入手可能となっていない。大塚君がこの状況に一石を投じてくれると確信している。

更新履歴

  • 2019年6月28日

    2019年度採択プロジェクト概要(大塚PJ)を掲載しました。