Skip to main content
QUICK REVIEW

[論文レビュー] PTrix: Efficient Hardware-Assisted Fuzzing for COTS Binary

Yaohui Chen, Dongliang Mu|arXiv (Cornell University)|May 25, 2019
Software Testing and Debugging Techniques参考文献 25被引用数 9
ひとこと要約

PTrixは、Intelプロセッサトレーシング(PT)を活用してバイナリオンリーオンリーファジングを高速化するハードウェア支援型ファジファーファイアーサイトです。動的インストルメンテーションの性能ボトルネックを回避することで、大幅に高速化されたファジングを実現しています。トレースの並列解析と、コードカバレッジを再構築するのではなく、生のPTパケットを直接フィードバックとして使用することで、従来の手法よりも著しく高いファジング速度を達成し、すでに十分にファジングが施されたバイナリにおいて35件の新たな脆弱性(うち11件はCVE)を発見しました。

ABSTRACT

Despite its effectiveness in uncovering software defects, American Fuzzy Lop (AFL), one of the best grey-box fuzzers, is inefficient when fuzz-testing source-unavailable programs. AFL's binary-only fuzzing mode, QEMU-AFL, is typically 2-5X slower than its source-available fuzzing mode. The slowdown is largely caused by the heavy dynamic instrumentation. Recent fuzzing techniques use Intel Processor Tracing (PT), a light-weight tracing feature supported by recent Intel CPUs, to remove the need of dynamic instrumentation. However, we found that these PT-based fuzzing techniques are even slower than QEMU-AFL when fuzzing real-world programs, making them less effective than QEMU-AFL. This poor performance is caused by the slow extraction of code coverage information from highly compressed PT traces. In this work, we present the design and implementation of PTrix, which fully unleashes the benefits of PT for fuzzing via three novel techniques. First, PTrix introduces a scheme to highly parallel the processing of PT trace and target program execution. Second, it directly takes decoded PT trace as feedback for fuzzing, avoiding the expensive reconstruction of code coverage information. Third, PTrix maintains the new feedback with stronger feedback than edge-based code coverage, which helps reach new code space and defects that AFL may not. We evaluated PTrix by comparing its performance with the state-of-the-art fuzzers. Our results show that, given the same amount of time, PTrix achieves a significantly higher fuzzing speed and reaches into code regions missed by the other fuzzers. In addition, PTrix identifies 35 new vulnerabilities in a set of previously well-fuzzed binaries, showing its ability to complement existing fuzzers.

研究の動機と目的

  • PTトレースのデコードとコードカバレッジの再構築に依存する既存のハードウェア支援型ファジファーファイアーサイトの性能劣化を是正すること。
  • バイナリオンリーオンリーファジングにおいて、QEMU-AFLの動的インストルメンテーションによる2~5倍の遅延を解消すること。
  • Intel PTの低オーバーヘッドトレーシングを最大限に活用し、ソース非公開バイナリ向けに高速かつパスセンシティブなファジングを実現するシステムを設計すること。
  • コードカバレッジの再構築を回避し、生のPTパケットをフィードバック入力として直接使用することで、エッジベースのカバレッジよりも優れたパス探索を可能にするフィードバックによるコードカバレッジの向上。
  • 最先端のファジファーファイアーサイトと比較して、実世界のCOTSバイナリにおいて優れた脆弱性発見性能を示すこと。

提案手法

  • ターゲットプログラムの実行とは独立して、複数スレッドを用いてトレースを並列に解析する、スケーラブルなトレースパースィング方式を導入。
  • 実行ウィンドウを動的に調整する境界更新メカニズムを実装し、トレース境界の更新遅延を防ぎ、パーススレッドが追いつくようにする。
  • 従来のエッジベースのコードカバレッジフィードバックに代わり、デコード済みPTパケットのストリームを直接ファジングフィードバックとしてエンコードするPT対応フィードバック機構を導入。
  • 生のPTトレースストリームをパスセンシティブなフィードバック信号として使用することで、エッジカバレッジよりも精度が高く、より有益なガイダンスを提供し、新しいコードパスの探索を可能にする。
  • 既存のファジングワークフローと互換性を保つために、改良型AFLに類似したアーキテクチャに新規フィードバック機構を統合。
  • 中間再構築ステップを最小限に抑えることで、低遅延のトレース処理と高スループットのファジングを最適化。

実験結果

リサーチクエスチョン

  • RQ1Intelプロセッサトレーシング(PT)を用いることで、バイナリオンリーオンリーファジングにおける動的インストルメンテーションのオーバーヘッドを排除できるか?
  • RQ2ハードウェアトレーシングを採用しているにもかかわらず、なぜ既存のPTベースファジファーファイアーサイトはQEMU-AFLより性能が劣るのか?
  • RQ3生のPTパケットストリームは、コードカバレッジ再構築を回避することで、ファジングに効果的かつ効率的なフィードバックメカニズムとして機能するか?
  • RQ4PTトレースに基づくパスセンシティブなフィードバックは、エッジベースのフィードバックと比較して、コードカバレッジの向上と脆弱性発見の質を向上させるか?
  • RQ5PTrixは、実世界のCOTSバイナリにおいて、最先端のファジファーファイアーサイトを上回る性能と脆弱性発見能力を示せるか?

主な発見

  • PTrixはQEMU-AFLを大きく上回る高いファジング速度を達成しており、動的インストルメンテーションのオーバーヘッドを排除したことに起因する。
  • 生のPTパケットフィードバック機構により、コードカバレッジ再構築を要するシステムと比較して、フィードバック計算コストが低減され、より高速かつ応答性の高いファジングが実現された。
  • PTrixは、他のファジファーファイアーサイトが見逃していたコード領域、特に十分にファジングが施されたバイナリにおける未知のパスを効果的に探索した。
  • 本システムは、COTSバイナリのセットにおいて35件の新たな脆弱性を発見し、そのうち11件がCVE識別子を割り当てられた。
  • 並列的かつエラスティックなトレースパースィング方式により、トレース境界更新の遅延が効果的に抑制され、パーススレッドの効率的利用が可能となった。
  • PTrixは、QEMU-AFLおよび他のPTベースファジファーファイアーサイト(例:kAFL、PTFuzz)を上回り、ファジングスループットとカバレッジカバー範囲の両面で優れた性能を示した。

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

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

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

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