家studyをつづって

IT技術に関することやセキュリティ、ガイドライン等学んだことをつづっていきます。

ファジングについて

ファジング実践資料(テストデータ編)

発行機関: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)