プロジェクトマネージャ 2020年 午前2 問25
問題文
脆弱性検査手法の一つであるファジングはどれか。
選択肢
ア:既知の脆弱性に対するシステムの対応状況に注目し、システムに導入されているソフトウェアのバージョン及びパッチの適用状況の検査を行う。
イ:ソフトウェアの、データの入出力に注目し、問題を引き起こしそうなデータを大量に多様なパターンで入力して挙動を観察し、脆弱性を見つける。(正解)
ウ:ベンダや情報セキュリティ関連機関が提供するセキュリティアドバイザリなどの最新のセキュリティ情報に注目し、ソフトウェアの脆弱性の検査を行う。
エ:ホワイトボックス検査の一つであり、ソフトウェアの内部構造に注目し、ソースコードの構文をチェックすることによって脆弱性を見つける。
🔒 解説は解答すると表示されます
ファジング【午前2解説】
正解の理由
ファジングは、ソフトウェアに大量の多様なデータを入力し、そのときの挙動を観察して、異常終了や予期しない動作などから脆弱性を見つける検査手法です。
問題を引き起こしそうな入力データを与えて挙動を調べるイが、ファジングに該当します。入力データには、形式が不正な値、極端に長い文字列、想定外の数値などが使われます。
解法ステップ
- ファジングの特徴を「入力データを使った検査」と捉えます。
- 問題を引き起こしそうなデータを入力する選択肢を探します。
- 入力後の挙動を観察するイを選びます。
選択肢別の誤答解説
- ア:ソフトウェアのバージョンやパッチの適用状況を確認する検査です。ファジングのようにデータを入力して挙動を調べる手法ではありません。
- イ:多様なデータを大量に入力し、ソフトウェアの異常な挙動から脆弱性を発見するファジングです。
- ウ:セキュリティアドバイザリなどの情報を基に、既知の脆弱性がないか確認する方法です。入力データによる検査とは異なります。
- エ:ソースコードの内部構造を調べる静的解析に関する説明です。コードを実行して入力への挙動を確認するファジングとは異なります。
よくある誤解
- ファジングは、特定の既知の脆弱性があるかを照合する検査ではありません。想定外の入力に対する異常な挙動を調べます。
- ファジングは、ソースコードを読む検査ではありません。通常はプログラムを実行し、入力に対する挙動を観察します。
- すべての異常終了が脆弱性とは限りません。見つかった異常を調査し、セキュリティ上の問題かを確認する必要があります。
補足コラム
ファジングは、入力の作り方によって、ランダムなデータを使う方法や、入力形式・仕様を踏まえてデータを生成する方法などに分けられます。効率よく脆弱性を探すには、テスト対象の入力形式や、異常を検知する仕組みを適切に設定することが重要です。
FAQ
Q. ファジングでは、どのような異常を調べますか?
A. クラッシュ、異常終了、応答の停止、想定外の動作などを調べます。これらは脆弱性の兆候となることがあります。
A. クラッシュ、異常終了、応答の停止、想定外の動作などを調べます。これらは脆弱性の兆候となることがあります。
Q. ファジングと静的解析の違いは何ですか?
A. ファジングはソフトウェアを実行して入力に対する挙動を調べます。静的解析は、実行せずにソースコードなどを解析します。
A. ファジングはソフトウェアを実行して入力に対する挙動を調べます。静的解析は、実行せずにソースコードなどを解析します。
関連キーワード: ファジング、脆弱性検査、異常系テスト、静的解析、セキュリティテスト

\ せっかくなら /
プロジェクトマネージャを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

