セキュア実装
情報セキュリティマネジメント試験「クロスサイトスクリプティング対策」の問題
Webアプリで利用者入力を画面に出力する際、スクリプトの実行を防ぐために行うべき処理はどれか。
ア通信経路を暗号化して入力や出力の盗聴を防ぐための処理を行う。
イ出力時に特殊文字をエスケープしてブラウザにスクリプトと解釈させないようにする処理。
ウデータベースへの問合せを並列化して画面表示までの応答時間を短縮し、処理を高速化するための処理を行う。
エ利用者のログイン失敗回数を数えて、一定回数を超えた時点でアカウントを一時的に凍結するための処理を行う。
正解
イ.出力時に特殊文字をエスケープしてブラウザにスクリプトと解釈させないようにする処理。
XSSは入力に含まれるスクリプトがそのまま出力され実行されることで起きるため、出力時に<や>等をHTMLエンティティへ変換(エスケープ)し、ブラウザにタグと解釈させないことが根本対策となる。
?選択肢ごとの解説
ア ×通信暗号化は盗聴対策であり、出力に混入したスクリプトの実行を防ぐXSS対策とは目的が異なる。
イ ○XSSは入力に含まれるスクリプトがそのまま出力され実行されることで起きるため、出力時に<や>等をHTMLエンティティへ変換(エスケープ)し、ブラウザにタグと解釈させないことが根本対策となる。
ウ ×問合せの並列化は性能改善で、出力エスケープによりスクリプト実行を防ぐXSS対策とは無関係である。
エ ×失敗回数による凍結は不正ログイン対策で、出力時のサニタイズを行うXSS対策とは別の論点である。
セキュア実装の他の問題
この問題の「深掘り・誤答の完全解説・試験のコツ・覚え方」はアプリで。
無料ではじめる →情報セキュリティマネジメント試験の全問を、一問ごとにAIの8-ways解説つきで。SRS暗記カード・全真模試・弱点診断まで。まずは無料で。
ukamiru 過去問 · 情報セキュリティマネジメント試験 · sg-a3-w2-0006
