A Second-order of XSS」より
April 1,2008 Posted by Gunter Ollmann

 このところ,検索エンジンへのiframeインジェクション攻撃が大量に発生している。これについて,何人かが詳しい情報を寄せてくれた。Dancho Danchev氏ブログ投稿記事は,これまでの経緯を知るのにうってつけで,さらに被害を受けた人気ニュース・サイトを何カ所か掲載している。かなり多くの攻撃を受けているらしい米USAトゥディ紙も,記事に米IBMの研究開発チームX-Forceの見解を載せている(関連記事:IFRAME攻撃,USAToday.comなど主要なWebサイトが続々とターゲットに)。

 米グーグルの検索エンジンが攻撃の発端となっていることから,多くの注目を集めている。ただし,ここではっきりさせておきたいのは,今回のぜい弱性そのものはグーグル(あるいは,そのほかの主要検索エンジン)の中に存在しない。攻撃の中心となるのは,Webサイト上のアプリケーションが「searched-for」コンテンツを構文解析する際の,単純なクロスサイト・スクリプティング(XSS)のぜい弱性を応用したものだ。

 実際の動きはこうだ。多くのWebサイト(有名どころではUSAToday.comやABCNews.comがそうだし,Dancho氏のWebサイトにはもっとたくさん掲載されている)のWebアプリケーションは,アクセスしてきたWebブラウザからあるデータを取得する際に誤って解析し,この不正データ(今回のケースでは悪意のあるiframeタグ)を該当WebページのコンテンツとURLへ動的に組み込む。このような攻撃方法は「セカンドオーダ・クロスサイト・スクリプティング」と呼ばれることがあり,筆者は攻撃方法と具体的な仕組みを2004年に論文としてまとめた。この論文は,セキュリティ情報WebサイトTechnicalinfo.netで読むことができる。

 現在出回っている攻撃は,Webブラウザの「リファラ(REFERER)」フィールド(関連記事:オンライン詐欺との戦いに活用できる「リファラ」フィールド)を最初の攻撃対象として選ぶようだ。というのも,ぜい弱なWebサイトは検索キーワードの入ったリファラ・フィールドを構文解析し,その内容をURLに変換するためだ(Webアプリケーションは検索エンジン最適化(SEO)対策の一部としてこの処理を行うが,ここにぜい弱性が存在する)。

 この種のぜい弱性は,たいていWebアプリケーションのぜい弱性のスキャンで検出されるはずで,セキュリティ・コンサルティング・サービスの侵入テストでほぼ間違いなく特定されるだろう。そのため,これほど多くのWebサイトが今回の攻撃に無防備であると判明し,筆者は少々驚いている。ぜい弱であると指摘されたWebサイトでは,侵入テストを定期的に実施するための予算を確保していると思っていたからだ。幸運にも,今回の大量攻撃は簡単に対策できるため,かつてぜい弱だったWebサイトの一部は既に修復されていることを確認した。

攻撃集団

 今回の大量攻撃で興味深い点は,攻撃を仕掛けた集団だ。

 この攻撃者たちは明らかに,ぜい弱性のあるWebサイトをかなりの時間をかけて念入りに調べ,テストしている。

 今回の攻撃に屈するぜい弱なWebサイトを特定することは非常に簡単であり(現在使用されているのは「blahblah.com/app/default.php?search=Obama+President+%3CIFRAME%20SRC=//…」),その結果,主な検索エンジン・プロバイダが攻撃と思われるものを特定し,これらを検索結果から削除することも簡単だ。ユーザーが知らず知らずのうちにぜい弱なWebサイトに足を踏み入れてしまわないよう,手間暇をかけて保護しているグーグルなどには頭が下がる。

 実際の攻撃用コンテンツは,iframeタグでエクスプロイトのスクリプトにリンクするという非常に標準的なものだ。ある意味では,ここ数カ月間に我々が目撃してきたiframeインジェクションによるIIS/ASP/SQLの大量改ざんと関連している。

検索エンジンを悪用するケースが頻発

 今回の攻撃で最も重要な点は,検索エンジンの果たす役割だ。攻撃者たちは,過去3~4年のファーミング攻撃で検索エンジンを用いることが多く,管理下にあるWebサイトに「獲物」を誘い込む手段としての検索エンジン利用が増えてきた。今回の攻撃では,クロスサイト・スクリプティングに対してぜい弱なWebサイトそのものが問題を引き起こしている。これらのWebサイトは,検索エンジンのページ・ランキングを「最適化」し,より高い検索順位を追い求めているためだ。

 攻撃者たちは,ドメイン・ハイジャックやボットネットを利用して攻撃用Webコンテンツのページ・ランキングを操るなど,お手のものだ。筆者には,この傾向が近い将来弱まると思えない。

対策

 本記事の冒頭で述べた通り,今回の件について,その脅威だけでなく対策(そして修復)に関する情報を寄せてくれた人がいる。筆者が推奨する対策を以下に示す。

【ぜい弱性のあるWebサイトの所有者】
 優れたぜい弱性スキャナでWebアプリケーションを定期的に検査する。実際には,スキャンを毎日実行するようスケジュールしておく。

 四半期に一度,Webアプリケーションに対する侵入攻撃を手動で実施してみる。さらによい方法は,複数の優良サプライヤーに料金を支払い,交替でテストさせることだ。こうすれば,侵入試験の対象が毎回同じコードばかりになることを防げる。

 スクリプトのぜい弱性をすべて修復しておく。クロスサイト・スクリプティングが(攻撃手法として)「不十分」であることは筆者も承知しているが,お分かりの通り,攻撃者はそれを使って見事に攻撃を成功させている。

【一般ユーザー/企業ユーザーの場合】
 パソコンに漏れなく修正パッチを適用し(適用対象には,OSや「Adobe Acrobat」「Flash」用などあらゆるプラグインがある),アンチウイルス製品を最新のものにアップデートする(アンチウイルス,バッファ・オーバーフローの保護,ファイアウオール,不正侵入防御(IPS)を含む)。

 可能であればWebフィルタリングを利用する。現在の攻撃では,感染したWebサイトと違う場所にある攻撃用スクリプトを使う例がほとんどで,適切な(最新版)Web URLブロッキング・サービスを利用すれば,たいていの攻撃から身を守ることができる。

 Webサイトが安全だと仮定しない。十分な知名度があり,これまで何百回となく利用してきた信頼の置けるWebサイトでも,安全とは限らない。まさに犯罪者たちは,ユーザーのWebサイトに対する信頼を隠れみのにして,攻撃を仕掛けるのだ。


Copyrights (C) 2008 IBM, Corp. All rights reserved.
本記事の内容は執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。
◆この記事は,日本IBMの許可を得て,米国のセキュリティ・ラボであるIBM Internet Security Systems X-Forceの研究員が執筆するブログIBM Internet Security Systems Frequency-X Blogの記事を抜粋して日本語化したものです。
オリジナルの記事は,A Second-order of XSSでお読みいただけます。