オリジナル模擬試験2 問41
問41解説へ
クロスサイトスクリプティングによる攻撃へのセキュリティ対策に該当するものはどれか。
- OSのセキュリティパッチを適用することによって,Webサーバへの侵入を防止する。
- Webアプリケーションがクライアントに入力データを表示する場合,データ内の特殊文字を無効にする処理を行う。
- WebサーバにSNMPプログラムを常駐稼動させることによって,攻撃を検知する。
- 許容範囲を超えた大きさのデータの書き込みを禁止し,Webサーバへの侵入を防止する。
正解 イ問題へ
広告
解説
クロスサイトスクリプティング(XSS)は、動的にWebページを生成するアプリケーションのセキュリティ上の不備を意図的に利用して、悪意のあるスクリプトを混入させることで、攻撃者が仕込んだ操作を実行させたり、別のサイトを横断してユーザーのクッキーや個人情報を盗んだりする攻撃手法です。
例えば掲示板などユーザーの投稿をそのまま記事とするWebアプリケーションで、投稿内容に「 <script>alert('hello');</script> 」というスクリプトコードが含まれているものをそのまま記事として出力すると、ブラウザは実行コマンドと解釈し「hello」というメッセージを表示します。クロスサイトスクリプティングはこのような脆弱性を悪用し、クライアント上で任意のコマンドを実行させることで様々な不正行為を行います。これを防ぐためにはデータを元にクライアントに対して出力を行うときにWebアプリケーションにおいて特別な意味をもつ文字を無害化する処理を組込むことが効果的です。上記の例でいえばHTMLタグを構成する「 <,> 」を実体参照の「 <,> 」に変換することなどで表示内容はそのままにコマンドとしての実行を防ぐことができます。
攻撃が行われるといってもWebサーバに送信される内容は普通のテキストのみで構成される正当なHTTPリクエストであるため、セキュリティパッチやパケットフィルタリング型ファイアウォール・SNMP等では攻撃を検知することができません。
例えば掲示板などユーザーの投稿をそのまま記事とするWebアプリケーションで、投稿内容に「 <script>alert('hello');</script> 」というスクリプトコードが含まれているものをそのまま記事として出力すると、ブラウザは実行コマンドと解釈し「hello」というメッセージを表示します。クロスサイトスクリプティングはこのような脆弱性を悪用し、クライアント上で任意のコマンドを実行させることで様々な不正行為を行います。これを防ぐためにはデータを元にクライアントに対して出力を行うときにWebアプリケーションにおいて特別な意味をもつ文字を無害化する処理を組込むことが効果的です。上記の例でいえばHTMLタグを構成する「 <,> 」を実体参照の「 <,> 」に変換することなどで表示内容はそのままにコマンドとしての実行を防ぐことができます。
攻撃が行われるといってもWebサーバに送信される内容は普通のテキストのみで構成される正当なHTTPリクエストであるため、セキュリティパッチやパケットフィルタリング型ファイアウォール・SNMP等では攻撃を検知することができません。
広告