セキュリティテスト手法ファジング(Fuzzing)の原理と脆弱性検出

ファジング(Fuzzing / ファズテスト) は、ソフトウェアの潜在的なセキュリティ脆弱性や未知のバグを検出するための自動化ブラックボックステスト手法です。ネットワーク入力、ファイル入力、APIパラメータなどに 予期しないデータ、極端な長さの文字列、無効な境界値、ランダムに壊したデータ(ファズデータ)を大量に自動投入し、システムが異常終了(クラッシュ)、バッファオーバーフロー、リソース枯渇などの異常な挙動を示さないかを監視・検出 します。したがって、正解は ア です。 イ: 状態遷移モデルや状態遷移表に基づいてテストケースを作成する技法は「状態遷移テスト」の説明です。 ウ: 入力領域の境界付近の値をテストデータとして選定する技法は「境界値分析(限界値分析)」の説明です。 エ: 制御フローグラフの分岐や命令網羅を目的として実施するテストは「ホワイトボックステスト(カバレッジテスト)」の説明です。

ソフトウェアのテスト手法のうち,ファジングはどれか。

出典平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問23
ア
テスト対象に問題を引き起こす可能性があるデータを大量に送り込み,その応答や挙動を監視することによって脆弱性を検出する。
イ
テスト対象の振る舞いを状態遷移表で整理し,発生し得る遷移をテストする。
ウ
同値分割で得られた,同値クラスの境界となる値及びその前後の値を明らかにして,それらをテストデータとする。
エ
プログラムの処理経路を網羅するようにテストを実施し,正しく動作することを検証する。