■CSSXSS(CSS Cross Site Scripting/CSSクロスサイト・スクリプティング)
カスケード・スタイルシート(CSS)の呼び出し機能の脆弱性を悪用した攻撃手法。
Internet Explorer(IE) 6では、以下の2つの条件を満たすファイルを自動的にCSSとして認識してしまうことがあった(MS06-021の修正プログラムで解消済み)。
・テキスト・ファイルである
・「{」という文字もしくは、シフトJISの場合は文字コード「0x7B」「0x7D」が含まれる「ボ」や「マ」などの文字がある
この仕様を悪用すると、細工したCSSの読み込みを含むWebページをユーザーに開かせるだけで、攻撃者によって情報が窃取される危険性がある。
CSSは、WebページのHTMLとは異なるドメインに置かれたスタイルシート・ファイルであっても、@importやaddimport、link要素、xml-stylesheetを利用することでインポートできる。この際、インポートされるスタイルシート・ファイルは、前述の条件を満たしていればHTMLファイルであっても、スタイルシートであると認識し、処理を行う。
このとき、スタイルが記述されているとIE 6が誤認識した部分において、攻撃者が用意したWebページ内に記述されたJavaScriptなどによって、必要な情報のみを抽出したり、ほかのWebサイトへリクエストとして送信したりすることも可能だ。
例えば、攻撃用のWebページに、CSSとしてGoogle Mailをインポートするように仕掛けられたような場合、自動ログオンを設定していると、Google
Mailの内容が攻撃者によって読み取られてしまう危険性もあるわけだ(すべてではなく、IE 6がスタイルと誤認識した部分のみ)。同様に、認証が必要なページにアクセスさせるように仕掛けることで、本来は認証済みでないと読めない情報にアクセスされてしまう危険性もある。
なおIE 6に関しては、前述の通り、すでにこの脆弱性を解消するMS06-021の修正プログラムが提供されているので、これを適用することでCSSXSSを防ぐことができる。 |