クロスサイトスクリプティング(Cross Site Scripting:CSS、XSS)は、Web サーバの入力欄にスクリプトを含んだタグを打ち込むことによって cookie(クッキー)を読み出す攻撃です。例としては、掲示板の入力欄から悪意あるスクリプトコードが入力され、他の訪問者がその掲示板の内容を表示したとき、訪問者のブラウザにおいて、その悪意あるスクリプトコードが実行される、というようなことがあげられます。
クロスサイトスクリプティングに関して、情報処理技術者試験の午前試験問題をちょっとみてみます。試験問題の全文については、情報処理技術者試験センターの Web サイト http://www.jitec.jp/ にて公開されています。
平成18年度テクニカルエンジニア(情報セキュリティ)試験の午前試験問題の問43。
問43 クロスサイトスクリプティングに該当するものはどれか。
ア 悪意をもったスクリプトを、標的となるサイト経由でユーザのブラウザに送り込み、その標的にアクセスしたユーザのクッキーにある個人情報を盗み取る。
イ クラッカの Web サイトにアクセスしたユーザに悪意をもったスクリプトを送り込み、そのスクリプトを実行させて Web ページ中のHTMLタグを変換する。
ウ 攻撃者が、JavaScript を使ったセッション管理に使うクッキーにアクセスし、ブラウザに広告などのダミー画面を表示する。
エ 入力情報を確認するためにフォームの入力値を画面表示するプログラムの脆弱性を利用して、クッキーにある個人情報を改ざんする。
答えは、ア。
平成18年度情報セキュリティアドミニストレータ試験の午前試験問題の問28。
問28 クロスサイトスクリプティングによる攻撃へのセキュリティ対策はどれか。
ア OS のセキュリティパッチを適用することによって、Web サーバへの侵入を防止する。
イ Web アプリケーションで、クライアントに入力データを再表示する場合、情報内のスクリプトを無効にする処理を行う。
ウ Web サーバに SNMP プログラムを常駐稼動させることによって、攻撃を検知する。
エ 許容範囲を超えた大きさのデータの書き込みを禁止し、Web サーバへの侵入を防止する。
答えは、イ。
対策としては、スクリプトのタグの入力チェックや、スクリプトの無効化があげられています。