IPA過去問ドリル

平成27年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問24

テクノロジ/開発技術

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

出典:平成27年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問24

正解:ウ

解説

ファジング(ファズテスト)は,問題を引き起こしそうな異常値や境界値,ランダムなデータなどを大量に対象のソフトウェアへ入力し,そのときの応答や挙動(クラッシュ,異常終了,予期しない動作など)を監視することによって,ソフトウェアに潜む脆弱性やバグを検出するテスト手法です。仕様や実装の詳細を必ずしも把握していなくても,機械的に大量の入力パターンを試すことができるため,セキュリティ上の脆弱性検出に広く利用されています。

選択肢ごとの解説

  • 誤り。限界値分析は,入力値の境界(最小値,最大値,境界の前後など)に着目してテストケースを設計する技法であり,問題を引き起こしそうなデータを大量に入力する手法ではありません。
  • 誤り。実験計画法は,複数の要因の組合せを効率よく評価するためにテストケースを設計する統計的な手法であり,大量のデータ入力によって挙動を監視する手法とは異なります。
  • 正しい。ファジングは,問題を引き起こしそうなデータを大量に入力し,そのときの応答や挙動を監視することによって,ソフトウェアの脆弱性を検出するテスト手法です。
  • 誤り。ロードテストは,システムに高い負荷(大量のリクエストや同時アクセスなど)をかけて性能や耐久性を評価するテストであり,脆弱性の検出を主目的とする手法ではありません。
エンベデッドシステムスペシャリストの過去問を演習モードで解く