
完全なVMカーネル/ドライバーターゲット向けファザー
kAFL/Nyx は、x86 VM向けの高速なガイド付きファザーです。QEMU/KVMゲストとして実行されるあらゆるもの、特にx86ファームウェア、カーネル、本格的なオペレーティングシステムに最適です。
注記: すべてのコンポーネントは研究および検証目的でのみ提供されます。自己責任で使用してください。
kAFLは、Linux Security Hardening for Confidential Compute の取り組みを推進する主要なファザーであり、複雑なセットアップにおける脆弱性を特定し、すべてのCCソリューションのLinuxカーネルのセキュリティを向上させます。
kAFL/Nyxのその他の成功したターゲット:
さらに、kAFLはIntel社内でx86ファームウェアおよびドライバーの検証、ならびにSMMハンドラーのファジングに使用されてきました。
kAFL/Nyxは、Intel VT、Intel PML および Intel PT を使用して、グレーボックスまたはホワイトボックスのファジングシナリオ向けに、効率的な実行、スナップショットリセット、カバレッジフィードバックを実現します。これにより、任意のツールチェーンと最小限のコード変更で、多くのx86ファームウェアおよびOSカーネルを実行できます。
kAFLは、独自のkAFL-Fuzzer を使用します。kAFL-FuzzerはAFLに似た設計で、多数のQemuインスタンスを 並列に扱うよう最適化されており、柔軟なVM構成、ロギング、 デバッグオプションをサポートします。
kAFLは、Radamsaファザーに加えて、RedqueenおよびGrimoire拡張機能を統合しています。RedqueenはVMイントロスペクションを使用して、条件付き命令へのランタイム入力を抽出し、一般的なマジックバイトやその他の入力チェックを克服します。Grimoireは、ファズ入力からキーワードと構文を特定して、より賢い大規模な変異を生成しようとします。
Redqueen、Grimoire、IJON、Nyxの詳細については、nyx-fuzz.comをご覧ください。
Intel Skylake以降: セットアップには、第6世代以降のIntel CPU(Intel PT用)と十分なシステムメモリ(CPUあたり約2GB RAM)が必要です。
パッチ適用済みホストカーネル: セットアップの一環として、修正されたLinuxホストカーネルがインストールされます。VM内でのkAFLの実行は、IceLake以降のCPUで動作する可能性があります。
最近のDebian/Ubuntu: インストールとチュートリアルは、最近のUbuntu LTS(>=20.04)およびDebian(>=bullseye)でテストされています。
python3-venvとmakeがインストールされていれば、make deployを使用してkAFLをインストールできます。
sudo apt install python3-venv make git
git clone https://github.com/IntelLabs/kAFL.git
cd kAFl
make deploy
インストールには時間がかかる場合があり、カーネルを更新するために再起動が必要です。
問題が発生した場合は、詳細なインストールガイドを確認するか、デプロイメントガイドで詳細情報とプロジェクト向けのkAFLセットアップのカスタマイズを確認してください。
最初のファジングの例として、Linuxカーネルのファジングをお勧めします。
その他にも、次のようなターゲットが利用できます:
これらのターゲット向けの改良版ドキュメントを準備中です。