Skip to main content
QUICK REVIEW

[論文レビュー] Snipuzz: Black-box Fuzzing of IoT Firmware via Message Snippet Inference

Xiaotao Feng, Ruoxi Sun|arXiv (Cornell University)|May 12, 2021
Advanced Malware Detection Techniques参考文献 32被引用数 8
ひとこと要約

Snipuzz は、デバイスの応答からメッセージスニペットを推定することで変異を誘導する、IoTファームウェア向けの画期的なブラックボックスファジングフレームワークであり、事前のプロトコル知識がなくても文法に配慮したテストが可能である。20台の実世界のデバイスにおいて5件のゼロデイ脆弱性を発見し、そのうち3件は本手法独自に特定されたものである。

ABSTRACT

The proliferation of Internet of Things (IoT) devices has made people's lives more convenient, but it has also raised many security concerns. Due to the difficulty of obtaining and emulating IoT firmware, the black-box fuzzing of IoT devices has become a viable option. However, existing black-box fuzzers cannot form effective mutation optimization mechanisms to guide their testing processes, mainly due to the lack of feedback. It is difficult or even impossible to apply existing grammar-based fuzzing strategies. Therefore, an efficient fuzzing approach with syntax inference is required in the IoT fuzzing domain. To address these critical problems, we propose a novel automatic black-box fuzzing for IoT firmware, termed Snipuzz. Snipuzz runs as a client communicating with the devices and infers message snippets for mutation based on the responses. Each snippet refers to a block of consecutive bytes that reflect the approximate code coverage in fuzzing. This mutation strategy based on message snippets considerably narrows down the search space to change the probing messages. We compared Snipuzz with four state-of-the-art IoT fuzzing approaches, i.e., IoTFuzzer, BooFuzz, Doona, and Nemesys. Snipuzz not only inherits the advantages of app-based fuzzing (e.g., IoTFuzzer, but also utilizes communication responses to perform efficient mutation. Furthermore, Snipuzz is lightweight as its execution does not rely on any prerequisite operations, such as reverse engineering of apps. We also evaluated Snipuzz on 20 popular real-world IoT devices. Our results show that Snipuzz could identify 5 zero-day vulnerabilities, and 3 of them could be exposed only by Snipuzz. All the newly discovered vulnerabilities have been confirmed by their vendors.

研究の動機と目的

  • 内部フィードバックや未知の通信プロトコルの欠如による、IoTファームウェアにおけるブラックボックスファジングの課題に対処すること。
  • ランダムな変異に依存するか、文法仕様を必要とする既存のファジャーの限界を克服すること。
  • ファームウェアの逆アセンブルやアクセスなしに、フィードバック駆動の効率的で効果的な変異を実現すること。
  • デバイスの応答パターンからメッセージバイトの文法的役割を推定することで、脆弱性の発見を向上させること。

提案手法

  • Snipuzz は、IoTデバイスと通信するクライアントとして動作し、応答メッセージを観察することでメッセージスニペットを推定する。
  • メッセージスニペットは、変異中の応答の変化と相関する連続するバイトのブロックであり、コードカバレッジの変化を示す。
  • フレームワークは、応答に基づくフィードバックを用いて変異を誘導し、デバイスの挙動を変える入力の変更を優先する。
  • 応答の違いと入力の変更との対応を分析することで、事前に定義された文法ルールがなくても文法的推論を実現し、文法に配慮した変異を可能にする。
  • 変異は、特定の入力セグメントが明確な応答を引き起こすかどうかを特定することで誘導され、入力空間の的確な探索が可能になる。
  • システムは、推定されたメッセージスニペットを再結合して、より深いファームウェア実行パスを探索する新しい有効な入力を生成する。

実験結果

リサーチクエスチョン

  • RQ1内部実行フィードバックやプロトコル文法が入手できない状況下で、IoTファームウェアのブラックボックスファジングをどのように効果的にすることができるか?
  • RQ2文法仕様が存在しない状況でも、デバイスの応答パターンを活用して意味のあるメッセージ構造を推定し、変異を誘導できるか?
  • RQ3応答に基づくフィードバックは、IoTファームウェアにおける変異効率と脆弱性発見にどの程度向上効果をもたらすか?
  • RQ4軽量で事前条件のないファジングフレームワークは、既存の最先端のIoTファジヤーを上回ってゼロデイ脆弱性検出に効果を発揮できるか?

主な発見

  • Snipuzz は、20台の実世界の消費者向けIoTデバイスにおいて5件のゼロデイ脆弱性を発見し、そのうち3件は本手法独自に特定されたものであった。
  • Snipuzz は、IoTFuzzer、BooFuzz、Doona、Nemesys の4つの最先端ファジヤーを上回り、アプリベースファジングの利点と応答駆動フィードバックを統合した。
  • Snipuzz は、ファームウェアエミュレーション、逆アセンブル、事前のプロトコル知識なしに、効果的な変異を達成した。
  • 応答に基づくフィードバック機構により、盲目的なランダム変異と比較して、探索空間を著しく絞り込めるようになった。
  • 文法ベースのアプローチが失敗する非標準的または複雑な通信フォーマットを持つデバイスに対しても、本手法は有効であることが示された。
  • 発見されたすべての脆弱性はベンダーによって確認され、Snipuzz が実世界のセキュリティテストにおける実用的影響をもたらしていることが裏付けられた。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。