ホットファズ:バグ探偵がコードの脆弱性を探すために古典的なAFLファザーのよりスマートなバージョンを開発

Table of Contents

ホットファズ:バグ探偵がコードの脆弱性を探すために古典的なAFLファザーのよりスマートなバージョンを開発

世界中の大学の研究者グループが協力し、セキュリティ上の欠陥を根絶する強力な新ツールを開発したという。

AFLSmartとして知られるこのファジングソフトウェアは、強力なAmerican Fuzzy Lopツールキットをベースに構築されています。AFLSmartは、バッファオーバーフローエラーなど、攻撃者がサービス拒否攻撃やリモートコード実行攻撃に利用する可能性のある一般的なセキュリティ上の欠陥をアプリケーションに検出する能力に非常に優れていると言われています。

研究者らによると、AFLSmart は平均して 24 時間で AFL の 2 倍のバグを検出でき、いくつかのオープンソース ソフトウェア ライブラリのファジングに使用されて以来、このソフトウェアは合計 42 件のゼロデイ脆弱性を発見し、17 件の CVE リストのセキュリティホールを確保したという。

ファジングは、セキュリティ脆弱性の発見プロセスを自動化する手段として、セキュリティ研究者によって長年利用されてきました。様々な入力フィールドに文字列データを継続的に送り込むことで、ツールはアプリケーションが入力データを適切に処理できず、悪用される可能性のある箇所を特定できます。

シンガポール国立大学、オーストラリアのモナシュ大学、ブカレスト工科大学のチームによって設計された AFLSmart は、一般的なファジング ツールの汎用性を高め、より広範囲の入力に対応できるようにすることで、その範囲を拡大することを目指しています。

研究チームによると、問題は、ほとんどのファジングツールがアプリケーション内をゆっくりと移動し、個々のビットを変更しながら、新しい入力フィールドに遭遇するのをゆっくりと待つことだ。そのため、自動ファジングは、特に多種多様なデータやフォーマットを扱うマルチメディアライブラリやツールでは、時間がかかり、面倒なプロセスになる。

ミュータント

「このように広く使用されているフォーマットを処理するアプリケーションの脆弱性を効果的に発見することが、差し迫った課題となっている。ビットレベルのファイル表現の変化は、有効なプログラム入力の広大かつ希薄な領域を効果的に探索するために必要なファイル構造の変化に影響を与える可能性は低い」と研究者らは記している。

「有効なファイルの任意のビットレベルの変化は、プログラムのデータ処理部分に到達する前にプログラムのパーサーによって拒否される無効なファイルになる可能性が高くなります。」

これを解決するために、チームは、アプリケーション全体をより適切に検査し、アプリケーションの潜在的な脆弱性をファジングするために使用するコードに高度な変更を加えることができるツールの作成に着手しました。

shutterstock_287971118--ヘビのヒーロー

言語バグが下流ソフトウェアに蔓延、ファジングツールが発見

続きを読む

従来のファジングツールは、1~2ビットを変更することでアプリケーション内を巡回し、新しい入力フィールドを探しますが、AFLSmartは入力形式全体を検査します。例えば、コードジェネレータはアプリケーションが画像ファイルとドキュメントファイルの両方を処理していることを認識し、両方の形式に対応したシードファイルを作成します。

「入力形式の仕様が与えられると、当社のスマート グレーボックス ファザーは、仮想構造と呼ばれるシード ファイルの構造表現を導出し、新しい入力ファイルの生成中にファイルのビット シーケンスに加えて仮想ファイル構造を変更するために、当社の新しいスマート変異演算子を活用します」と研究者らは述べています。

グレーボックスファジング検索において、当社のツールAFLSmartは、ファイル形式の仕様に対する入力の妥当性度を測定します。有効な入力を無効な入力よりも優先することで、ファジングツールは無効なファイルよりも有効なファイルのより多くの変異を探索できるようになります。

この技術により、ファジング ツールの効率がほぼ 2 倍になることがわかっています。

AFLSmart の開発と有効性を説明する論文「Smart Greybox Fuzzing」[PDF] は、Van-Thuan Pham、Marcel Bohme、Andrew E. Santosa、Alexandru Razvan Caciulescu、および Abhik Roychoudhury によって執筆されました。®

Discover More