ホーム > 情報処理安全確保支援士試験 > 2015年 秋期
情報処理安全確保支援士試験 2015年 秋期 午前2 問12
クロスサイトスクリプティングによる攻撃を防止する対策はどれか。
ア:WebサーバにSNMPエージェントを常駐稼働させ,Webサーバの負荷状態を監視する。
イ:WebサーバのOSのセキュリティパッチについて,常に最新のものを適用する。
ウ:Webサイトへのデータ入力について,許容範囲を超えた大きさのデータの書込みを禁止する。
エ:Webサイトへの入力データを表示するときに,HTMLで特別な意味をもつ文字のエスケープ処理を行う。(正解)
解説
クロスサイトスクリプティングによる攻撃を防止する対策はどれか【午前2 解説】
要点まとめ
- 結論:クロスサイトスクリプティング(XSS)対策には、入力データのHTMLエスケープ処理が必須です。
- 根拠:XSSは悪意あるスクリプトがWebページに埋め込まれ、利用者のブラウザで実行される攻撃だからです。
- 差がつくポイント:単なるOSのパッチ適用や監視では防げず、入力値の検証や表示時のエスケープ処理が効果的です。
正解の理由
選択肢エは「Webサイトへの入力データを表示するときに、HTMLで特別な意味をもつ文字のエスケープ処理を行う」とあります。XSS攻撃は、ユーザ入力をそのままHTMLに埋め込むことでスクリプトが実行されるため、表示時に
<
, >
, &
, "
などの特殊文字をエスケープし、ブラウザがスクリプトとして解釈しないようにすることが根本的な防止策です。これにより、悪意あるスクリプトの実行を防げます。よくある誤解
- OSのセキュリティパッチを最新にしてもXSSは防げません。
- 入力データのサイズ制限はバッファオーバーフロー対策であり、XSS対策とは異なります。
解法ステップ
- 問題文の「クロスサイトスクリプティング(XSS)」の意味を理解する。
- XSS攻撃の仕組みを確認し、どの対策が有効かを考える。
- 選択肢を一つずつ検証し、XSS防止に直接関係するものを探す。
- HTMLの特殊文字をエスケープする処理がXSS防止の基本であることを確認。
- それに該当する選択肢エを正解とする。
選択肢別の誤答解説
- ア: SNMPエージェントの稼働はサーバ監視のためであり、XSS攻撃の防止には無関係です。
- イ: OSのセキュリティパッチはサーバの脆弱性対策ですが、XSSはWebアプリケーションの問題であり直接防げません。
- ウ: 入力データのサイズ制限はバッファオーバーフローなどの対策であり、XSSの根本的な防止策ではありません。
- エ: 表示時にHTML特殊文字をエスケープすることで、悪意あるスクリプトの実行を防止できるため正解です。
補足コラム
クロスサイトスクリプティング(XSS)は、Webアプリケーションの脆弱性の中でも特に多く見られる攻撃手法です。攻撃者はユーザ入力欄にスクリプトを埋め込み、他の利用者のブラウザでそのスクリプトを実行させます。これにより、クッキーの盗難やセッションハイジャック、偽装ページの表示などが可能になります。対策としては、入力値の検証(バリデーション)と表示時のエスケープ処理が基本であり、フレームワークによっては自動的にエスケープ処理を行う機能もあります。
FAQ
Q: なぜOSのセキュリティパッチを最新にしてもXSSは防げないのですか?
A: XSSはWebアプリケーションの入力処理の問題であり、OSの脆弱性とは別の層の問題だからです。
A: XSSはWebアプリケーションの入力処理の問題であり、OSの脆弱性とは別の層の問題だからです。
Q: 入力値のサイズ制限はXSS対策にならないのですか?
A: サイズ制限はバッファオーバーフローなどの対策であり、XSSの根本的な防止にはなりません。表示時のエスケープ処理が必要です。
A: サイズ制限はバッファオーバーフローなどの対策であり、XSSの根本的な防止にはなりません。表示時のエスケープ処理が必要です。
関連キーワード: クロスサイトスクリプティング, XSS対策, HTMLエスケープ, Webセキュリティ, 入力値検証