Information leak detection through improved IoT firmware rehosting
Project/Area Number |
22K12026
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 60070:Information security-related
|
Research Institution | Nagoya Institute of Technology |
Principal Investigator |
斎藤 彰一 名古屋工業大学, 工学(系)研究科(研究院), 教授 (70304186)
|
Project Period (FY) |
2022-04-01 – 2025-03-31
|
Project Status |
Granted (Fiscal Year 2023)
|
Budget Amount *help |
¥4,160,000 (Direct Cost: ¥3,200,000、Indirect Cost: ¥960,000)
Fiscal Year 2024: ¥1,300,000 (Direct Cost: ¥1,000,000、Indirect Cost: ¥300,000)
Fiscal Year 2023: ¥1,820,000 (Direct Cost: ¥1,400,000、Indirect Cost: ¥420,000)
Fiscal Year 2022: ¥1,040,000 (Direct Cost: ¥800,000、Indirect Cost: ¥240,000)
|
Keywords | IoTセキュリティ / ファームウェア解析 / Symbolic Execution / IoT / Firmware / Rehosting / Concolic Execution |
Outline of Research at the Start |
本研究は、IoTデバイスの安全性を向上させ、最終的には社会インフラの維持を容易にすることが目的である。そのために、IoTデバイスのファームウェアを正確に解析する基盤が必要である。本研究では目標を絞り、ファームウェア内のプログラムに基づいて周辺機器の入出力をソフトウェアでエミュレーションする方法を構築する。これは、既存の研究においても十分に達成できておらず、エミュレーションの正確性向上には不可欠な課題であり、この課題の解決を目指す。
|
Outline of Annual Research Achievements |
本研究は、IoTデバイスの安全性を向上させ、最終的には社会インフラの維持を容易にすることが目的である。そのために、IoTデバイスのファームウェアを正確に解析する基盤が必要である。本研究では目標を絞り、ファームウェア内のプログラムに基づいて周辺機器の入出力をソフトウェアでエミュレーションする方法を構築する。これは、既存の研究においても十分に達成できておらず、エミュレーションの正確性向上には不可欠な課題である。 2023年度は、前年度より開発を行っているIoTファームウェアにおけるハードウェアアクセスをSymbolic ExecutionとConcolic Executionを利用して解析し、実行を継続する2つのシステムの開発を行い発表した。これらのシステムでは、すでに公開されているシステムを利用して解析対象の動作解析を行い、従来システムではカバーしきれないプログラムの流れを正確に解析する。1つ目は、従来の解析システムを活用しつつ性能向上を行うため、解析方法の異なる2つの既存システムを組み合わせ、相互を切り替えることによって、単独システムでは解析できない実行パスの解析ができることを確認した。また、2つ目は、解析ターゲットをWebサーバシステムのCGIバイナリに限定し、CGIをSymbolic Executionを利用しつつ解析を行う手法である。本システムにより、複数ベンダーのIoTデバイスのファームウェアのCGIバイナリについて解析できることを確認した。
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
2023年度の研究は、IoTデバイスの周辺機器に対するアクセスをプログラム実行制約に基づいて決定する方法の確立と、その方法によるハードウェアをアクセスするWebアプリのエミュレーションの実現、およびベアメタルIoTシステムの解析カバレッジの拡大の方法確立を目指したものである。まず、IoTデバイスの周辺機器へのアクセスに対して、Symbolic/Concolic Executionを使用することでハードウェアを用いずに実行を継続する方法について開発を行った。この方法を、ハードウェアにアクセスするWebアプリ(CGI)とベアメタルIoTシステムを、ハードウェアを用いずに動作させるシステムの開発を行った。 まず、Webアプリ(CGI)の動作は、CGIのプロセスをSymbolic Executionシステムとデバッガと連結する環境を構築し、CGIプロセスの実行に合わせてハードウェアへのアクセス状況の解析と出力値生成を行う。課題であった、データ構造を扱う場合の処理ついて対応が完了し、CGIバイナリの解析が可能となった。しかし、事前の予備解析が必要となるなど、自由な解析ができるまでには至っておらず、事前の予備解析を省略することは難しい状況である。 次に、ベアメタルIoTシステムの動作は、既存研究を活用しQEMUと2つのSymbolic Executionシステム(uEmuとLealaps)を組み合わせる方法により単独では解析できないコードを解析できるシステムを構築した。最終的には、両システム間を自由に切り替える方法を目指したが、両システムが前提とする環境では双方向の切り替えが困難であることが分かった。よって、uEmuからLealapsへの切り替えのみの実現となった。
|
Strategy for Future Research Activity |
昨年度までに実施できていない課題である複数のプロセスが関係する情報漏洩がIoTデバイスで発生することを調査するために、複数プロセスが関係するデータの流れを解析するシステムの設計を行う。これまではファームウェアのエミュレーションに時間をかけてきたため、複数プロセスに関する情報フローについては十分に推敲できていない。最終年度ではあるが、今年度はこの問題に取り組む。ただし、エミュレータの実行精度の問題が十分に解決できていないため、Linuxベースのデバイスも対象として研究に取り組む。Linuxベースであることから、IoT以外の既存の知見やツールを活用して、研究期間の短縮を意識して研究を行う。
|
Report
(2 results)
Research Products
(3 results)