われわれはこれまで,数々の「スーパー・ワーム」を目撃してきた。例えば,NimdaやCode Red,SQL Slammerは,恐ろしいまでの破壊力を持っていた。これらのワームは瞬く間に広がり,膨大な数のシステムに感染した。そしてワームを根絶するために,巨額の費用が使われたのである。

 ワーム技術は間違いなく進化している。そして多くの場合,ワーム技術は基本的に「最も楽な方法」を選択している。Web技術が幅を利かせ,Ajax(JavaScriptとXMLを組み合わせたもの)の使用頻度が日々高まっている現状では,ワームがWebやAjaxを標的にするようになったのも当然だろう。

 実際に,2005年に何者かがAjaxベースのワーム(Samyという名前だった)を作成し,ソーシャル・ネットワーキング・サイトの「MySpace」に解き放ったことがある。このワームは,MySpaceのユーザーが特定のMySpaceページを訪問したときに,ブラウザを不正利用することによって機能していた。特定のページを訪れると,JavaScriptのワーム・コードがロードされるようになっていたのである。

 このワーム・コードには,Ajaxを使って,同ページを閲覧したMySpaceユーザーのページに自分自身を感染させる働きがあった。そのため,この感染サイクルが延々と繰り返されたのである。報道によると,Samyは24時間以内に何と100万以上ものMySpaceのページに広まったそうだ。「Technical explanation of The MySpace Worm」という記事で,このワームが蔓延した経緯を詳しく理解できる。

 Samyは,Ajax技術が抱えるいくつかの問題点を利用した。その中の1つが,あるサイトでダウンロードされたスクリプトが別のサイトに影響を及ぼすという,おなじみのクロスサイト・スクリプティング(XSS)である。もし何者かが,XSS攻撃に無防備なサイトを列挙した長大なリストを自動的に取得できるようにSamyを進化させたら,被害はさらに甚大なものになるだろう。

 Samyワームはたったの24時間で100万以上のMySpaceサイトに感染したのだから,MySpace以外の多数のWebサイトも標的にするワームなら,Samyをはるかに凌駕する勢いで増殖するはずだ。さらに,そうしたワームは単に増殖するだけでなく,多くの悪事も働けるだろう。例えば,ユーザーの証明書を盗み出し,その情報を侵入者が閲覧できる場所に掲載するようにワームを改造することなど,簡単にできる。

 Petko Petkov氏は先日,誰でも利用できる技術を組み合わせて,新たなスーパー・ワームを作成することがいかに簡単かを証明してみせた。読者のなかには,XSSに対して無防備な他サイトのリストを集める「XSSed.com」というサイトのことを,ご存知の方もいるかもしれない。同サイトのリストは解析しやすいフォーマットで提示され,それぞれのXSSぜい弱性を不正に利用する方法の実例が紹介されている。ぜい弱性データベースをオンラインで利用できるのは,便利なだけでなく,教育的価値もある。だが同時にそれは,悪意のあるコード作成者にとっては宝の山なのだ。

 Petkov氏はXSSed.comの情報を基にして,「Dapper」や「Yahoo Pipes」などの技術を使い,稲妻のような速さで自身を増殖できるスーパー・ワームを作成できることを示した。Dapperを使うと,ほぼどんなWebサイトからでもコンテンツを取得できる。取得したコンテンツは,自動的にXML形式(や他の形式)に変換される。従って,Dapperを使用してXSSに無防備なサイトと,それらのサイトに関連のあるエクスプロイト・コードのリストを作成することが,事実上可能なのだ。しかもこういったリストはすべて,スクリプトが攻撃に使用できるXMLフォーマットで作成されるのである。Yahoo Pipesを使うと,悪意のあるスクリプトに対して,超高速(オン・ザ・フライ)でリストを取得させられる。

 これらのデータや技術が利用できる状況では,ワームは驚異的な速度で蔓延するだろう。さらに,そうしたワームを機能させるのにDapperやYahoo Pipesが特に必要なわけではない,という事実が問題を複雑化させている。これら2つのサービスが提供している技術は,インターネットの至る所にある多くのサイトで簡単に再現できるのだ。従って,今回指摘したようなワームの蔓延を食い止めるのは,当初考えられていたほど簡単ではない。もちろん,XSSに対して無防備なWebサイトを作らないことが,一番の防衛策であることは言うまでもない。

 Petkov氏の考えは「GNUCITIZEN」に詳しく書かれている。7月28日から米国ラスベガスで開催される「Black Hat USA 2007」カンファレンスでは,Brad Hill氏による「Attacking Web Service Security: Message Oriented Madness, XML Worms and Web Service Security Sanity(Webサービスのセキュリティを攻撃する:「メッセージ指向の狂気」とXMLワーム,そしてWebサービスのセキュリティの健全性)」やBryan Sullivan氏とBilly Hoffman氏による「Premature Ajax-ulation(時期尚早のAjax利用)」,Billy Hoffman氏とJohn Terrill氏による「The Little Hybrid Web Worm that Could(可能性を秘めたハイブリッドWebワーム)」など,Webワームについて少なくとも3つのプレゼンテーションが行われる予定だ。今年のBlack Hat USAに行かれる方は,これらのプレゼンテーションへの参加を検討してみてはどうだろうか?