ファジング実践資料(テストデータ編)
発行機関:IPA
発行年月日:2013年11月
https://www.ipa.go.jp/files/000035160.pdf
概要
ファジング実践資料(テストデータ編)は、ファジングで問題を検出するための「テストデータ」に焦点を当てた実践資料です。
IPAでは、ファジングにおけるテストデータの考え方「データ構造の『どの部分』を『どのように』細工するか」を解説しています。
ファジングとは
ファジング(fuzzing)とは、問題を起こしそうなデータ(例:極端に長い文字列)を対象製品に送り、対象製品の動作状態から脆弱性などを発見するテスト手法です。
ファジングにおける「テストデータ」
ファジングの「テストデータ」は、製品に何か問題を起こしそうなデータで、仕様に則っていないデータがテストデータになりえます。
テストデータは、製品が受け取るデータのデータ構造を解釈するかどうかで、大きく2種類に分かれます。
データ構造の解釈 | テストデータの作り方 |
解釈する |
データ構造の要素をそれぞれ細工してテストデータを作る。 Generation based fuzzing、Smart fuzzing、Intelligent fuzzingなどと呼ばれる。 |
解釈しない |
元となるデータを読み込み、そのデータをランダムに変更する。 (Mutation based fuzzing) まったくランダムな値からデータを作る (Dumb fuzzing) |