ホーム > システムアーキテクト試験 > 2014年
システムアーキテクト試験 2014年 午前2 問25
脆弱性検査手法の一つであるファジングはどれか。
イ:ソフトウェアのデータの入出力に注目し、問題を引き起こしそうなデータを大量に多様なパターンで入力して挙動を観察し、脆弱性を見つける。(正解)
ウ:ソフトウェアの内部構造に注目し、ソースコードの構文を機械的にチェックするホワイトボックス検査を行うことによって脆弱性を見つける。
エ:ベンダや情報セキュリティ関連機関が提供するセキュリティアドバイザリなどの最新のセキュリティ情報に注目し、ソフトウェアの脆弱性の検査を行う。
ア:既知の脆弱性に対するシステムの対応状況に注目し、システムに導入されているソフトウェアのバージョン及びパッチの適用状況の検査を行う。
解説
脆弱性検査手法の一つであるファジングはどれか【午前2 解説】
要点まとめ
- 結論:ファジングは大量かつ多様なデータをソフトウェアに入力し、異常挙動を観察して脆弱性を発見する手法です。
- 根拠:ファジングはブラックボックステストの一種で、ソフトウェアの入出力に注目し、予期しない入力で問題を検出します。
- 差がつくポイント:ファジングはソースコード解析や既知脆弱性の調査ではなく、実際の動作を試験する点が特徴です。
正解の理由
選択肢イは「ソフトウェアのデータの入出力に注目し、問題を引き起こしそうなデータを大量に多様なパターンで入力して挙動を観察し、脆弱性を見つける」と説明しています。これはファジングの本質を正確に表しており、ソフトウェアに対して異常な入力を繰り返し与え、クラッシュや不正動作を検出する動的検査手法だからです。
よくある誤解
ファジングは単なるバージョン確認やパッチ適用状況の検査ではありません。また、ソースコードを直接解析するホワイトボックステストとも異なり、実際の動作を試験する点が重要です。
解法ステップ
- ファジングの定義を確認する(大量の異常データを入力して挙動を観察する手法)。
- 各選択肢の説明をファジングの定義と照らし合わせる。
- 入力データの多様性と動的検査に注目し、該当する選択肢を特定する。
- ソースコード解析や既知脆弱性の調査と混同しないよう注意する。
- 正解は「イ」であることを確定する。
選択肢別の誤答解説
- ア: 既知の脆弱性に対する対応状況の検査は「バージョン管理やパッチ適用状況の確認」であり、ファジングではありません。
- イ: ファジングの説明として正確であり、異常データを大量に入力して脆弱性を検出します。
- ウ: ソースコードの構文チェックはホワイトボックステストの一種であり、ファジングとは異なります。
- エ: セキュリティアドバイザリなどの情報を利用するのは情報収集や脆弱性管理であり、ファジングの手法ではありません。
補足コラム
ファジングは自動化が容易であり、未知の脆弱性を発見しやすい点が特徴です。特にバイナリやネットワークプロトコルのテストに有効で、近年はAIを活用した高度なファジング技術も登場しています。一方で、カバレッジの低さや誤検知の問題もあるため、他の検査手法と組み合わせて利用されます。
FAQ
Q: ファジングはホワイトボックステストですか?
A: いいえ。ファジングはソフトウェアの内部構造を知らずに動作を試験するブラックボックステストの一種です。
A: いいえ。ファジングはソフトウェアの内部構造を知らずに動作を試験するブラックボックステストの一種です。
Q: ファジングで検出できる脆弱性の例は?
A: バッファオーバーフローやメモリ破壊、例外発生など、異常入力に起因する脆弱性が検出されやすいです。
A: バッファオーバーフローやメモリ破壊、例外発生など、異常入力に起因する脆弱性が検出されやすいです。
Q: ファジングとペネトレーションテストの違いは?
A: ファジングは自動的に大量の異常データを入力して脆弱性を探す手法で、ペネトレーションテストは手動やツールを使い総合的に攻撃を試みる手法です。
A: ファジングは自動的に大量の異常データを入力して脆弱性を探す手法で、ペネトレーションテストは手動やツールを使い総合的に攻撃を試みる手法です。
関連キーワード: ファジング, 脆弱性検査, ブラックボックステスト, セキュリティテスト, バッファオーバーフロー