ファジングテスト「American Fuzzy Lop(AFL)」をより汎用的に利用可能にすることを目指す「Project Triforce」

 セキュリティベンダー米NCC Groupは6月27日、ソフトウェアテスト手法American Fuzzy Lop(AFL)利用したテストの支援ツールを開発するプロジェクト「Project Triforce」を発表した。

 Project Triforceは、ソフトウェアのテスト手法「ファジング(Fuzzing)」の一種であるAmerican Fuzzy Lop(AFL)を使ったテストの支援ツールを開発するプロジェクト。AFLは自動でテストケースを生成でき、さまざまなテストケースでテストを実行できる有用な技術だが、専用のコンパイラで対象とするソフトウェアをコンパイルする必要があるなど、利用するための制約条件が厳しかった。Project TriforceではLinuxカーネルとAFLを統合することで、ソースコードなしにAFLを適用することができるという。

 Project Triforceの下で、QEMUのフルシステムエミュレーションを使ったAFLの改変版となる「TriforceAFL」、TriforceAFLをベースとするLinuxシステムコールベースのファジングの「TriforceLinuxSyscallFuzzer」の2つのコードを公開した。すでに共通脆弱性識別子のCVE(Common Vulnerabilities and Exposures)番号が付与された2件の脆弱性(CVE-2016-4997とCVE-2016-4998)を含む不具合を発見したという。

 Linuxカーネル上でAFLを動かすために、既存のユーザーランドのQEMUサポートを拡張し、QEMUのフルシステムエミュレーションモードで動くOSのファジングをサポートした。これにより、QEMUのx64フルシステムエミュレーションモードで動くものすべてを対象にAFLを適用できるという。

 ソースコードはプロジェクトのWebサイトより入手できる。

TriforceAFL
https://github.com/nccgroup/TriforceAFL

TriforceLinuxSyscallFuzzer:
https://github.com/nccgroup/TriforceLinuxSyscallFuzzer