この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ウ

解説

ファジング(fuzzing)は、ソフトウェアの脆弱性を発見するためのテスト手法です。検査対象のソフトウェアに対して、極端に長い文字列、想定外の値、不正な形式のデータ、境界値を超えるデータなど、問題を引き起こす可能性のある多様なデータ(ファズ)を大量かつ自動的に入力し、そのときのソフトウェアの応答や挙動(異常終了、フリーズ、メモリリーク、予期しない動作など)を監視することで、開発者が想定していなかった脆弱性やバグを検出します。選択肢cのファジングが、問題を引き起こす可能性のあるデータを大量に入力して挙動を監視し脆弱性を検出する手法として正しく、正解です。他の選択肢を確認すると、限界値分析は仕様で定められた値の境界付近を狙ってテストケースを設計する手法、実験計画法は複数の要因の組合せを効率的に検証する統計的手法、ロードテストは高負荷をかけてシステムの性能や耐久性を確認する性能試験です。これらはいずれもテストや分析の手法ですが、多様な不正データを入力して脆弱性をあぶり出すのはファジングである、という点を押さえておきましょう。

なぜ他の選択肢は違うのか

選択肢 ア
限界値分析は、仕様で定められた入力値の有効範囲の境界付近(最小値、最大値、それらの前後)を狙ってテストケースを設計する手法です。仕様に基づく機能テストの技法であり、多様な不正データを大量に入力して未知の脆弱性を探すファジングとは目的が異なります。仕様で定められた入力値の境界付近を狙ってテストケースを設計する限界値分析の説明であり、多様な不正データを大量に入力して未知の脆弱性を探すファジングとは目的が異なります。
選択肢 イ
実験計画法は、複数の要因(パラメータ)が結果に与える影響を、少ない試行回数で効率的に調べる統計的な手法です。要因分析や品質改善に用いられるものであり、不正なデータを入力して脆弱性を検出するファジングとは目的も方法も異なります。複数の要因が結果に与える影響を少ない試行で効率的に調べる統計的手法である実験計画法の説明であり、不正データを入力して脆弱性を検出するファジングとは目的も方法も異なります。
選択肢 エ
ロードテスト(負荷テスト)は、システムに想定される高い負荷をかけて、性能や応答時間、耐久性が要件を満たすかを確認する性能試験です。負荷に対する挙動を見るものであり、多様な不正データで脆弱性を探すファジングとは目的が異なります。想定される高い負荷をかけて性能や耐久性を確認する性能試験であるロードテストの説明であり、多様な不正データで脆弱性を探すファジングとは目的が異なります。

解くときのポイント

ファジング=問題を起こしそうな多様・大量のデータを入力し、挙動を監視して未知の脆弱性を発見する動的テスト。混同注意:限界値分析(境界値のテスト設計)、実験計画法(要因の効率検証)、ロードテスト(負荷・性能試験)。