ちょっと心配なので念押し

昨日のエントリ「CSSXSS」で言及したCSSXSSなんですが、一次ソースの示す危険性って、過小評価されてないか?

私は今回の実証コードがGoogle Desktop経由であったことはどうでもいいと思っているが、CSSXSSという攻撃手法が可能なブラウザの仕様そのものには、大変な危険性を感じている。

危険性の方をGDSよりも重視しているのは、今後出る新しいSafariや別のブラウザが、同じ轍を踏まないように、踏んでいたらすぐにベンダーに報告できるように自分の中で整理しておきたいからだ。そもそも私は個人的な用事でWindowsをほぼ全く使わないから*1今回の実証コード公開は、少なくとも私にとって「現実の脅威」ではないんだ。

イスラエルのハッカー、Gillon氏はGoogle Desktopというメジャーなサービスに対してのexploit(実証コード)を作ってしまった。おかげで「デカくて新しいモノ」が大好きな報道がバイアスになって、CSSXSSの危険性がかすんでしまっているように感じる。

CSSXSS脆弱性の本質をもう一度、別の言葉で整理してみよう。

Windows InternetExplorerでは、CSSの@importではスタイルシートの書式があればどんなファイルでも読み込むが、読み込んだファイルの内容をjavascriptで閲覧できてしまう。この欠陥のため、攻撃者が用意したWebサイトを閲覧した被害者は、被害者がWebブラウザで閲覧できるファイルの内容を攻撃者のWebサイトに読まれてしまう可能性がある。

これがCSSXSSの本質であり、クロスドメインやパーシングされること、Google Desktopの内容が読まれてしまうことは枝葉にすぎない。

現在のバージョンのSafariやFireFoxがCSSXSSから安全である理由は、@importで読み込まれた内容にWebコンテンツからアクセスする手段が今のところ見つかっていないからだ。

現在のバージョンのSafariやFireFoxがCSSXSSから安全である理由は、@importで読み込まむとValidなCSSへ整形して格納しているためだ。

「IEはクロスドメインなほげほげがばうばう」とかどっかで見たが、SafariもFireFoxではdocument.stylesheets.imports.csstextから有為な値読み込んだファイルが直接扱えないだけであって、別ドメインのHTMLやテキストを読み込んでCSSだけを使える。

document.stylesheets.imports.csstextから値をとれないことは、ブラウザの優位を示さない。このパラメータをクライアントスクリプトで編集できれば、もっと豊かなWebコンテンツが実現できる可能性だってあるんだ。

document.stylesheets.imports.csstextを実装しているWindows IEに期待されるセキュアな仕様は、Mac IEのようにValidなCSSのみを.csstextで取り扱えるようにすることだ。

WindowsのIEを使うユーザが行える防護策は、信頼できないWebサイトでJavaScriptをオフにすること、JavaScriptのオフが難しいなら*2、ログインして利用するサービスからは毎回ログアウトすることと、ログアウトしたらキャッシュを毎回クリアすることだ。

ともあれ、一日も早くパッチを公開してほしいものであるなぁ。

*1:たまに使うが、こういう脆弱性を確認するときばっかりだ(笑

*2:最近は本当に難しいことだろう

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

%d人のブロガーが「いいね」をつけました。