島を抜け出して感染するスーパーワーム

もう1つの講演「The Little Hybrid Web Worm that Could」は、桁違いの感染力を持ったスーパーワームについてだ。

ワームがメールの添付ファイルで広がっていた頃に比べると、Samyに代表されるようなWebワームは感染の広がりが速く、Flashやメディアフォーマットを利用するなど感染手法も洗練されている。ただ、特定の脆弱性をターゲットとするため、感染の範囲に限界があるのも事実だ。Samyの場合は感染がMySpaceユーザーの間のみであり、天然痘のような感染スピードであっても、小さな島で起こった出来事のような安心感があった。だが、島を抜け出すような感染力を持ったHybrid Webワームの脅威が迫っているというのが講演のテーマだ。

Hybrid Webワームは、WebブラウザとWebサーバのどちらでも実行される。現段階で数多く存在するCross-site Scriptingの脆弱性を突く一方で、ケースとしては少ないがより大きなダメージにつながるWebサーバのコマンド実行の脆弱性も利用できる。2つの感染モデルを兼ね備えることでHybrid Webワームは、様々な状況を生き抜きながら感染を広げる。

具体的な感染ケースを説明すると、被害者AがあるWebサイトを訪れた際にJavaScript版のHybrid Webワームを受け取り、Webブラウザで実行されたJavaScriptコードがコマンド実行の脆弱性を持つWebサイトを攻撃する。そしてWebサイトをホストしているサーバにおいて、今度はJavaScript版に潜在していたPerl版のワームが他の脆弱性のあるWebサーバーへと感染を広げる。そのサーバでホストされているWebサイトを訪れた感染者BがJavaScript版を受け取るという仕組みだ。可能性として、クライアント側ではJavaScriptのほか、VBScriptやFlashオブジェクトのActionScriptなど、またサーバ側の言語としてはPerl、PHP、Python、Rubyなどが挙げられた。

Hybrid Webワームは変異エンジンを備え、ソースコードを変異させることで巧みにセキュリティ・プログラムをすり抜けようとする。またSecuniaやZone-HのようなWebの脆弱性情報を公開しているサービスを利用したり、脆弱性診断プログラムを用いるなどして新たな脆弱性を取り込み、自らをアップデートすることで延命を図るそうだ。

対策としてHoffman氏は、JavaScriptのCyclomatic Complexity測定、ネットワークトラフィックにおけるHybrid Webワームの署名をベースとした検出方法を挙げた。ただし攻撃が洗練されるほど、根本的な対策が必要になるというのが同氏の意見だ。上記の例ではCross-site Scriptingの脆弱性への対応であり、「壊れたアプリケーションを防御してくれるセキュリティ製品に頼るだけではなく、アプリケーションに適切な入力検証を導入するような努力が必要だ」としていた。