SAシステムアーキテクト試験 午前Ⅱ

平成26年度秋期 システムアーキテクト 午前Ⅱ 問25

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

脆弱性検査手法の一つであるファジングはどれか。

選択肢

  1. ア
    既知の脆弱性に対するシステムの対応状況に注目し,システムに導入されているソフトウェアのバージョン及びパッチの適用状況の検査を行う。
  2. イ
    ソフトウェアのデータの入出力に注目し,問題を引き起こしそうなデータを大量に多様なパターンで入力して挙動を観察し,脆弱性を見つける。
  3. ウ
    ソフトウェアの内部構造に注目し,ソースコードの構文を機械的にチェックするホワイトボックス検査を行うことによって脆弱性を見つける。
  4. エ
    ベンダや情報セキュリティ関連機関が提供するセキュリティアドバイザリなどの最新のセキュリティ情報に注目し,ソフトウェアの脆弱性の検査を行う。
解き方のヒントを見る

検査手法を見分ける着眼点

脆弱性検査手法を区別するときは、名称の印象に頼らないことが大切です。その手法が何を手掛かりにして弱点を見つけようとしているのかという一点に注目し、問題の内容と自分の理解を照らし合わせて整理すると判断しやすくなります。

この問題で問われていること

問われているのは各手法の名前の暗記ではなく、手法ごとの違いを生む根本的な要素を理解しているかです。手掛かりとする情報の違いという観点から、それぞれの手法を自分の言葉で説明できるかを確かめてください。

視点

脆弱性検査手法は、弱点を見つけるという目的はどれも共通しています。一方で、検査の際に手掛かりとして用いる情報はそれぞれ異なります。似た名称や共通の目的に引きずられず、『この手法は何を手掛かりにしているのか』を一つずつ確認すると、手法同士の境界が見えやすくなります。

確認ポイント

  • 各手法が弱点を見つける際に何を手掛かりにしているかを、自分の言葉で説明できるか
  • 問題で示された内容が、どの手法の手掛かりと対応しているかを照らし合わせたか
  • 名称や目的が似ている手法同士でも、手掛かりの違いによって区別できているか
正解と解説を見る

正解

イ

解説

ファジングは、ソフトウェアに問題を引き起こす可能性のあるデータを大量かつ多様なパターンで入力し、そのときの挙動を観察して脆弱性を発見する検査手法です。

理由

ファジングでは、通常とは異なる形式や内容のデータをソフトウェアへ入力し、異常終了や想定外の動作などが起きないかを調べる。入力を多様化して実行時の挙動を観察する点が中心です。

比較

バージョンやパッチの確認は既知の脆弱性への対応状況の検査、ソースコードの構文確認はホワイトボックス検査、セキュリティ情報の確認は脆弱性情報に基づく調査であり、ファジングの説明とは異なる。

選択肢ア

これは不正解だよ。記述されているのは、導入済みソフトウェアのバージョンやパッチ適用状況を確認し、既知の脆弱性への対応状況を調べる検査である。多様なデータを入力して実行時の挙動を観察するファジングとは、検査対象と方法が異なる。

選択肢イ(正解)

これは正解だよ。問題を引き起こしそうなデータを大量かつ多様なパターンで入力し、その結果としてソフトウェアがどのように挙動するかを観察して脆弱性を見つける方法は、ファジングの特徴に一致している。

選択肢ウ

これは不正解だよ。記述されているのは、ソフトウェアの内部構造やソースコードの構文を機械的に調べるホワイトボックス検査である。外部から多様なデータを入力し、実行時の挙動を確認するファジングとは検査の着眼点が異なる。

選択肢エ

これは不正解だよ。記述されているのは、ベンダや情報セキュリティ関連機関が提供する最新のセキュリティ情報を調べ、それを基に脆弱性を確認する方法である。データを多様に入力して挙動を観察するファジングの説明ではない。

学習のポイント

ファジングは外部入力を変化させて挙動を確認する検査として覚える。

出典:独立行政法人 情報処理推進機構(IPA)平成26年度秋期 システムアーキテクト試験 午前Ⅱ 問25(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針