2022 Fiscal Year Research-status Report
Information leak detection through improved IoT firmware rehosting
Project/Area Number |
22K12026
|
Research Institution | Nagoya Institute of Technology |
Principal Investigator |
斎藤 彰一 名古屋工業大学, 工学(系)研究科(研究院), 教授 (70304186)
|
Project Period (FY) |
2022-04-01 – 2025-03-31
|
Keywords | IoTセキュリティ / ファームウェア解析 / Symbolic Execution |
Outline of Annual Research Achievements |
本研究は、IoTデバイスの安全性を向上させ、最終的には社会インフラの維持を容易にすることが目的である。そのために、IoTデバイスのファームウェアを正確に解析する基盤が必要である。しかし、本研究のような小規模研究チームではすべてを実現することは困難である。本研究では目標を絞り、ファームウェア内のプログラムに基づいて周辺機器の入出力をソフトウェアでエミュレーションする方法を構築する。これは、既存の研究においても十分に達成できておらず、エミュレーションの正確性向上には不可欠な課題である。 2022年度は、IoTファームウェアにおけるハードウェアアクセスをSymbolic ExecutionとConcolic Executionを利用して解析し、実行を継続するシステムの開発を行った。このシステムでは、すでに公開されているシステムを利用して解析対象の動作解析を行い、従来システムではカバーしきれないプログラムの流れを正確に解析することを目指している。現時点では、ハードウェアの違いによる差分を吸収できずに、多様な実行環境での動作の再現ができていない。このため、まだ未完成であり今後も開発を継続する必要がある。
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
2022年度の研究は、IoTデバイスの周辺機器に対するアクセスをプログラム実行制約に基づいて決定する方法の確立と、その方法によるハードウェアをアクセスするWebアプリのエミュレーションの実現、およびベアメタルIoTシステムの解析カバレッジの拡大の方法確立を目指す。まず、IoTデバイスの周辺機器へのアクセスに対して、Symbolic/Concolic Executionを使用することでハードウェアを用いずに実行を継続する方法を確立することを目指した。この方法には既存研究が存在するため、その研究方法の再現と拡張のための調査を実施した。この調査結果を用いて、ハードウェアにアクセスするWebアプリ(CGI)とベアメタルIoTシステムを、ハードウェアを用いずに動作させるシステムの開発を行っている。 まず、Webアプリ(CGI)の動作は、CGIのプロセスをSymbolic Executionシステムとデバッガと連結する環境を構築し、CGIプロセスの実行に合わせてハードウェアへのアクセス状況の解析と出力値生成を行う。本システムの基礎的な機能の再現調査は完了している。しかし、画像のようなデータ構造を扱う場合の処理にさらなる検討が必要であり、2023年度以降への課題となっている。 次に、ベアメタルIoTシステムの動作は、既存研究を活用しQEMUと2つのSymbolic Executionシステムを組み合わせる方法により単独では解析できないコードを解析できるシステムを構築している。しかし、2つの既存Symbolic Executionシステムは連結を意識した構造ではないため、連結方法の検討に時間を要している。現状は、両システムにおいて安定してプログラムを動作させる環境の調査途中である。
|
Strategy for Future Research Activity |
2022年度開発途中となっている、2つの解析システムの完成を目指す。その後、プログラムによるデータの流れを解析するシステムの設計に着手する計画である。さらに、複数のプロセスを介したデータの流れを解析する準備として、必要に応じてWindowsやAndroidを含めた複数プロセスによる攻撃および情報流通の調査も行う予定である。 まず、Webアプリを対象としたシステムでは、単一プログラムのアクセスに対するSymbolic Executionを用いた出力値生成を可能とし、これをハードウェアなしでデバッグ可能とする。次いで、複数プログラムを用いた場合のハードウェア出力値生成を行う。 次に、ベアメタルIoTシステムでは、連結する2つのシステムが単独で解析および評価できる環境を実現する。つまり、2システムにおいて同一のファームウェアの実行を可能とすることを目指す。次いで、2システムの連携と解析切替システムの設計を行う。これは、解析対象プログラムの実行イメージを、2システム間で移動しつつ解析に適したシステムにおいて解析を継続できるようにする。
|
Causes of Carryover |
2022年度中に発表に至るまでの成果を得ることができず、学会発表を行っていないため旅費に未使用がでた。これを、2023年度以降の旅費および研究開発環境購入の経費に充てる計画である。
|