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