エンベデッドシステムスペシャリスト 2015年 午前2 問24
問題文
問題を引き起こしそうなデータを大量に入力して、そのときの応答や挙動を監視することによって、ソフトウェアの脆弱性を検出するテスト手法はどれか。
選択肢
ア:限界値分析
イ:実験計画法
ウ:ファジング(正解)
エ:ロードテスト
🔒 解説は解答すると表示されます
ファジング【午前2解説】
正解の理由
問題を引き起こしそうなデータを大量に入力し、ソフトウェアの異常な応答や停止などを調べて脆弱性を検出する手法は、ファジングです。
したがって、正解はウです。予期しない形式や値のデータを入力し、クラッシュやエラー、想定外の挙動が起きないかを確認します。
解法ステップ
- **「大量のデータを入力する」**という手掛かりに注目します。
- 入力時の応答や挙動を監視する点から、性能ではなく異常動作の検出が目的だと判断します。
- 不正・想定外のデータを入力して脆弱性を探すテスト手法として、ファジングを選びます。
選択肢別の誤答解説
-
ア:限界値分析
入力値の上限・下限や、その境界付近の値を重点的に試験する手法です。データを大量に入力して異常を検出するファジングとは目的が異なります。 -
イ:実験計画法
複数の要因や条件を組み合わせ、効率よく実験・評価するための方法です。ソフトウェアに異常なデータを大量に与えるテスト手法ではありません。 -
ウ:ファジング
不正な形式や想定外の値を含むデータを入力し、ソフトウェアの異常な動作や脆弱性を検出する手法です。 -
エ:ロードテスト
システムに負荷をかけ、処理性能や応答時間、安定性などを確認するテストです。入力データの異常による脆弱性の検出とは目的が異なります。
よくある誤解
-
ファジングは、ランダムなデータだけを使うとは限りません。
既存のデータを変形したり、規則に基づいてデータを生成したりする方法もあります。 -
「大量に入力する」だけでファジングとは限りません。
大量の要求を送り、処理能力や応答時間を測るなら、負荷テストに該当する場合があります。入力データによる異常動作の検出が目的かどうかが判断のポイントです。 -
限界値分析と混同しないようにしましょう。
限界値分析では、値の境界付近を重点的に確認します。ファジングでは、想定外の入力による異常な挙動を探します。
補足コラム
ファジングは、アプリケーションの入力欄だけでなく、ファイル形式の解析処理やネットワーク通信の処理などにも使われます。異常終了や予期しない応答を検出した場合、そのときの入力データを調べることで、脆弱性の原因を特定する手掛かりになります。
FAQ
Q. ファジングで、必ずソフトウェアが停止するまで試すのですか?
A. いいえ。停止だけでなく、エラー、不正な応答、異常な処理結果なども検出対象です。
A. いいえ。停止だけでなく、エラー、不正な応答、異常な処理結果なども検出対象です。
Q. ロードテストも大量のデータを入力するテストではありませんか?
A. 大量のデータや要求を使う点は共通する場合がありますが、ロードテストは負荷に対する性能や安定性を調べます。ファジングは、想定外の入力による異常動作や脆弱性を探します。
A. 大量のデータや要求を使う点は共通する場合がありますが、ロードテストは負荷に対する性能や安定性を調べます。ファジングは、想定外の入力による異常動作や脆弱性を探します。
関連キーワード: ファジング、脆弱性診断、異常系テスト、限界値分析、ロードテスト

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

