「エクスプロイトキット」とは、サイバー犯罪者が脆弱性を利用した攻撃を行うために使用するツールキットの呼称です。エクスプロイトキットを設置した不正サイトに、インターネット利用者を誘導して脆弱性攻撃を行う攻撃手法は、いまや定番化しています。 2013年10月、当時最もよく利用されていたエクスプロイトキット「Blackhole Exploit Kit(BHEK)」は、作成者「Paunch」の逮捕により終焉を迎えました。しかし、それ以降も、さまざまなエクスプロイトキットが登場し、サイバー犯罪者に利用されています。
BHEK の終焉後、さまざまなエクスプロイトキットが登場したということは、中心となる手法もエクスプロイトキットによって異なることになります。本稿では、こうした手法の違いについて取り上げます。
■攻撃に利用された脆弱性
2014年、Internet Explorer(IE)、Silverlight、Adobe Flash に存在する脆弱性は、エクスプロイトキットによって頻繁に攻撃に利用されました。下記の 4件は、エクスプロイトキットに最も多く狙われた脆弱性の一部です。
- CVE-2013-0074(Silverlight)
- CVE-2014-0515(Adobe Flash)
- CVE-2014-0569(Adobe Flash)
- CVE-2013-2551(Internet Explorer)
上記のリストで最も顕著な点は、Java の脆弱性が含まれていないことです。Java の脆弱性はこれまで非常に多く狙われてきましたが、ユーザのクリックを必要とする「Click-to-Play」の使用が Javaアプレットで増加したため、脆弱性攻撃の対象としての魅力を失いました。そのため、Java の脆弱性への攻撃を含まないエクスプロイトキットも増えています。
表1は、各エクスプロイトキットで利用された脆弱性の一覧です。
表1:エクスプロイトキットに利用された脆弱性(クリックすると拡大します)
■プラグインの検出
ほとんどのエクスプロイトキットは、狙った PC上で実行中のブラウザのプラットフォームを検出するためのソフトウェアを実行し、どのエクスプロイトコードを送信するかを決定します。
これを実行するコードはエクスプロイトキットごとに異なります。ブラウザやプラグインの可能な配列数を考えると、実際にかなり複雑です。
「Nuclear」と「FlashPack」の 2つのエクスプロイトキットは、正規の JavaScriptライブラリ「PluginDetect」を利用します。これは、エクスプロイトキットの作成者に必要とされる作業量を最小限にし、すべての機能を提供します。しかし、このような既成のライブラリが使用されることで、セキュリティ企業はエクスプロイトキットが利用する Webサイトをより簡単に検出できるようになります。
ほとんどのエクスプロイトキットは、不正活動を実行するために独自のライブラリを作成しています。そのため、検出はより難しくなりますが、同時にライブラリの機能は制限されることが多くなります。例えば、こうした独自ライブラリの多くは IE上でしか機能しません。別の手法を用いるエクスプロイトキット「Magnitude」は、Webサーバ上でプログラムの実行が要求されるたびに結果を Webブラウザに送信する「サーバーサイドスクリプト」を利用して、プラグインを検出します。
表2 は、各エクスプロイトキットが利用するライブラリのまとめです。
表2:プラグインを検出するために利用されている手法
図1 は、エクスプロイトキットで利用されたライブラリ「PluginDetect」の例です。
図1:利用されたライブラリ「PluginDetect」
図2 は、エクスプロイトキットで利用された独自のライブラリの一部です。
図2:利用された独自のライブラリ
■セキュリティ対策製品の検出
エクスプロイトキットに新たに追加された手法は、インストールされているセキュリティ対策製品を検出する機能です。特定のセキュリティ対策製品がインストールされていた場合、エクスプロイトキットは実行を中止します。セキュリティ対策製品および仮想マシンソフトウェアがこの検出対象とされます。
この手法は、IE に存在する脆弱性「CVE-2013-7331」によって実行可能です。攻撃者は、この脆弱性を利用して感染 PC上のファイルやフォルダの存在を確認することができます。この脆弱性は2014年2月に Microsoftに 初めて報告されましたが、同年9月に「MS14-052」の一部としてようやく更新プログラムが公開されました。
表3 は、各エクスプロイトキットが検出するセキュリティ対策製品です。
表3:各エクスプロイトキットが検出するセキュリティ対策製品
■隠ぺい手法
エクスプロイトキットは、通常さまざまな手法を用いて不正活動を隠ぺいします。しかし、新しい手法を追加したエクスプロイトキットもあります。いずれの場合も、攻撃者はファイルを隠ぺいするために正規のツールを利用しています。
エクスプロイトキット「Angler」は、検出を回避するために Pack200 を利用しています。Pack200 とは、Java を最初に開発した「Sun」によって開発された JARファイルを大幅に圧縮させるための圧縮方式です。この圧縮ファイルを解凍するためのツールは、Java の開発キットの一部として提供されていますが、多くのセキュリティ対策製品ではこの圧縮形式をサポートしていません。そのため、この不正なファイルを検出できなくなります。
図3:HTTP の要求および返信ヘッダ
圧縮すると、標準的な Java のファイルには見られる「PK」ヘッダが確認できないことがわかります。
図4:Javaファイルのバイナリ
一方、エクスプロイトキット「FlashPack」や「Magnitude」は、Flashファイルを隠ぺいします。これらのエクスプロイトキットは、ファイルを隠ぺいするために一般的に入手可能なツール「DoSWF」を利用して、Flashファイルを暗号化します。このツールは、コピーや海賊版作成を防ぐために、開発者が Flashファイルの ActionScript のコンテンツを保護することを意図して作成されたものです。しかし残念ながら、このツールを利用することによりファイルが暗号化され、セキュリティ対策製品の検出を回避します。
図5:ActionScript 内の DoSWF を呼び出すコード
■統計
図6 は、トレンドマイクロが検出した各エクスプロイトキットの月別のトラフィック数です。エクスプロイトキット作成者間の激しい市場競争によって、この脅威の全体像は目まぐるしく変わり、優位に立つエクスプロイトキットはありません。2014年11月28日のブログ記事でお伝えしたように、2014年後半の日本では「Rig」が最も多く確認されたエクスプロイトキットでした。しかし、世界的には「Magnitude」、「Angler」および「Sweet Orange」が、2014年を通じて最も多く確認されたエクスプロイトキットとなっています。
図6:月別のエクスプロイトキットのトラフィック数(クリックすると拡大します)
■まとめ
BHEK が終息してから 1年、エクスプロイトキットの作成者たちは何もしていなかったわけではありません。エクスプロイトキットの機能を向上させるために、さまざまな改良を加えていました。
ユーザは、これまで同様、提供されたすべての修正プログラムを適用し、こうしたエクスプロイトキットから PC を保護して下さい。攻撃者が狙う脆弱性のほとんどは、修正プログラムが各企業からかなり以前より提供されています。
トレンドマイクロ製品をご利用のユーザは、弊社のクラウド型セキュリティ基盤「Trend Micro Smart Protection Network」によって守られています。特に「Webレピュテーション」技術により、この脅威に関連する不正な Web サイトへのアクセスをブロックします。そして、「ファイルレピュテーション」技術により、上述の不正プログラムを検出し、削除します。
参考記事:
- 「What’s New in Exploit Kits in 2014」
by Brooks Li (Threats Analyst)
翻訳:品川 暁子(Core Technology Marketing, TrendLabs)