この概念が出た関連問題

この試験の対策ガイド

情報セキュリティマネジメント試験 対策ガイド

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

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

正解は イ

解説

WebアプリケーションのセキュリティはOWASP Top 10でも示されているように多岐にわたります。各攻撃と対策の対応を正確に理解することが重要です。SQLインジェクション:ユーザー入力にSQL文を埋め込んでDBを不正操作する攻撃。対策:プレースホルダ(バインド変数)の使用・入力値のエスケープ処理(選択肢b)。OSコマンドインジェクション:ユーザー入力にOSコマンドを埋め込んでサーバのOSを不正操作する攻撃。対策:シェルコマンドに外部入力を渡さない・入力値の厳密なバリデーション。クロスサイトスクリプティング(XSS):悪意あるスクリプトを他ユーザーのブラウザで実行させる攻撃。対策:出力時のHTMLエスケープ(<>&を実体参照に変換)。セッションハイジャック:セッションIDを盗んで不正ログインする攻撃。対策:Secure/HttpOnly属性のCookie・ログイン後のセッションID再生成。

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

選択肢 ア
「OSコマンドインジェクションを防ぐために、WebアプリがOSコマンドを直接実行している部分について入力値をHTMLエスケープする」は誤りです。HTMLエスケープはXSS対策です。OSコマンドインジェクション対策は「OSコマンドに外部入力を直接渡さない」「入力値の厳密なバリデーション」です。対策を攻撃手法と誤対応させた選択肢です。
選択肢 ウ
「クロスサイトスクリプティングを防ぐために、Webアプリのデータベースへの問合せにプレースホルダを使用する」は誤りです。プレースホルダ(バインド変数)はSQLインジェクション対策です。XSS対策は出力時のHTMLエスケープです。
選択肢 エ
「セッションハイジャックを防ぐために、Webアプリが発行するセッションIDに連番を用いる」は誤りです。連番のセッションIDは予測・推測が容易になりセッションハイジャックのリスクが高まります。セッションIDは十分な長さのランダム値を使用すべきです。

解くときのポイント

攻撃と対策の対応表:SQLインジェクション→プレースホルダ・エスケープ、XSS→HTML出力エスケープ、OSコマンドインジェクション→外部入力をコマンドに渡さない、セッションハイジャック→ランダムなセッションID・Cookie保護。対策の混同に要注意。