Urchin の素顔
最近、特定の大量埋め込みキャンペーンについて書かれたブログを見かけるようになりました。この機会に、シマンテックで判明した事実をご報告します。
この攻撃は、すでにペースを速めており、多くの無防備なユーザーが感染しています。攻撃の始まりは特定のサイトに埋め込まれたスクリプトで、このスクリプト自体は http://[削除済み]/urchin.js という特定のサイトをポイントしています。今回のブログでは、悪質なファイルを侵入先のコンピュータにインストールするためにこの攻撃で使われている、いくつかの悪用コードを見ていこうと思います。
スクリプトが埋め込まれたサイトにアクセスすると、ユーザーは悪質なサイトにリダイレクトされます。さらにリダイレクトが続き、最終的には不明瞭化されたスクリプトが含まれるサイトに誘導されます。このスクリプトをデコードすると、iFrame タグが埋め込まれていることがわかります。このサイトに埋め込まれている iFrame タグの不明瞭化を解除すると、次のようになっています。
ページには再生ボタンの付いたビデオが表示されますが、このボタンをクリックすると、次の図のように Adobe Flash Player の更新を推奨する偽のメッセージが出現します。
[Don’t Install(インストールしない)]をクリックしても、更新のインストールを求めるメッセージが繰り返されるだけです。
i.html ページには、多数の悪用コードも潜んでいます。不明瞭化解除への対抗策として、スクリプトでは argument.callee 関数が利用されています。これは、多くの悪質なスクリプトで確認されている関数で、次の図の赤い線で囲んだ部分がこれに当たります。
このスクリプトの不明瞭化を解除すると多種多様なスクリプトが見つかりますが、上の図と同一のパターンをとっているようです。それぞれをデコードすると、隠された悪用コードが見つかります。各スクリプトにはプラグイン検出スクリプトも含まれており、侵入先のコンピュータに別のプラグインがインストールされているかどうかが、これで特定できるようになっています。記事の執筆時点で、このサイトが悪用を試みているのは、以下の脆弱性です。
- CVE-2010-0842 - Java の Midi に関する脆弱性(BID 39077)
- CVE-2008-2992 - PDF の Util.Printf に関する脆弱性(BID 32091)
- CVE-2007-5659 - PDF の CollectEmailInfo に関する脆弱性(BID 27641)
- CVE-2009-0927 - PDF の GetIcon に関する脆弱性(BID 34169)
- CVE-2010-0840 - Java の信頼できるメソッドチェーンに存在するリモートコード実行の脆弱性(BID 39065)
- CVE-2010-4452 - Java Web Start の脆弱性(BID 46388)
このうち、Java Midi の悪用コード(CVE-2010-0842)をデコードしたスナップショットを次に示します。
この脆弱性をトリガする際に必要な RMF ファイルは不明瞭化されており、実行時には html 配列として JAR ファイルに渡されます。PDF 内部の悪質な JavaScript でも、スクリプトの不明瞭化には同様のテンプレートが使われていました。不明瞭化を解除すると、そこに含まれている悪用コードがわかります。次の図の赤線で囲んだ部分が、それぞれの悪用コードです。
偽の Adobe Flash Player 更新画面から手動でインストールしたかどうかにかかわらず、上述した脆弱性のいずれかの悪用に成功すればマルウェアはインストールされてしまうことがわかります。こうして、まんまとマルウェアがインストールされる確率は非常に高くなるのです。
最終的に、いずれかの脆弱性が悪用されるか、ユーザーが下の図の[Install Now(今すぐインストール)]ボタンをクリックすると、FakeAV のダウンローダがインストールされます。
次のスナップショットは、FakeAV スキャナが FakeAV のダウンローダの実行を促しているところで、クリックすると FakeAV がダウンロードされます。
このように、コンピュータを危殆化する手法が 1 種類だけではなく、いくつも存在しているのです。これは、ソーシャルエンジニアリング攻撃を利用してマルウェアのインストールを誘う手口と、各種の脆弱性を悪用してマルウェアをインストールする手口を組み合わせた、新しい攻撃の定番と言えます。
シマンテックの多層型アプローチは、こうした複合型の攻撃からもユーザーを保護していますが、このような攻撃を回避するためには、セキュリティソフトウェアと各種プラグインの更新が必須であることは言うまでもありません。
* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。