IPA過去問ドリル

平成31年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問22

テクノロジ/開発技術

問題を引き起こす可能性があるデータを大量に入力し,そのときの応答や挙動を監視することによって,ソフトウェアの脆弱性を検出するテスト手法はどれか。

出典:平成31年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問22

正解:ウ

解説

ファジングとは,ソフトウェアの脆弱性を検出するためのテスト手法の一つであり,予期しない形式や範囲外の値,境界値を大きく外れた値など,問題を引き起こす可能性があるデータ(ファズデータ)を大量に生成してテスト対象に入力し,そのときのソフトウェアの応答や挙動(クラッシュ,異常終了,メモリ破壊など)を監視することによって,脆弱性の有無を検出します。ソフトウェアの内部構造を詳細に把握していなくても,多様な異常入力に対する耐性を効率的に検証できる点が特徴です。

選択肢ごとの解説

  • 誤り。限界値分析は,入力値の境界(最小値・最大値の付近)に着目してテストケースを設計する技法であり,大量の問題を引き起こしうるデータを網羅的に入力する手法ではありません。
  • 誤り。実験計画法は,複数の要因の組合せを統計的な手法によって効率よく選定し,テストケースの数を削減する技法であり,大量の異常データを入力して挙動を監視する手法ではありません。
  • 正しい。問題を引き起こす可能性があるデータを大量に入力し,そのときの応答や挙動を監視することによって,ソフトウェアの脆弱性を検出するテスト手法がファジングです。
  • 誤り。ロードテストは,大量のリクエストやデータ量を与えてシステムの性能や負荷耐性を検証するテストであり,脆弱性の検出を主目的として問題を引き起こすデータを入力する手法ではありません。
情報処理安全確保支援士の過去問を演習モードで解く