Skip to main content
QUICK REVIEW

[論文レビュー] TOFU: Target-Oriented FUzzer

Zi Wang, Ben Liblit|arXiv (Cornell University)|Apr 29, 2020
Parallel Computing and Optimization Techniques被引用数 7
ひとこと要約

TOFUは、protobuf仕様を用いて入力構造の認識と距離誘導探索を組み合わせることで、標的指向のファズィングを高速化するファズァーである。xmllintにおいて、AFLGoに比べ28%速い標的到達速度と45%多い標的カバレッジを達成した。これは、構造的変異と経路距離ヒューリスティクスを用いて入力生成を特定のプログラム位置に向けて誘導することで実現された。

ABSTRACT

Program fuzzing---providing randomly constructed inputs to a computer program---has proved to be a powerful way to uncover bugs, find security vulnerabilities, and generate test inputs that increase code coverage. In many applications, however, one is interested in a target-oriented approach-one wants to find an input that causes the program to reach a specific target point in the program. We have created TOFU (for Target-Oriented FUzzer) to address the directed fuzzing problem. TOFU's search is biased according to a distance metric that scores each input according to how close the input's execution trace gets to the target locations. TOFU is also input-structure aware (i.e., the search makes use of a specification of a superset of the program's allowed inputs). Our experiments on xmllint show that TOFU is 28% faster than AFLGo, while reaching 45% more targets. Moreover, both distance-guided search and exploitation of knowledge of the input structure contribute significantly to TOFU's performance.

研究の動機と目的

  • プログラムの深い部分に位置する特定の標的場所に到達するための標準ファズァーの限界を解決すること。
  • 距離ベースの誘導と入力構造の知識を統合することで、標的指向ファズィングを改善すること。
  • 距離誘導探索と構造的変異の両者が、全体のファズァー効果に与える寄与度を評価すること。
  • 特に複雑なまたは構造化された入力形式において、特定のプログラム標的に到達する入力を生成するためのスケーラブルで汎用的なソリューションを提供すること。
  • 標的指向入力生成のための記号実行や制約ソルブィングの実用的代替手段を提供すること。

提案手法

  • TOFUは、プログラムの基本ブロック間の事前計算された距離メトリクスを用いて、入力の実行トレースが標的場所にどれほど近いかを推定する。
  • 距離スコアが低い入力を優先するフィードバック駆動型の変異戦略を適用し、ファズァーが標的へ向かうように誘導する。
  • TOFUは、有効な入力構造をモデル化するためにprotobufベースの入力仕様を採用し、構造的変異を可能にすることで文法的正しさを保つ。
  • 変異は入力の有効な構造的コンポONENTに限定して行われるため、標的パスから逸脱する無効な入力の発生確率が低下する。
  • ファズァーはシードのキューを維持し、標的への距離とコードカバレッジを組み合わせたフィットネス関数を用いて、さらなる変異の対象となる入力を選択する。
  • TOFUの設計は、コマンドライン引数やフラグを含む複雑な入力形式に対応でき、それらを構造的入力コンポONENTとしてモデル化する。

実験結果

リサーチクエスチョン

  • RQ1距離誘導探索は、TOFUが標的プログラム場所に到達するための全体的効果にどの程度寄与しているか?
  • RQ2構造的変異は、TOFUが標的プログラム場所に到達するための全体的効果にどの程度寄与しているか?
  • RQ3TOFUの性能は、AFLGo や Hawkeye などの最先端の標的指向ファズァーと比較して、速度と標的カバレッジの面でどの程度優れているか?
  • RQ4入力構造認識と距離メトリクスは、無効な入力の数をどの程度削減し、標的への収束をどの程度向上させるか?
  • RQ5TOFUのアプローチは、コマンドラインフラグや構造化データを用いるような複雑な入力形式を持つプログラムに対しても、効果的に適用可能か?

主な発見

  • TOFUは、xmllintベンチマークにおいてAFLGoに比べ28%速い標的到達速度を達成した。
  • 同じベンチマークで、TOFUはAFLGoに比べ45%多い標的場所に到達した。これは、優れた標的指向探索性能を示している。
  • 距離誘導探索と構造的変異の両方が、TOFUの性能に顕著な寄与をしている。アブレーションスタディでは、それぞれのコンポONENTが独立して標的カバレッジを向上させたことが示された。
  • 入力構造認識の活用により、無効な入力の数が削減され、パースや実行に失敗する入力による無駄な計算が最小限に抑えられた。
  • TOFUの距離メトリクスは、標的への近さを直感的かつ解釈可能な指標として提供し、デバッグや入力選択を支援する。
  • TOFUは、入力パーサーのコードに位置する浅い標的に対してもAFLGoを上回った。これは、さまざまなタイプの標的に広く適用可能であることを示している。

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

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

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

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