正答2
解説
正解は2です。
ファジングは、ソフトウェアに問題を起こしそうなデータ(ファズ)を大量に与え、その反応から脆弱性を見つける検査手法です。
内部構造を知らなくても実施できるブラックボックス型の検査です。
【選択肢別解説】
1:× ソフトウェアのバージョンやパッチの適用状況を調べるのは、脆弱性スキャンやパッチ管理の検査です。
ファジングではありません。
2:○ 入出力に注目し、極端に長いデータや不正な形式のデータなどを多様なパターンで大量に入力します。
異常終了などの挙動を観察して、脆弱性を発見します。
3:× ソースコードの構文を機械的にチェックするのは、静的解析(ソースコードレビュー)です。
ファジングはプログラムを実際に動かして行います。
4:× セキュリティアドバイザリなどの最新情報をもとに検査するのは、既知の脆弱性の確認です。
ファジングは、未知の脆弱性の発見にも使える点が特徴です。
【ポイント】
ファジングは「動かして」「異常な入力を大量に与える」動的な検査です。
ソースコードを読む静的解析と対比して覚えます。