産業制御システムを狙った攻撃で利用される「HAVEX」、64ビット版を確認

「HAVEX」は「Remote Access Tool(RAT)」で、産業制御システムを狙った攻撃で重要な役目を担っていることが確認されてから、セキュリティ業界で注目されるようになりました。「HAVEX」はセキュリティ企業によって検出名が異なり、「Dragonfly」、「Energetic Bear」、「Crouching Yeti」としても知られています。トレンドマイクロがこの不正プログラムを監視していたところ、興味深い発見がありました。

「Dragonfly」と呼ばれるサイバー攻撃は、32ビット版のみに互換性があると考えられていました。それは、基幹システムのほとんどが Windows XP を使用しているためです。なお、Windows XP のサポートは終了しています。一方、弊社では Windows 7 上で実行された 2つの注目すべき感染を確認しました。

■64ビット版「HAVEX」を初めて確認
弊社の解析によると、”TMPpovider023.dll” と呼ばれるファイル(「BKDR64_HAVEX.A」として検出)は、ファイルシステム上に複数のファイルを作成します。”TMPprovider0<2桁のバージョン番号>.dll “ は、「HAVEX」が感染したことを示す痕跡であり、コマンド&コントロール(C&C)サーバと通信し、ダウンロードの実行、関連する実行コマンドの受信を行うこの不正プログラムのコンポーネントです。

図1は、「HAVEX」のファイルの感染連鎖です。

図1:「HAVEX」のファイルの感染連鎖
図1:「HAVEX」のファイルの感染連鎖

ここで弊社は、「BKDR_HAVEX」の感染を示唆する以下の 3点に注目しました。

  • 前述のとおり、ファイル “TMPProvider023.dll” は RAT「HAVEX」のバージョン(v023)を表す番号を持っている
  • 作成されるファイル “34CD.tmp.dll” は「BKDR_HAVEX.SM」として検出される。この時点で、このファイルは PC にインストールされた弊社のセキュリティ対策製品に何度も検出され、削除されていた。その後、このファイルは「HAVEX」のバージョン29、つまり v029 であることが判明した。
  • ホストコンピュータや端末の C&Cサーバとの通信

図2:「BKDR_HAVEX.SM」として検出される作成されたファイル
図2:「BKDR_HAVEX.SM」として検出される作成されたファイル

■64ビット版「HAVEX」の解析の詳細
ファイル “TMPProvider023.dll” および ”34CD.tmp.dl” がどのような働きをするかをよく理解するために、弊社はこの感染連鎖に関係するその他のファイルを特定する必要がありました。この点に関し、弊社は作成された 2つのファイルを確認しました。

1つ目のファイルは ” 734.tmp.dll “ で、「BKDR_HAVEX.C」として検出されます。このファイルは、レジストリキーおよびレジストリ値の作成し、主となる「HAVEX」のファイルが問い合わせます。

HKCU\Software\Microsoft\Internet Explorer\InternetRegistry\Options

b=<data>

「HAVEX」の新しいバージョン(038 以降)と異なり、このバージョンは別のローダを必要とします(図3)。

図3:作成されたファイル
図3:作成されたファイル “734.tmp.dll”

2つ目のファイルは ”4F2.tmp.dll” で、こちらも「BKDR_HAVEX.C」として検出されます。技術的には 1台の PC に 2つのバージョンの RAT「HAVEX」が常駐することになりますが、ここで問題となるのは、v029 に v023 と下位互換性があるかどうかです。

“4F2.tmp.dll” は以下のファイルシステムを削除します。

ファイル レジストリ
<TEMP>\*.yls<TEMP>\*.xmd<TEMP>\qln.dbx HKCU\Software\Mirosoft\Internet Explorer\InternetRegistry\Options

図4:ファイルの削除(上)とレジストリキー(下)を表す擬似コード
図4:ファイルの削除(上)とレジストリキー(下)を表す擬似コード

元々は 64ビット版のファイルであった RAT「HAVEX」の v023 が、どのように 32ビット版 の v029 に改良されたかが分かります。そしてさらに弊社は、この一度の感染で相関関係があると思われる 4つのファイルを確認しました。

ファイル名 SHA1 コンパイルされた日付 アーキテクチャ
<TEMP>\TMPprovider023.dll 997C0EDC9E8E67FA0C0BC88D6FDEA512DD8F7277 2012-10-03 AMD64
<TEMP>\34CD.tmp.dll CF5755D167077C1F8DEEDDEAFEBEA0982BEED718 2013-04-30 I386
<TEMP>\734.tmp.dll BFDDB455643675B1943D4E33805D6FD6884D592F 2013-08-16 I386
<TEMP>\4F2.tmp.dll 8B634C47087CF3F268AB7EBFB6F7FBCFE77D1007 2013-06-27 I386

“TMPprovider023.dll”(v023) がコンパイルされた日付は、他の 3つのファイルよりも以前の日付です。これはつまり、この感染では 64ビット版ファイルが他の 32ビット版ファイルよりも以前から存在していることになります。実際、32ビット版のモジュールを単体で実行すると “TMPprovider029.dll” と呼ばれるファイルが作成され、これは間違いなく RAT「HAVEX」の v029 です。

■ネットワーク解析
2つの異なる HTTP POST 要求が端末で確認されました。

32ビット版を主とする「HAVEX」の v029 のファイル ” 34cd.tmp.dl” では、C&Cサーバのクエリ文字列は、以下のような形式となっています。

  • hxxp://<C&C の場所>/path/to/php-script/php-php?id=<対象ユーザのID>&v1=<HAVEXのバージョン>&v2=<OSのバージョン>&q=<command>

一方、64ビット版を主とする「HAVEX」の v023 のファイル “TMPprovider023.dll” は異なった形式となっています。

  • hxxp://<C&C の場所>/path/to/php-script/php-script.php?id=<20の数字><10の数字><6の英数字>-<2の数字>-<3桁の数字>-<9の数字>

最後 2つの組み合わせ(<3桁の数字>-<9つの数字>)はこの文字列で必ず確認されます。3桁の数字の組み合わせは、大抵の場合、この不正プログラムのバージョンです。9つの数字は攻撃の識別番号である可能性があります。

この攻撃の識別番号はランダムに作成され、以下のレジストリ値で書かれます。

  • HKCU\Software\Microsoft\Internet Explorer\InternetRegistry\fertger=<不正プログラムの識別番号>

この問題の感染では、v023 のファイルは v029 と同じ C&Cサーバを利用していました。これはつまり、少なくとも 「HAVEX」のバージョン v023 と v029 の間では、共有のインフラストラクチャを利用していることを示しています。

弊社では、現在少なくとも 4つの IPアドレスがこの C&Cサーバと通信していることを確認しています。そのうち 2つは、RAT「HAVEX」の C&Cサーバのモジュールのバージョンを更新する不正活動を行っています。

■もう 1つの感染:デジタル署名を持つように見せる「HAVEX」のバイナリ
2つ目の感染では、” NSDS.dll” が<APPDATA>に作成され、デジタル署名を持つ「BKDR_HAVEX.SM」を感染させます。不正プログラムのコードの署名はここ数年増加しており、不正プログラムの作成者は、不正なファイルを正規のソフトウェアに見せるために、ファイル署名を可能にする鍵を求めることが多々あります。

この問題のコンポーネントには、IBM が署名したように見せかけた 4つのファイルが含まれていました。しかし、このデジタル証明書は、不正プログラムの作成者自らが署名したものであることは明らかです。

図5:IBM が署名したと装う偽のデジタル証明書
図5:IBM が署名したと装う偽のデジタル証明書

適切に署名されたファイルには信頼された認証局が記載され、発行されたデジタル証明書を認証しますが、これらのファイルにはありません。弊社はどのソフトウェアパッケージがこの時点でこれらのファイルを持っていたのかを特定することはできませんでしたが、最初に確認したファイルと同様のデジタル署名を持つファイルが他に 3つ確認されたことは注目すべき点です。これらのファイルはすべて「BKDR_HAVEX.SM」として検出されます。

ファイルのハッシュ値 ファイルのサイズ コンパイルされた日付
*bb59cc5e0040ede227332e7da1942264cd75ec4c 133,152バイト 2013-03-21
80caa936528ceefcb614ae175bda2a27609a5dd3 133,152バイト 2013-04-08
49b109d94602195fe5705a9b5f7b5ddd59477015 133,152バイト 2013-04-23
361c0a4f8213693e974b6ae55bf0ad16c74adf61 133,152バイト 2013-06-11

*最近の感染で確認されたファイル

■不正プログラムの再利用
RAT「HAVEX」は、産業制御システムや製薬業界など、これまでに何度も攻撃で利用されてきており、今後も繰り返し攻撃を受けることは免れません。産業制御システムの管理者は、「HAVEX」のバイナリの構造が一般的な Windows の不正プログラムで見られるものと類似していることにご注意ください。最近ではその傾向がさらに高まっており、弊社では Windows 7 の64ビット版への感染も確認しています。そのため、ネットワーク環境内の各端末にインストールされているソフトウェアの有効性を確かめ、HTTP のトラフィックを頻繁に監視することが重要です。

トレンドマイクロ製品をご利用のユーザは、弊社のクラウド型セキュリティ基盤「Trend Micro Smart Protection Network」によって守られています。特に「Webレピュテーション」技術により、この脅威に関連する不正な Web サイトへのアクセスをブロックします。また「ファイルレピュテーション」技術により、上述の不正プログラムを検出し、削除します。また、産業制御システムへの脅威に関する 2つのリサーチペーパー「産業制御システムへのサイバー攻撃 実態調査レポート」および「産業制御システムへのサイバー攻撃 実態調査レポート 第2弾 産業制御システムを狙っているのは誰か?」も合わせてご参照ください。

以下は、今回の攻撃に関する不正プログラムのハッシュです。

  • 997C0EDC9E8E67FA0C0BC88D6FDEA512DD8F7277
  • CF5755D167077C1F8DEEDDEAFEBEA0982BEED718
  • BFDDB455643675B1943D4E33805D6FD6884D592F
  • 8B634C47087CF3F268AB7EBFB6F7FBCFE77D1007
  • bb59cc5e0040ede227332e7da1942264cd75ec4c

協力執筆者:Abraham Camba

参考記事:

 翻訳:品川 暁子(Core Technology Marketing, TrendLabs)