PACSEC 2021 DOJO
プロのようなファジングソースコードとバイナリのみのターゲット
インストラクター: Marc “van Hauser” Heuse
Marc “van Hauser” Heuse
Marc“ van Hauser” Heuseは、1993年にセキュリティ調査を開始しました。
学校を卒業する前に。彼はの創設者であることでよく知られています
セキュリティ研究グループTheHacker’s Choice(www.thc.org)と彼のために
hydra、thc-ipv6、THC-SCAN、SuSEfirewallなどのセキュリティツール
その他。彼のキャリアでは、KPMGとn.runsのチームリーダー兼マネージャーでした。
そして10年以上の間、彼は現在、独立したセキュリティとして働いています
現在、自動車の侵入テストやその他の組み込みプラットフォームに焦点を当てている研究者。現在、彼はバイナリ計測を使用して作業しています
彼の自動車セキュリティプロジェクトと研究のためにファジングしていて、
ブラックボックスフィードバックファジングツールafl-dyninstとaflの共著者
フォローアッププロジェクトafl ++。
コーススケジュール
時間と日付は未定です。
コース概要
このトレーニングでは、誰がソースコードを効果的にファズし、
afl ++、libfuzzer、およびhonggfuzzを使用するLinux上のバイナリのみのターゲット
効果的なファジングキャンペーン。
コースの前提条件
学生はLinuxの経験が豊富で、快適である必要があります
C / C ++でのコーディング、基本的なデバッグ、Dockerの使用方法の知識。
コース学習の目的
このクラスの目標は、ソフトウェアセキュリティファジングの実行を教えることです。
(ブラックボックス、グレーボックス、ホワイトボックス)セキュリティの脆弱性を見つけるため
ファジングを通して。
フォーカスプラットフォームはLinuxx86_x64にありますが、Linux
ARM / ARM64 / Mips / ...、Mac OS、* BSD、およびWindowsも同様に処理されます。
カバーします-多くの演習でサポートされています):
最高のファザーでファジングする方法を学ぶ:afl ++、libfuzzer、honggfuzz
私のソースコードはclang / llvmでコンパイルされません-今何ですか?
ファジング用のインストルメンテーションソースコードターゲット
効果的なファジングハーネスを作成する方法
ファザーカバーとは何ですか、カバーされていないものは何ですか-そして何ですか
ファザーに手を伸ばすのは不可能ですか?プラスソリューション。
動的インストルメンテーションによってバイナリのみのターゲットをファズする方法、
エミュレーションと書き換え
libprotobufで構造化入力をファズする方法
文法のある入力を処理するターゲットをファズする方法
カスタムミューテーターの書き方
自分のファザーを書くとき
効果的なファジングキャンペーンを効果的に設定する方法-単一および
16〜256コアのマルチマシン、システム構成と使用を含む
消毒剤
ファジングキャンペーンで組み合わせる効果的なサポートファザー
symcc、aflsmartなどとそれらを統合する方法
ファジングキャンペーンを監視および管理する方法
トリアージクラッシュ-重複排除、最小化、ブルートフォーシング
興味深いクラッシュ
CIにファジングを統合する方法
部分的なインストルメンテーション、モック、および
機能の無効化など
コースの議題
1日目-ファジングの概要、afl ++によるファジング、トリアージクラッシュ
2日目-libfuzzerとhonggfuzzでファジングし、ファジングハーネスを作成します
3日目-バイナリのみのターゲットをファジングするための戦略、バイナリのエミュレートと書き換え
4日目-バイナリの書き換え(続き)、ファジングキャンペーンの成功
5日目-CI統合、ファジングの複雑なターゲット...さらに未解決の質問
ハードウェア要件
16GBのRAMと50GBのディスク容量を空けることを強くお勧めします。
ソフトウェア要件
学生はLinuxインストール(VMまたはネイティブ、ルート)にアクセスできる必要があります
特権、Kali Linux、DebianまたはUbuntuを強くお勧めします)docker付き
インストールされています。