Tag Archives: ploutus

ATM ?? SMS ???????????????????????

      No Comments on ATM ?? SMS ???????????????????????

daniel_blof_header_image_cropped.png

企業に対しても一般家庭ユーザーに対しても、サポート終了間近の Windows XP 環境をそれ以降のバージョンにアップグレードするよう求める声は日増しに大きくなっています。機能強化が必要ないとしても、セキュリティとサポートのために必須のアップグレードです。ATM も基本的には、現金へのアクセスを制御するコンピュータであり、ATM の 95% 近くは Windows XP 上で稼働していることがすでに知られています。2014 年 4 月 9 日に予定されている Windows XP のサポート終了を目前に控えた今、金融機関は ATM を標的とするサイバー攻撃の深刻な危機に直面しています。しかも、これは仮想危機などではありません。現実に起こっている危機であり、サイバー犯罪者が ATM を狙う手口はますます巧妙になっています。

2013 年 10 月には、このブログでもお伝えしたとおり、新しい ATM マルウェアがメキシコで確認されており、攻撃者は外付けキーボードを使って ATM から自由に現金を引き出していました。この脅威は、Backdoor.Ploutus と命名されています。その数週間後には、このマルウェアがモジュール式のアーキテクチャへと進化したことを示す新しい亜種も発見されました。この新しい亜種は英語版にもローカライズされており、作成者が活動範囲を他の国や地域にも広げつつあることを示唆しています。新しい亜種は Backdoor.Ploutus.B として検出されます(このブログでは一貫して「Ploutus」と呼びます)。

Ploutus のこの亜種で特徴的なのは、侵入先の ATM に SMS を送信するだけで、サイバー犯罪者は ATM を使って現金を払い戻すことができたという点です。信じられないかもしれませんが、この手口は今でも世界中の至るところで使われています。

今回は、この手口がどのように機能するのかを紹介します。

ATM_blog_infographic_fig1.png
図 1. 攻撃者が携帯電話を使って ATM から現金を引き出す手口

携帯電話から ATM に接続
攻撃者は、ATM の内部に接続した携帯電話を使って ATM をリモートで制御します。携帯電話を ATM に接続する方法はいくつかありますが、一般的なのは USB テザリングと呼ばれる設定を使う方法です。実質的には、携帯電話とコンピュータ(この場合は ATM)との間で共有インターネット接続が確立されることになります。

ATM に Ploutus を感染させるには、攻撃者が携帯電話を正しく設定し、ATM に接続する必要があります。必要な手順がすべて完了すると、完全な双方向接続が確立され、携帯電話の準備が整います。

携帯電話は USB ポートを介して ATM に接続されているので、電力もその接続から供給され、携帯電話本体が充電されます。このため、携帯電話は電源の入った状態を無限に維持できます。

ATM に SMS メッセージを送信
携帯電話を ATM に接続し、設定が完了すると、攻撃者は ATM 内部に接続された携帯電話に特定の SMS コマンドメッセージを送信できるようになります。所定の形式の新しいメッセージを検出すると、携帯電話はそのメッセージをネットワークパケットに変換し、USB ケーブルを通じて ATM に転送します。

このマルウェアにはネットワークパケットモニター(NPM)のモジュールがあり、パケット盗聴の機能を果たして、ATM に向かうすべてのネットワークトラフィックを監視します。侵入先の ATM が有効な TCP パケットまたは UDP パケットを携帯電話から受信すると、NPM がそのパケットを解析し、パケット内の特定のオフセットで「5449610000583686」という数字を探します。データのパッケージ全体を処理することが目的です。この特定の数字が見つかると、NPM は次の 16 桁を読み込み、それを使って Ploutus 実行のコマンドラインを作成します。このコマンドは、たとえば次のような形式になります。

cmd.exe /c PLOUTOS.EXE 5449610000583686=2836957412536985

以前のバージョンの Ploutus では、主犯格がこの数字をマネーミュール(送金仲介人)と共有する必要がありました。そのため、万一マネーミュールがこの数字の意味に気づいた場合には、主犯格の人物から金銭を詐取できる可能性がありました。今回のバージョンでは、16 桁の数字がマネーミュールには見えないため、主犯格はセキュリティの強化を図ることができ、現金の引き出しを一括管理できるようになっています。この数字の有効期限は 24 時間です。

SMS メッセージを使って ATM をリモートで制御する方法は、離れたところからほとんど瞬時に成功するため、この犯罪に関与する誰にとってもはるかに便利です。主犯格は、マネーミュールが引き出す金額を正確に把握でき、マネーミュールは現金が出てくるまで長時間 ATM の付近にとどまっている必要がありません。主犯格とマネーミュールが動作を同期させていれば、マネーミュールが現金を払い戻す振りをするか、単に ATM の前を通り過ぎるだけで、現金を引き出すことができます。

攻撃全体の流れ
この攻撃が機能する細かい手口は以上に見たとおりなので、これが全体としてどのように機能するのか概要を見てみましょう。

ATM_attack_ploutus_attack_overview_fig2.png
図 2. Ploutus による ATM 攻撃の概要

プロセスの概要

  1. 攻撃者は ATM に Ploutus をインストールし、USB ケーブルを使って携帯電話を ATM に接続します。
  2. コントローラにより、2 通の SMS メッセージが ATM 内部の携帯電話に送信されます。
    1. 1 通目の SMS には、ATM で Ploutus を起動する有効なアクティブ化 ID が含まれています。
    2. 2 通目の SMS には、現金を引き出すための有効な払い戻しコマンドが含まれています。
  3. 有効な SMS メッセージの着信を検出した携帯電話は、TCP パケットまたは UDP パケットとしてそれを ATM に転送します。
  4. ATM 内部では、ネットワークパケットモニターモジュールが TCP/UDP パケットを受信し、それに有効なコマンドが含まれていれば Ploutus を実行します。
  5. Ploutus によって ATM から現金が引き出されます。払い戻される現金の額は、マルウェア内部であらかじめ設定されています。
  6. マネーミュールによって ATM から現金が回収されます。

シマンテックは、Ploutus に感染した実際の ATM を使って、この攻撃を実験的に再現することに成功しました。この攻撃が成功する様子を短い動画でご確認いただけます。

Default Chromeless Player

このデモ動画では Ploutus マルウェアを使っていますが、シマンテックセキュリティレスポンスでは、同じように ATM を標的とする別種のマルウェアもいくつか確認しています。Ploutus の場合、攻撃者は ATM 内部から現金を盗み出そうとしていますが、シマンテックが解析した一部のマルウェアでは、別の悪質なソフトウェアを使って中間者攻撃を仕掛けている間に、顧客のキャッシュカード情報と暗証番号を盗もうとします。ATM から現金を引き出すといっても、最も有効な方法という点では攻撃者によって考え方も違うようです。

ATM を保護するために何ができるか
最近の ATM は、ハードディスクドライブの暗号化などによってセキュリティ機能が強化されているため、こうした侵入の手口も防ぐことができます。しかし、依然として Windows XP 上で動作している旧型の ATM の場合、特にそれがありとあらゆる遠隔地にすでに設置されているとなると、Ploutus のような攻撃を防ぐことはかなり困難です。また、ATM の内部にあるコンピュータの物理的なセキュリティに対処が必要という別の問題点もあります。ATM 内の現金は金庫で厳重に保管されていますが、コンピュータはそうではないためです。旧型の ATM で物理的なセキュリティがこのように不十分な場合、攻撃者はそれだけ有利になります。

犯罪者にとっての難易度を高くするためには、以下のようにさまざまな対策が考えられます。

  • Windows 7 や Windows 8 など、サポートされているオペレーティングシステムにアップグレードする。
  • 物理的に十分な保護を実施し、ATM に監視カメラの設置を検討する。
  • CD-ROM や USB ドライブなど、許可されていないメディアから起動できないように BIOS の機能を制限する。
  • ディスク全体暗号化ソフトウェアを使って、ディスクの改変を防ぐ。
  • Symantec Data Center Security: Server Advanced(旧称、Critical System Protection)などのシステム保護ソリューションを使う。

こうした対策をすべて実施すれば、内部に共犯者がいないかぎり、攻撃者が ATM に侵入することはかなり難しくなります。

シマンテックのコンシューマ向け保護、エンドポイント保護、サーバー保護の各ソリューションは、当面の間 Windows XP を引き続きサポートしますが、Windows XP をお使いの場合には、できるだけ速やかに新しいオペレーティングシステムにアップグレードすることをお勧めします。

 

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

Envío de SMSs a Cajeros Automáticos Muestra el Nivel de Sofisticación de los Delincuentes Cibernéticos

daniel_blof_header_image_cropped.png

Actualmente hay una voz, cada vez más insistente, pidiéndole a las empresas y los usuarios de casa que actualicen su Windows XP a una versión más nueva de Windows. Se dice que, si no es por las funciones, que sea al menos para mejorar el soporte y la seguridad de su sistema operativo. En este sentido vale la pena recordar que los cajeros automáticos son prácticamente computadoras que controlan el acceso al dinero en efectivo, y resulta que muchos de ellos funcionan con versiones de Windows XP. Con el inminente fin del soporte para Windows XP programado para el 8 de abril de 2014, la industria bancaria enfrentará el riesgo de sufrir ataques informáticos dirigidos sus cajeros automáticos. Este riesgo no es hipotético y ya se ha hecho presente y se ha identificado que delincuentes informáticos están atacando cajeros automáticos con técnicas cada vez más sofisticadas.

Hacia fines de 2013, publicamos en el blog un artículo sobre un nuevo malware para cajeros automáticos en México, que les permitía a los atacantes forzarlos para que expidieran efectivo utilizando un teclado externo. Esta amenaza recibió el nombre de Backdoor.Ploutus. Semanas después, descubrimos una nueva variante que mostraba que el malware había evolucionado para transformarse en una arquitectura modular. Adicionalmente, la nueva variante también estaba disponible en idioma inglés, lo que indicó que el autor del malware estaba expandiendo su franquicia hacia otros países. La nueva variante se identificó como Backdoor.Ploutus.B (denominado Ploutus para fines de este blog).

Lo interesante de la nueva investigación que hicimos sobre Ploutus es que esta variante les permitía a los ciberdelincuentes enviar un simple mensaje de texto al cajero automático afectado, para luego dirigirse al mismo y recoger el dinero entregado por el aparato. Esto puede parecer increíble pero esta técnica se está empleando en varios lugares del mundo en este momento y en este blog compartiremos cómo funciona esto.   

Ploutus Infograph SPAJ.jpg

Figura 1. Forma en que los atacantes retiran dinero de un cajero automático utilizando un teléfono.

Conectar un teléfono móvil al cajero automático

Los delincuentes informáticos pueden controlar el cajero automático de forma remota utilizando un teléfono móvil que está conectado en el interior del cajero automático. Existen varias formas de conectar un teléfono móvil a un cajero automático. Un método muy común es utilizar una configuración llamada USB tethering (conexión de dispositivos), que es efectivamente una conexión a Internet compartida entre el teléfono y la computadora (o en este caso, el cajero automático).

Los atacantes deben configurar el teléfono correctamente, conectarlo al cajero automático e infectar el cajero con Ploutus. Una vez realizados todos estos pasos, se establece una conexión bidireccional y el teléfono está listo para ser utilizado.   

Dado que el teléfono está conectado al cajero automático a través de un puerto USB, el teléfono consume energía de la conexión, lo que permite cargar la batería, y por lo tanto, el teléfono puede permanecer encendido indefinidamente.    

Envío de mensajes de texto al cajero automático

Tras conectar el teléfono móvil al cajero automático y de completar la configuración, los delincuentes pueden enviar comandos específicos por mensaje de texto al teléfono conectado dentro del cajero automático. Cuando el teléfono detecta un nuevo mensaje en el formato requerido, el dispositivo móvil convierte el mensaje en un paquete de red y lo reenvía al cajero automático a través del cable USB.

El monitor del paquete de red (NPM, por sus siglas en inglés) es un módulo del malware que actúa como un rastreador y vigila todo el tráfico de la red en el cajero. En cuanto el cajero afectado recibe un paquete válido TCP (Protocolo de Control de Transmisión) o UDP (Protocolo de Datagrama de Usuario)  desde el teléfono, el NPM analiza el paquete y busca el número “5449610000583686” en un ajuste específico dentro del paquete para poder procesar todo el paquete de datos. Una vez detectado ese número específico, el NPM lee los siguientes 16 dígitos y los utiliza para crear una línea de comando para ejecutar Ploutus. Este es un ejemplo de dicho comando o instrucción sigue a continuación:         

cmd.exe /c PLOUTOS.EXE 5449610000583686=2836957412536985

En las versiones anteriores de Ploutus, el delincuente principal debía informarle estos dígitos al encargado o cómplice que recogía el dinero, lo que le daba la oportunidad de estafar al delincuente principal si supiera lo que el código les permite hacer. En esta versión de Ploutus, el cómplice nunca ve los 16 dígitos, lo que le da al delincuente principal la seguridad y la capacidad de tener control total de los retiros de dinero. El código permanece activo durante 24 horas.

El uso de mensajes SMS para controlar cajeros automáticos de forma remota es un método mucho más conveniente para todas las partes involucradas en esta estafa, dado que es discreto y funciona prácticamente de forma instantánea. El delincuente principal sabe exactamente cuánto dinero recogerá su enviado y, a su vez, quien va por el dinero no necesita quedarse merodeando cerca del cajero automático esperando a que salga el efectivo. El delincuente principal y su cómplice pueden actuar de forma sincronizada para que el dinero sea expedido en el momento exacto en que la persona simule retirar dinero o pase caminando frente al cajero automático.   

La suma de los factores del ataque

Ahora que conocemos en detalle cómo funciona esta estafa, este es un resumen del ataque completo:

Ploutus Info2 SPLR.jpg

Figura 2. Resumen del ataque Ploutus a cajeros automáticos

Recapitulación del proceso

  1. El atacante instala Ploutus en el cajero automático y conecta un teléfono móvil a la máquina con un cable USB.
  2. El delincuente envía dos mensajes de texto al teléfono móvil que está conectado al cajero.
    1. SMS 1 debe contener un ID de activación válido para poder activar Ploutus en el cajero.
    2. SMS 2 debe contener un comando válido para activar la entrega del dinero y poder retirar el efectivo.
  3. El teléfono detecta los mensajes de texto válidos recibidos y los reenvía al cajero automático como si fuera un paquete TCP o UDP.
  4. Dentro del cajero, el módulo del monitor del paquete de red recibe el paquete TCP/UDP y, si contiene un comando válido, ejecuta Ploutus.
  5. Un cómplice recoge físicamente el dinero del cajero automático.

Pudimos reproducir este ataque en nuestros laboratorios con un auténtico cajero automático infectado con Ploutus. En este breve video le mostramos cómo funciona este ataque.

Default Chromeless Player

Si bien en esta demostración utilizamos el malware Ploutus, Symantec Security Response ha descubierto otros códigos maliciosos que están atacando a los cajeros automáticos. En el caso de Ploutus, el objetivo de los atacantes es robar dinero desde adentro del cajero, sin embargo, otros códigos que hemos analizado intentan robar el PIN y los datos de la tarjeta del cliente, mientras que algunos intentan concretar ataques de tipo “hombre en medio” (“man in the middle”). Es evidente que los atacantes tienen varias ideas de cómo robar dinero de un cajero automático. 

¿Qué podemos hacer para proteger los cajeros automáticos?

Los cajeros automáticos modernos cuentan con medidas de seguridad avanzadas, como los disco duros encriptados, que pueden evitar estos tipos de técnicas de instalación. Sin embargo, en el caso de los cajeros más antiguos que funcionan con Windows XP, la protección contra estos tipos de ataques es más complicada, en especial cuando los cajeros automáticos ya están en funcionamiento en varias ubicaciones remotas. Otro inconveniente que se debe enfrentar es la seguridad física de la computadora instalada en el cajero. Si bien el dinero en los cajeros está dentro de una caja fuerte, por lo general la computadora no está protegida. Sin un sistema de seguridad física adecuado, el atacante tiene una amplia ventaja sobre los cajeros automáticos, especialmente los más viejos.     

Algunas medidas que recomendamos considerar para complicar la tarea a los delincuentes son:

  • Actualizar el sistema operativo por uno que tenga un soporte adecuado, como Windows 7 u 8.
  • Contar con una protección física adecuada y pensar en la posibilidad de instalar cámaras de seguridad en los cajeros.
  • Asegurar el BIOS (Sistema Básico de Entrada/Salida) para evitar que se inicien medios no autorizados, como los CD-ROM o memorias USB.
  • Realizar un cifrado completo del disco para evitar su manipulación.
  • Utilizar una solución de bloqueo de sistema, como Symantec Data Center Security: Service Advanced (conocida anteriormente como Critical System Protection).

Combinando estas medidas de seguridad, le será muy difícil a los atacantes infectar un cajero automático sin la ayuda de un cómplice infiltrado.

Las soluciones de seguridad para consumidores, endpoint sy protección de servidores seguirán soportando los sistemas Windows XP, sin embargo recomendamos a los usuarios de dicho sistema operativo mirar a uno más actual lo más pronto posible para reducir los riesgos.

Texting ATMs for Cash Shows Cybercriminals’ Increasing Sophistication

daniel_blof_header_image_cropped.png

There is a growing chorus of voices calling for businesses and home users to upgrade existing Windows XP installations to newer versions of Windows, if not for the features, then at least for the improved security and support. ATMs are basically computers that control access to cash, and as it turns out, almost 95 percent of them run on versions of Windows XP. With the looming end-of-life for Windows XP slated for April 8, 2014, the banking industry is facing a serious risk of cyberattacks aimed at their ATM fleet. This risk is not hypothetical — it is already happening. Cybercriminals are targeting ATMs with increasingly sophisticated techniques. 

In late 2013, we blogged about new ATM malware in Mexico, which could let attackers force ATMs to spew cash on demand using an external keyboard. That threat was named Backdoor.Ploutus. Some weeks later, we discovered a new variant which showed that the malware had evolved into a modular architecture. The new variant was also localized into the English language, suggesting that the malware author was expanding their franchise to other countries. The new variant was identified as Backdoor.Ploutus.B (referred to as Ploutus throughout this blog).  

What was interesting about this variant of Ploutus was that it allowed cybercriminals to simply send an SMS to the compromised ATM, then walk up and collect the dispensed cash. It may seem incredible but this technique is being used in a number of places across the world at this time.

In this blog, we will show you how this functionality works.

ATM_blog_infographic_fig1.png
Figure 1. How attackers withdraw cash from an ATM using a phone

Connecting a mobile phone to the ATM
The criminals can remotely control the ATM by using a mobile phone which is connected to the inside of the ATM. There are multiple ways to connect a mobile phone to an ATM. A common method is to use a setup called USB tethering, which is effectively a shared Internet connection between a phone and a computer (or in this case, an ATM). 

The attackers need to set the phone up correctly, connect it to the ATM and infect the ATM with Ploutus. Once all of these steps are complete, a full two-way connectivity is established and the phone is ready to be used. 

Since the phone is connected to the ATM through the USB port, the phone also draws power from the connection, which charges the phone battery. As a result, the phone will remain powered up indefinitely. 

Sending SMS messages to the ATM
After the mobile phone is connected to the ATM and set up is completed, the criminals can send specific SMS command messages to the phone attached inside the ATM. When the phone detects a new message under the required format, the mobile device will convert the message into a network packet and will forward it to the ATM through the USB cable.

The network packet monitor (NPM) is a module of the malware which acts as a packet sniffer, watching all network traffic going on in the ATM. As soon as the compromised ATM receives a valid TCP or UDP packet from the phone, the NPM will parse the packet and search for the number “5449610000583686” at a specific offset within the packet in order to process the whole package of data. Once that specific number is detected, the NPM will read the next 16 digits and use them to construct a command line to run Ploutus. An example of such a command is shown below: 

cmd.exe /c PLOUTOS.EXE 5449610000583686=2836957412536985

In previous versions of Ploutus, the master criminal would have to share these digits with the money mule, which could allow the money mule to defraud the master criminal if they realize what the code allows them to do. In this version of Ploutus, the mule never sees the 16 digits, giving the master criminal added security and the ability to centrally control cash withdrawals. The code is active for 24 hours.

Using SMS messages to remotely control the ATM is a much more convenient method for all of the parties in this scheme, because it is discrete and works almost instantly. The master criminal knows exactly how much the money mule will be getting and the money mule does not need to linger for extended periods around an ATM waiting for it to issue the cash. The master criminal and money mule can synchronize their actions so that the money is issued just as the money mule pretends to withdraw cash or is walking past the ATM.

Putting it all together
Now that we have looked into the details of how this scheme works, here’s an overview of how it all fits together.

ATM_attack_ploutus_attack_overview_fig2.png
Figure 2. Ploutus ATM attack overview

Process overview

  1. The attacker installs Ploutus on the ATM and connects a mobile phone to the machine with a USB cable.
  2. The controller sends two SMS messages to the mobile phone inside the ATM.
    1. SMS 1 must contain a valid activation ID in order to enable Ploutus in the ATM.
    2. SMS 2 must contain a valid dispense command to get the money out.
  3. The phone detects valid incoming SMS messages and forwards them to the ATM as a TCP or UDP packet.
  4. In the ATM, the network packet monitor module receives the TCP/UDP packet and if it contains a valid command, it will execute Ploutus.
  5. Ploutus causes the ATM to spew out the cash. The amount of cash dispensed is pre-configured inside the malware.
  6. The cash is collected from the ATM by the money mule.

We were able to replicate this attack in our lab with a real ATM infected with Ploutus, so we can show you this attack in action in our short video.

atm_video_overlay_600w_1.png
Figure 3. Video on how Ploutus attacks against ATMs work

While in this demonstration, we are using the Ploutus malware, Symantec Security Response has found several different forms of malware that are targeting ATMs. In the case of Ploutus, the attackers are trying to steal the cash from inside the ATM; however, some malware we have analyzed attempts to steal the customers’ card information and PIN while other malicious software lets criminals attempt man-in–the-middle attacks. Clearly, attackers have different ideas on how best to make money from an ATM.

What can be done to protect ATMs?
Modern ATMs have enhanced security features, such as encrypted hard-drives, which can prevent these types of installation techniques. However, for older ATMs still running on Windows XP, protecting against these types of attacks is more challenging, especially when the ATMs are already deployed in all sorts of remote locations. Another difficulty that needs to be addressed is the physical security of the computer inside the ATMs. While the ATM’s money is locked inside a safe, the computer generally is not. Without adequate physical security for these older ATMs, the attacker has the upper hand.  

A number of measures could be taken to make things more difficult for the criminals. These include:

  • Upgrading to a supported operating system such as Windows 7 or 8
  • Providing adequate physical protection and considering CCTV monitoring for the ATM
  • Locking down the BIOS to prevent booting from unauthorized media, such as CD ROMs or USB sticks
  • Using full disk encryption to help prevent disk tampering
  • Using a system lock down solution such as Symantec Data Center Security: Server Advanced (previously known as Critical System Protection)

With all these measures in place, attackers would find it much harder to compromise an ATM without a complicit insider. 

Symantec’s consumer, endpoint and server protection solutions will continue to support Windows XP systems for the foreseeable future; however, we strongly recommend that Windows XP users should upgrade to a more current operating system as soon as possible.