Główne pojęcia
プログラムの制御フローグラフの情報を活用することで、ファジングキャンペーンの初期段階でより多くのカバレッジを発見できるようにする手法を提案する。
Streszczenie
本論文では、グレーボックス・ファジングにおける初期探索の効率化を目的とした手法を提案している。この手法では、被テストシステムの制御フローグラフの情報を活用し、変異の対象として選択されるべき入力を決定する。具体的には、各入力の実行トレースから到達可能な基本ブロックの数を観察し、それに基づいて変異の選択確率を重み付けする。
初期評価の結果、提案手法を実装したツール「PrescientFuzz」が、標準的なファジング・ベンチマークセットの11件中5件で、最新のファジャーよりも高いカバレッジを達成できることが示された。これは、制御フローグラフの情報を活用することで、より早期の段階でより多くの興味深い領域を探索できるようになったためと考えられる。
Statystyki
PrescientFuzzは、標準的なファジング・ベンチマークセットの11件中5件で、最新のファジャーよりも高いカバレッジを達成した。
一方で、一部のベンチマークでは、PrescientFuzzの性能がベースとなるLibAFLファジャーに及ばなかった。これらのベンチマークでは、ほとんどのカバレッジが初期段階で獲得されており、PrescientFuzzの手法が有効に機能しなかったと考えられる。
Cytaty
"A fuzzer can only detect a bug if first it manages to cover the code where the bug is located."
"To do this, it leverages information from the system under test's (SUT's) control flow graph in order to decide which inputs are likely to lead to discovering most coverage when mutated."