多様な入力データを自動投入して脆弱性を検出するファジング

ファジング(Fuzzing)は、ソフトウェアの脆弱性を検出するための動的テスト技法です。 検査対象のプログラムに対して、意図的に極端な長さの文字列、境界値、予期しない制御文字、不正なフォーマットなどの多様な入力データ(「ファズ: fuzz」)を大量に投入し、プロセスの強制終了(クラッシュ)、メモリ例外、ハングアップなどの異常な挙動を監視・分析して未知のセキュリティホールを発見します。 FINスキャンと呼ばれるポートスキャン(サービス検知)技法の一種です。 ログ分析やホスト型改ざん検知システム(HIDS / 整合性チェッカ)の説明です。 ネットワーク型侵入検知システム(NIDS)におけるシグネチャマッチング(パターンマッチング)の説明です。

ファジングに該当するものはどれか。

出典令和元年 秋期 応用情報技術者試験 午前 問44
ア
サーバにFINパケットを送信し,サーバからの応答を観測して,稼働しているサービスを見つけ出す。
イ
サーバのOSやアプリケーションソフトウェアが生成したログやコマンド履歴などを解析して,ファイルサーバに保存されているファイルの改ざんを検知する。
ウ
ソフトウェアに,問題を引き起こしそうな多様なデータを入力し,挙動を監視して,脆弱性を見つけ出す。
エ
ネットワーク上を流れるパケットを収集し,そのプロトコルヘッダーやペイロードを解析して,あらかじめ登録された攻撃パターンと一致した場合は不正アクセスと判断する。