この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

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

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

正解は イ

解説

ソフトウェアテスト手法であるファジングを問う問題です。ファジング(fuzzing)は、検査対象のソフトウェアに対して、問題を引き起こしそうな多様なデータ(極端に長い文字列、想定外の制御コード、境界値、ランダムなデータなど。これらをファズ=fuzzと呼ぶ)を大量に送り込み、異常終了やフリーズ、予期しない動作が発生しないかを観察することで、ソフトウェアに潜む脆弱性や欠陥を検出する手法です。イが正解です。開発者が想定していなかった入力に対する処理の不備(バッファオーバフロー、例外処理の漏れなど)を見つけ出せるため、セキュリティテストの一手法として広く使われています。あくまで脆弱性を「検出する」手法であって、修正までは行わない点に注意が必要です。ブラックボックス的に大量の入力を試すアプローチなので、ソースコードがなくても実施でき、製品の出荷前の品質検証や、運用前のシステムの脆弱性診断などで幅広く活用されています。

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

選択肢 ア
ソフトウェアの脆弱性を自動的に修正するという機能はファジングにはありません。ファジングはあくまで問題のある入力を与えて脆弱性を「発見」する検査手法であり、見つかった脆弱性をどう直すかは、開発者がコードを調査して別途対応する必要があります。検出と修正はまったく別の工程であり、ファジングが自動で担うのはあくまで脆弱性の検出までです。
選択肢 ウ
複数のログデータを相関分析して不正アクセスを検知するのは、SIEM(セキュリティ情報イベント管理)の機能の説明です。運用中のシステムが出力するログを収集・分析して攻撃の兆候を見つける仕組みであり、ソフトウェアに様々な入力を与えて潜在的な脆弱性を探すファジングとは、扱う対象(ログか入力か)も目的(攻撃の検知か脆弱性の検出か)も大きく異なります。
選択肢 エ
利用者IDを統合的に管理し、統一したパスワードポリシを適用するのは、IDM(アイデンティティ管理)やシングルサインオンに関する説明です。アカウント管理の仕組みであり、ソフトウェアの脆弱性を検査するファジングとはまったく分野が異なります。「セキュリティ」という共通点だけで結びつけないよう、機能の本質で判断しましょう。

解くときのポイント

ファジング=問題を起こしそうな大量のデータを送り込み、異常動作から脆弱性を検出する手法。「検出」止まりで修正はしない点に注意。ログ相関分析(SIEM)やID管理とは別物。