昨年確認されたPOSマルウェアにデジタル署名、標的型サイバー攻撃と関連

トレンドマイクロは、2014年のクリスマス商戦前に、新しい POSマルウェアを複数確認しましたが、その際に報告しなかったことが 1点ありました。それは、有効な証明書を利用してファイルにデジタル署名がされていたことです。弊社の調査によると、POSシステムを狙ったこうした攻撃は巧妙化してきており、コード署名や高度な暗号化はますます一般的になってきています。弊社ではまた、この POSマルウェアが不正プログラム「Anunak」に関連するサイバー犯罪者集団と関係していることを確認しました。「Anunak」はサイバー犯罪者集団「Carbanak」とも関係していることをセキュリティ企業「Fox-IT」が報告しています。

図1:2014年11月27日に入手した有効なデジタル署名を持つ POSマルウェア
図1:2014年11月27日に入手した有効なデジタル署名を持つ POSマルウェア

不正プログラムのコード署名は近年増加しており、不正プログラムの作成者は、不正なファイルを正規のソフトウェアに見せるためにファイル署名を可能にする鍵をしばしば探し求めます。今回の事例では、攻撃者は、バイナリを署名するためのデジタル証明を既存の証明機関に要求するすべての過程を実行しました。証明書発行者である COMODO は、その後、この署名証明書を失効させました。

以上を踏まえて、弊社ではこのバイナリの追加のコンポーネントを検索し始めました。本稿は、弊社が昨年公開したブログ記事の追記となっています。

■巧妙に細工されたバイナリ
弊社がこれまでに確認した他の POSマルウェアを元にすると、今回の POSマルウェアは、複数のコンポーネントから成ることが分かっていました。そのため、POSマルウェアを確認した後 2カ月間、弊社はこの脅威を監視しました。弊社の興味を引いたファイルは、SHA1ハッシュ値:d8e79a7d21a138bc02ec99cfb9dc59e2e0cedf09 でした。このファイルについて、弊社は以下の重要な点に着目しました。

  1. このファイルは同じように署名されている。つまり、同一の名前、Eメールアドレス、証明機関が利用されている
  2. 弊社が日常的に確認する標準的な不正プログラムとしては、ファイル構成が非常に複雑である

ファイルを解析すると、このPOSマルウェアは、一般的なツールでは特定できない独自の暗号化技術を備えていることが判明しました。また、必要なコードのみを復号化し、利用後は破壊します。もう 1つの興味深い点は、API「GetProcAddress」を利用することです。この API は現在はほとんど使用されていません。また、「総当たり攻撃」を利用して、PEヘッダのテーブルを検索し、関数「NT*」を呼び出します。

インストールの際、.textセクションがコードの解凍およびインストールで再利用されます(図2)。

図2:セクションの再利用
図2:セクションの再利用

その後、この POSマルウェアは、中断の状態で、パラメータ「-k netsvc」でホストプロセス「svchost.exe」を開始します。完了すると、復号化した PEイメージファイルの準備に入り、メモリへの書き込みが可能になります。すべての準備が完了すると、関数「NT*」を呼び出して、PEイメージをホストのプロセスメモリに書き込み、スレッドコンテキストを設定し、スレッドを再開します。最後に、メモリ内の PEイメージは即座に破壊されます。

図3:中断状態の作成プロセス
図3:中断状態の作成プロセス

図4:メモリ上の復号化された PEイメージファイル
図4:メモリ上の復号化された PEイメージファイル

メモリに読み込まれた PEイメージはファイルにダンプすることが可能ですが、文字列および APIコールは保護されているため、復号は容易ではありません。ファイルの内部構造を理解するためには、デコードテーブルが必要です(図5)。

図5:デコードテーブル
図5:デコードテーブル

弊社の復号化ツールを使用した結果、以下の機能が確認されました。

  1. 固定された 2つのコマンド&コントロール(C&C)サーバ。83.166.234.250(ポート80 および 443)および 83.166.234.237(ポート443)
  2. C:\NSB\Coalition\Logs および nsb.pos.client.log で NSB Retail System Log を検索する
  3. 以下の拡張子を持つファイルを検索する
    • bml
    • cgi
    • gif
    • htm
    • html
    • jpg
    • php
    • png
    • pst
    • shtml
    • txt
  4. VNC およびリモートデスクトップの利用
  5. Windows のファイアウォールの設定を変更し、ネットワークアクセスを自身に付与
  6. データベース接続
  7. LSASS から平文パスワードを取得するツール「mimikatz」を参照
  8. 暗号化および復号化
  9. キー入力操作情報の収集

■狙われた POSベンダの最大手「Epicor」
今回の POSマルウェアは、一般的なものではなく、明らかにEpicor/NSB の POSシステムを狙った不正プログラムでした。Epicor社は、POSソフトウェアの最大手として認められており、アカウント数や収益において他の POSベンダを圧倒しています。

バイナリを再度解析すると、このファイルはオンライン銀行詐欺ツール「CARBERP」に関連していることが判明しました。「CARBERP」のソースコードは 2013年頃に流出しています。この問題のファイルは、具体的には「CARBERP」の以下のプラグインを備えます。

  • plug and vnc.plug – VNC Plugin
  • plug – iFOBS remote banking system
  • plug – Ammy Remote Desktop Plugin

弊社は再度他のファイルと相互参照し、この検体と関連する可能性のある他の複雑な POSマルウェアの検体を検索しました。弊社は、ほぼ同様の複雑さを持つもう 1つの検体(SHA1ハッシュ値:a0527db046665ee43205f963dd40c455219beddd)を確認しました。顕著な特徴は以下のとおりです。

  1. 「ms*.exe」と呼ばれるファイルを作成し、HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run key 配下に起動項目を作成する
  2. 図6:作成されたレジストリ値
    図6:作成されたレジストリ値

    さらに、代替データストリーム(Alternate Data Stream、ADS)「Zone.Identifier」を変更して、ポップアップ警告を避ける(図7)

    図7:代替データストリーム(Alternate Data Stream、ADS)
    図7:代替データストリーム(Alternate Data Stream、ADS)

  3. SeRestorePrivilege および SeBackUpPrivilege、SeDebugPrivilege を介して昇格した権限を取得しようと試みる。これらの権限により、呼び出し元は「TerminateProcess()」や「CreateRemoteThread()」、また標的としたプロセスに危険をもたらす可能性のある APIコールなど、すべてのプロセスにアクセスすることが可能となる
  4. デバッグ防止機能および独自の動的な解凍コードを備える
    1. .text セクションでコードを解凍し戻る
    2. 0x7FF90000 にブロックメモリを割り当てる(ユーザモードの制限に近づく)
    3. 0x7FF90000 にコードを解凍し、ここに戻る

  5. C&Cサーバとの通信

弊社のクラウド型セキュリティ基盤「Trend Micro Smart Protection Network」からのフィードバックを使用して、弊社はこれら 2つの検体に類似した他の脅威を検索しました。

■短期間での進化
弊社は上記のファイルに類似したファイルを C:\Windows\SysWOW64(Windows 64ビット版)および C:\Windows\System32(Windows 32ビット版)で確認しました。しかし、相違点は、これは DLLファイル用だということです(SHA1ハッシュ値:CCAD1C5037CE2A7A39F4B571FC10BE213249E611)。

しかし、慎重に解析を進めると、DLLファイルとしてコンパイルされていたとしても、これら 2つの検体と同じ暗号を利用していることが判明しました。ただし、別の C&Cサーバが利用されています(5.61.38.52:443)。C&Cサーバの変更は、解析回避が目的かもしれません。DLLファイルは直接実行できないため、DLLファイルを処理しない自動化解析ツールもあります。

図8:デコードテーブル
図8:デコードテーブル

上記の点から、これらのファイルは非常に巧妙なサイバー犯罪者集団によって作成されたことがわかります。

■今回のPOSマルウェアの作成者は誰か
弊社は、今回の攻撃は、不正プログラム「Anunak」を利用して標的型攻撃を実行したヨーロッパのサイバー犯罪者集団による実行と考えています。このサイバー犯罪者集団は、Group-IB や Fox-IT によってすでに報告されています。

弊社の調査により、下記に列挙したファイルは、米国およびカナダで実行された同様の攻撃キャンペーンで利用された可能性があると弊社は考えています。

表1:ハッシュ値および検出名(クリックすると拡大します)
表1:ハッシュ値および検出名(クリックすると拡大します)

表2:ハッシュ値および C&Cサーバ(クリックすると拡大します)
表2:ハッシュ値および C&Cサーバ(クリックすると拡大します)

ここに挙げた 2つのファイル(fa2a0639897a42932272d0f0be2ab456d99a402 および CCAD1C5037CE2A7A39F4B571FC10BE213249E611)には、偽のコンパイル時間が記録されています。ファイルの有効性を隠ぺいしようとしたことは明らかです。

また、「失効したデジタル証明書リスト(Certificate Revocation List、CRL)」によると、これらの不正なファイルを署名するために利用された証明書は 2014年8月5日で失効しています。

図9:失効したデジタル証明書リスト(Certificate Revocation List、CRL)
図9:失効したデジタル証明書リスト(Certificate Revocation List、CRL)

しかし、その日付以降もファイルは証明書に署名されています。以下は、デジタル証明書を持つファイルの一覧と署名日時です。

表3:不正プログラムの署名日時
表3:不正プログラムの署名日時

■トレンドマイクロの対策
トレンドマイクロ製品をご利用のユーザは、弊社のクラウド型セキュリティ基盤「Trend Micro Smart Protection Network」によって守られています。特に「Webレピュテーション」技術により、不正URL へのアクセスをブロックします。そして、「ファイルレピュテーション」技術により、上述のファイルはすべて検出し、削除します。また、こうした攻撃を事前に検知するため、以下の手順を実行することを推奨します。