CyberGlossary

アプリケーションセキュリティ

カバレッジガイド付きファジング

別称: グレーボックスファジング, フィードバック駆動ファジング

定義

ターゲットを計装してコードカバレッジを測定し、未踏のパスに到達する入力を進化させることで、バグ発見効率を大幅に高めるファジング手法。

カバレッジガイド付きファザーは、コンパイル時の計装や動的バイナリ変換でターゲットを計装し、候補入力を実行しながらエッジまたは基本ブロック単位のカバレッジを収集します。新たなカバレッジを生み出した入力はコーパスに残し、進化的アルゴリズムでさらに変異させ、到達困難なコードへとコーパスを誘導します。AFL が広めて AFL++、libFuzzer、Honggfuzz が改良したこのフィードバックループは、ブラインドなランダムファジングより桁違いに有効です。Google OSS-Fuzz はこれを常時運用し、OSS で数万件のバグを発見してきました。

  • C 言語のパーサを AFL++ の計装付きでコンパイルし、afl-fuzz でカバレッジ駆動のコーパスを成長させる。
  • libFuzzer が SanitizerCoverage を使って Rust クレートの入力を進化させる。

関連用語