Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.
Security Response

Zeusbot/Spyeye の新しい P2P 型亜種の分析

Created: 30 Nov 2011 10:44:56 GMT • Translations available: English
Andrea Lelli's picture
0 0 Votes
Login to vote

シマンテックでは最近、ピアツーピア(P2P)アーキテクチャを使って通信する Zeusbot/Spyeye の亜種を確認しました。元々の Zeusbot は C&C サーバーと直接通信して、設定データをダウンロードしたり、盗み出した情報をアップロードしたりしていましたが、これはボットにとって重大な障害点になっていました。なぜなら C&C サーバーが遮断されたりダウンしたりすると、攻撃者がボットネットを制御できなくなるためです。ボットには代替手段として、C&C サーバーがダウンすると、疑似ランダムなドメイン名を生成して通信するという手法が採用されていました。もちろん、攻撃者がこれらのドメイン名を予測して登録し、ボットの制御を取り戻すことは可能ですが、この手法はあまり効率的ではありません(用語に関する注記: ここでは、攻撃者によって制御されるメインサーバーを指して「C&C」という用語を使っていますが、このサーバーは機能面では典型的な C&C ではなく、主にドローンから情報を収集します)。

これらの制限を解消するために、攻撃者は P2P を用いるようになりました。この Zeusbot/Spyeye の亜種には、通信する IP アドレスのリストが組み込まれています。これらの IP アドレスはサーバーではなく、他の感染したクライアント(ピア)を表しています。これらのクライアントは、メインの C&C サーバーの URL が含まれた設定データを提供します。この新しい方法であれば、C&C サーバーがダウンしても P2P ネットワークは稼動しているので、新しい C&C サーバーの新しい URL を指す新しい設定ファイルを取得することができます。P2P ネットワークをシャットダウンすることは不可能に近く、シャットダウンできるとしても簡単なことではありません。P2P ネットワーク内の IP アドレスを遮断することはできません。なぜなら、多くの場合、これらは通常のブロードバンド IP アドレス(ホームユーザーや業務用コンピュータなど)であり、遮断すると正当なネットワークトラフィックまで遮断されてしまうためです。また、ピアのリストはかなり頻繁に更新されるため、ピアを追跡するのは明らかに困難です。このように P2P ネットワークを利用すると、1 つの C&C の URL を使うよりも耐性が高くなり、ボットネットの存続期間が大幅に長くなります。

次に、ボットネットの仕組みについて説明します。ボットは実行時に自身を「explorer.exe」プロセスにインジェクトし、UDP を使ってすべての IP アドレスとの通信を 1 つずつ試みます。この通信プロトコルは複雑なものではありません。UDP では、特定のコードや意味を持ついくつかのデータパケットを交換し、通信を識別するために、各ピアが SHA-1 コードを使ってデータの追跡を続けるようにします。

通信の開始時に、ボットは「ポートノッキング」データパケットを送信します。このパケットには、感染したコンピュータの SHA-1 と通信先のコンピュータの SHA-1 を持つヘッダーが含まれています。感染した各コンピュータ(ピア)は固有 ID の SHA-1 を持ち、各ボットには、P2P ネットワーク上の固有ホストを表す、SHA-1 と IP アドレスの組み合わせのリストが含まれています。ポートノッキングパケットがピアによって受け入れられると、そのポートノッキングに対する応答に新しいピアのリスト(SHA-1 と IP アドレスの組み合わせ)が組み込まれます。このようにして、P2P ネットワークが新しいコンピュータのリストで更新され続けます。

ポートノッキングに続いてさらに UDP パケットが送信され、他のデータを交換する場合もあります(その目的はまだ調査中です)。


図 1: 通信

UDP 通信が完了すると、ボットは次に TCP を通してピアと通信します。この段階で、ボットは設定ファイルとボット自身の更新の両方を受け取ることができます。復号化された設定データには、ボットが単純な HTTP POST 要求を通して通信する C&C サーバーのアドレスが含まれています。ボットは次に、感染したコンピュータに関するデータ(コンピュータ名などの情報)を C&C サーバーに送信します。

興味深いことに、感染したコンピュータの SHA-1 はこの段階ではやり取りされません(シマンテックのテストでは、どのタイミングでも C&C に送信されませんでした)。つまり、C&C サーバーはピアの制御(すべての SHA-1 の収集、使用可能なピアのリストの更新など)に関与しておらず、このため P2P ネットワークが完全に自律的なものになります。

シマンテックでは実際に、起源が 1 つのソースと思われるサンプルをいくつか検出しました。これらのサンプルはすべて同じ手法で圧縮されており、圧縮を解除するとウイルスのバイナリコードはほぼ同じ(違いは些細な点のみ)でした。このため、これらのサンプルは同じソースコードが起源で、わずかな変更を加えて再コンパイルされたものと考えられます。また、この新しい亜種を広めようとしている攻撃者は、ソースコードへのアクセス権を持ち、さまざまな新機能でボットをアップグレードしている可能性があります。さらに、検出されたサンプルはすべて、設定データの復号化に使うために同じ RC4 の S ボックスを共有しています。数種類のサンプルをランダムに実行したところ、これらのサンプルがダウンロードした設定データはいずれも類似したものでした。これらの結果はすべて、このトロイの木馬が、ソースコードへのアクセス権を持つ攻撃者によるプライベートビルドであり、特定の Web サイト(多数のイタリアの Web サイト)を標的にしている可能性を示しています。

シマンテックがこの脅威を初めて確認したのは、2011 年 9 月 13 日です。この日付は最初に検出されたサンプルのタイムスタンプとも一致しているため、このときから亜種の拡散が始まったと思われます。このブログの執筆時点では、この脅威は限られた数のサンプルのみで、実際にはそれほど拡散していないようです(もちろん、感染数は次第に増加する可能性もありますが)。だからと言って、ボットネットが活動していないわけではなく、P2P ネットワークは今も稼働しています。頻繁に更新されている C&C サーバーアドレスを含む設定ファイルから最新のデータをデコードしたところ(C&C サーバーは現在 11 月に登録されたドメイン名を使って活動しています)、確認できた固有のピアは合計で 327 であり、感染したコンピュータ数は概算で 500 から 1000 に上ると考えられます。


図 2: 感染の地理的分布

P2P ネットワークを利用するこの Zeusbot/Spyeye の亜種は、確かに改良版ではありますが、欠点も持ち合わせています。通信プロトコルは適切な認証を行わないため、偽のクライアントがネットワークに接続し、ピアと通信する可能性があります。設定ファイルは対称アルゴリズムで暗号化されているため、認証は行われません。これは、設定ファイルを簡単に偽造できることを意味します。感染したクライアントはすべて、ドローンによってアクティブに交換されるピアのリストに含まれるため、偽のクライアントが P2P ネットワークに侵入し、証明書を偽造して、それを他のボットに配信する可能性があります。こうすると、偽のクライアントは新しい C&C サーバーを指定して、ネットワーク全体を乗っ取ることができます。

現段階では、この亜種がボットのメインの実装になるのか、それとも単に活動を停止するのかはわかりません。シマンテックでは、新しい亜種をすべて検出するために今後も監視を続けていきます。この脅威は、スパムメールやドライブバイダウンロードによって拡散していることが報告されていますので、感染のリスクを軽減するために、お使いのコンピュータを常に最新の状態に保つとともに、不明な発信元や未確認の発信元からのメールには十分に注意してください。

DeepSight をご利用のお客様は、この分析のさらに詳しい情報をご参照いただけます。

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。