Video Screencast Help
Symantec Appoints Michael A. Brown CEO. Learn more.
Security Response

Backdoor.Ploutus 再び - メキシコ以外にも進出した Ploutus

Created: 28 Oct 2013 08:07:53 GMT • Updated: 07 Nov 2013 03:10:00 GMT • Translations available: English, Español
Daniel Regalado's picture
0 0 Votes
Login to vote

backdoor ploutus head.jpg

 

Rapid Release 定義のページで報告されているとおり、シマンテックは 2013 年 9 月 4 日、ATM を標的にする Backdoor.Ploutus という新しいマルウェアを最初に検出し、その検出定義を追加しました。最近になってこのマルウェアの新しい亜種が見つかりましたが、以前より進化したうえに英語に翻訳されていることから、同じ ATM ソフトウェアが他の国や地域でも使われていることを示唆しています。

シマンテックは 2013 年 10 月 25 日、この新しい亜種に対する汎用的な検出定義を Backdoor.Ploutus.B として追加しました。Ploutus は、活動していない状態でも実行中でも検出することができます。

感染の手法

シマンテック外部からの情報によると、このマルウェアは CD-ROM ドライブに新しいブートディスクを物理的に挿入することで ATM に転送され、ブートディスクからマルウェアがコピーされます。

影響

今回、犯罪者は、マルウェアをさらに堅ろうなアーキテクチャに移植したうえ、英語に翻訳しています。まるで、中南米以外の国や地域でも同じ ATM ソフトウェアを悪用できることがわかったのだと、ほのめかしているようです。

Backdoor.Ploutus.B の影響を受けている金融機関の数については、今回の調査では対象にしていません。関係各機関に委ねられています。

Backdoor.Ploutus.B の新しい特徴

英語版のバイナリ名は PloutusService.exe ではなく Ploutos.exe となり、スタンドアロンのプログラムからモジュール式のアーキテクチャに変更されています。
 

backdoor ploutus fig 1.png

図 1. モジュール式のアーキテクチャに変更された Ploutus
 

新しい NCRDRVP サービスは高度に不明瞭化されているため、その悪質な活動は検出をすり抜けて、以下の処理を実行する可能性があります。

  • サービスをインストールまたはアンインストールする。
  • キーボードフッキングを実行する。
  • ディスパッチャ DLL をロードする。
  • ATM のテンキーから犯罪者が入力したコマンドを受信する。
  • RAW ソケットを通じてディスパッチャにコマンドを転送する。

このディスパッチャは、RAW ソケットを作成して命令に対する応答を準備します。RAW ソケットは、システムが使う TCP プロトコルまたは UDP プロトコルにリストされないため、検出が容易ではありません。ディスパッチャは、以下の処理を実行する可能性があります。

  • 受信したコマンドを解析してその有効性を確認する。
  • コマンドライン引数を通じて Ploutus を実行する。

Backdoor.Ploutus.B は同じインターフェース(NCR.APTRA.AXFS クラス)を持ち、現金の引き出しがメインの機能である点は変わりませんが、いくつかの相違点もあります。今回のバージョンの特徴は、以下のとおりです。

  • ATM に USB プリンタを接続すれば、すべての ATM 設定情報を印刷できる(スペイン語版は、この情報をログファイルに出力する)。
  • グラフィカルユーザーインターフェース(GUI)を持たず、その代わりに ATM のテンキーからのコマンドを受け付ける。
  • 現金の引き出し中、攻撃者には ATM で利用可能な金額を示すウィンドウとトランザクションログが表示される。
  • ATM へのキーボードの接続には対応していない。
  • 引き出し可能な紙幣が最も多いカセットから現金を引き出すが、特定の紙幣で金額を指定するオプションはない。

Ploutus Reloaded fig 2 edit.png

図 2. 侵入先の ATM で引き出し可能な現金が表示されるウィンドウ
 

Backdoor.Ploutus.B によって実行される処理

新しいバージョンでも、次の機能は古いバージョンと変わっていません。

  • 乱数を生成し、侵入した時点の日付に基づいて侵入先の ATM に割り当てる。
  • 現金を引き出すためのタイマーを設定する(マルウェアは、アクティブ化されてから 24 時間以内に限って現金を引き出す)。
  • 引き出し可能な紙幣が最も多いカセットから現金を引き出す。

ATM のテンキーによる Backdoor.Ploutus.B の操作

攻撃者は ATM のテンキーを使って次のような 16 桁のコマンドコードを送信し、そのコードが NCRDRVP サービスで受信されます。

  • 123456789ABCDEFG

次に、このコードが RAW ソケットを通じてディスパッチャに転送され、ディスパッチャは次のようなコマンドラインで 33 桁の命令を Ploutus に送信します。

  • cmd.exe /c Ploutos.exe 5449610000583686=123456789ABCDEFG

最後の 16 桁が 2836957412536985 に等しければ、Ploutus は ATM ID を生成します。Ploutus が ATM ID を生成した場合、攻撃者は同じ 16 桁を入力できますが、このとき下 2 桁を書き換えてさまざまな処理を実行します。

下 2 桁が 99 の場合:

  • Ploutus が終了する。

下 2 桁が 54 の場合:

  • エンコードされている ATM ID と現在の日付に基づいて生成されるコードによって、ATM ID がアクティブ化される。この値は、config.ini ファイルの DATAC というエントリに保存されます。ATM で現金を引き出すには、有効な ATM アクティブ化コードを取得する必要があります。
  • 現金を引き出すためのタイマーが設定され、その値が config.ini ファイルの DATAB というエントリに保存される。

下 2 桁が 31 の場合:

  • ATM で現金が引き出され、USB プリンタを接続していれば、すべての ATM 設定情報が印刷される。

侵入後の引き出しプロセス

  1. Ploutus が ATM でディスペンサデバイス数を識別します。
  2. ディスペンサ 1 台当たりで利用可能なカセット数を取得し、ロードします。今回の場合、犯罪者は ATM モデルの設計がわかっているため、Ploutus はディスペンサ当たりのカセット数が最大 4 つであると想定します。
  3. 次に、40 に設定された紙幣枚数に現金の単位値を掛けて引き出し金額を計算します。
  4. 現金引き出し処理が開始されます。いずれかのカセットで利用できる上限が 40 単位(紙幣)に満たない場合は、利用可能な紙幣の枚数がもっと多いカセットを探して、そのカセットのみから全額を引き出します。
  5. パネル(図 2 を参照)を開き、トランザクションの詳細と ATM の残額を表示します。表示が終わるとパネルを閉じます。
  6. 最後に、現金の引き出しが要求されるたびにステップ 4 を繰り返します。

あなたの身近なところで ATM から現金が引き抜かれている

今回の発見で改めて強調されたのは、従来の物理的な犯罪を企てる犯罪者とハッカーやサイバー犯罪者との間で協力関係が増してきていることです。セキュリティのあらゆる面で技術が進化しているため、従来型の犯罪者は、これまで必要とされなかったスキルがなければ盗みが成功しないことに気付きつつあります。今や、最新の銀行強盗団には、盗みを手助けする熟練した IT 専門家が不可欠になりました。これは映画の中だけの話ではなく、実際に起きている現実です。もっとも、この問題で ATM の利用者が直接の被害を受けるわけではなく、狙われているのはあくまでも金融機関です。シマンテックは、以下の基本的なセキュリティ対策(ベストプラクティス)に従うことをお勧めします。

  • ハードディスクからのみブートするように BIOS のブート順序を設定する(CD/DVD、USB からは起動しない)。
  • 攻撃者がブートオプションの設定を変更できないように、BIOS をパスワードで保護する。
  • BIOS によってブート時から読み取りと起動が可能なハードウェアを取り外すことを検討する。
  • ウイルス対策のシグネチャとセキュリティソリューションを常に最新の状態に保つ。

 

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