バグ
更新日:
用語解説
ソフトウェアの要求、設計、コード、設定等に入り込んだ欠陥で、特定条件で実行すると誤った内部状態、結果、停止などを引き起こす可能性があります。
■ 試験で押さえるポイント
境界値処理、並行制御、入力検証、メモリ管理、例外処理、要件解釈などの誤りがあり、存在しても該当経路が実行されるまで故障が表面化しない場合があります。
バグは原因となるフォールト、実行時の不正状態はエラー、利用者から見た機能逸脱は故障として区別できます。
全てのバグがセキュリティ脆弱性ではなく、攻撃者が悪用して権限逸脱、情報漏えい、改ざん、停止等を起こせる弱点になると脆弱性です。
要求・設計レビュー、コーディング規約、静的解析、単体・結合・境界値・ファジングテスト、障害分析で予防・検出・修正します。
■ 過去問での着眼点
プログラム等に含まれる欠陥がバグで、悪用可能なセキュリティ上の弱点になった場合に脆弱性として扱います。
例: 配列境界チェック漏れはバグです。細工した入力で任意コード実行まで可能なら重大な脆弱性であり、修正と影響調査が必要です。