(ATM Malware) Winter is coming!

Cada vez que damos un paso para securizar un sistema, cada vez que lo fortalecemos, cada ataque que evitamos, sobretodo si conseguimos evitarlos todos, estamos dando un mensaje a “los Malos”: Buscad otro agujero, buscad otra víctima.

Esto puede traducirse en que ataquen a otra entidad, o que busquen una vulnerabilidad nueva que afecte a todo el sector. Recordemos que “los Malos” no son pocos y necesitan vivir, además por si fuera poco, parece que les gusta vivir bastante bien. Si no consiguen resultados buscaran una forma mas eficiente de obtenerlos. Este es el punto al que estamos llegando: existe un movimiento migratorio de “Malos” que se desplazan de los canales on-line hacia el autoservicio.

¿Están preparadas las entidades financieras para este movimiento? Pues para no dar pistas a nadie, voy a decir que algunas si, algunas no, algunas mucho y otras poco. Pero tenemos que tener todos muy claros que la época en la que “los Malos” de los cajeros era la clase social baja de la delincuencia, se ha acabado. Los creadores de malware se están desplazando hacia un sector que estaba acostumbrado a luchar contra bandas que copiaban tarjetas con bocas falsas y cámaras para pillar el PIN. Estos últimos no van a desaparecer, pero en poco tiempo van a dejar de ser el foco principal de nuestros problemas.

NCR says in an Aug. 29 security alert that attackers hacked into Government Savings Bank’s network to initially infect the ATMs with the malware. “This is a network attack. The attackers have breached the financial institution’s internal network,” NCR’s alert says. “Once inside the network, the attackers are spoofing the software distribution server as the means to deliver the malware to ATMs.” It said the software distribution tool, built by InfoMindz, was Software Distribution and Management System version 2.3.0.

Los últimos ataques son complejos comparando con lo que solían ser solo hace un par años, aunque todavía son simples si los comparamos con los que sufren nuestros compañeros de las bancas online. Estos ataques a cajeros empiezan a basarse en malware que ha conseguido introducirse en estos, a través de los sistemas de distribución de las entidades. No estoy hablando de un técnico con un pen drive, ni de un empleado descontento, ni de que alguien consiga conectar un cable al PC de nuestro cajero. Estoy hablando de una infección masiva de la red de cajeros que llega a través del sistema de distribución de la entidad bancaria… y no ha pasado solo una vez. Aunque este mundo no es muy transparente, parece que en uno de los últimos casos el malware residia en la propia herramienta de distribución, que le llegó al banco de forma oficial a través de un proveedor de software standard para bancos. Si esta última frase no te ha dado pánico es que no la has leído con suficiente calma. El malware llegó al banco, se instaló en sus servidores, desde un proveedor del que no controlan nada. Es como si en una actualización del sistema se baja un malware, no hay forma de pararlo. No puedes desconfiar de ellos. Es una técnica usada en otros entornos, todos recordamos el caso que se dio con algunas aplicaciones de la APPStore que habían estado compiladas con una versión del XCode infectada. Los desarrolladores no tenían ni idea, subieron sus app a la AppStore y Apple tampoco se enteró de nada. Estos métodos no son nuevos en el mundo industrial, pero sí que lo son para los cajeros.

ATM vendors often run their own customized version of XFS. The developer of Ripper has coded the malware with an interface that adheres to the public XFS specification, allowing the malware to be cross-compatible with ATM vendor software but also, for example, talk to the cash dispenser.

Una vez en el cajero el malware toma el control de las unidades, o puede tomarlo cuando se le requiera, mediante la capa XFS, un interface standard conocido y publicado que permite a los desarrolladores hablar de la misma forma con los diferentes fabricantes.
XFS es un gran enemigo de los departamentos de seguridad, no solo porque permite una forma sencilla y pública de acceder a los dispositivos, también tenemos que desconfiar de las respuestas que nuestros sistemas de control reciben desde XFS. No podemos estar seguros si nos está respondiendo nuestro dispositivo o es el malware falseando los datos. En otras palabras, que se entiende mejor y da más miedo: Puedes preguntarle a XFS el estado de un cajetín y aunque XFS te diga que está rebosante de dinero, no tiene porqué ser cierto.

Código Tyupkin
Porción de código del malware con nombre impronunciable: tyupkin.

FireEye says the Ripper malware shares much in common with previously seen ATM malware – including Padpin, a.k.a. Tyupkin; Suceful; and GreenDispenser – and that it includes the ability to disable the local network interface as well as securely delete attack-related data, to better foil digital forensic investigations.

Como no puede ser de otra forma una de las primeras acciones que realiza el Malware es desconectar el cajero de la red, para que no pueda comunicarse con nosotros, cualquier alerta que nuestra aplicación, o los dispositivos generen no nos van a llegar hasta que el el cajero recupere la conectividad, que será nada más y nada menos que cuando el Malware lo considere.

The criminals use EMV payment cards that have been encoded to authenticate the card to malware that’s already been installed on the ATM. The chip says to the malware: “I’m here. Let’s drain this machine.”

El Malware una vez instalado en el cajero pueden quedarse tranquilo y casi indetectable durante mucho tiempo, “los Malos” protegen su inversión y quieren ser los únicos que saquen provecho de él. O incluso peor, existe la posibilidad que los creadores del Malware no tengan nada que ver con los mulos (los que van a recoger el dinero), pueden vender las redes contaminadas a diferentes bandas y darles las herramientas para que sean los que exploten la vulnerabilidad y corran el riesgo.

Como podemos ver los problemas son varios, como siempre en seguridad. Pero, por ahora, tenemos suerte, esto está empezando y los ataques son simples. Podemos ver cuatro áreas muy claras en las que tenemos que trabajar.

  • Securizar sistema de distribución de software. Es especialmente importante, porque cualquier software que entre de forma autorizada en el cajero se saltara todas las protecciones de lista blanca que tan de moda se han puesto en los últimos años.
  • Securizar todo acceso a XFS. Es un protocolo público, cualquier programador en 20 minutos puede entenderlo y hacer un programa que controle nuestros dispositivos o que los simule. Tenemos que estar seguros de que quien lo está usando tiene permiso para hacerlo, que es el software al que le permitimos llamarlo, sino cortarlo.
  • Controlar el software que se ejecuta. Todo, y cuando digo todo me refiero a todo, sobretodo si es de un software standard tiene que ser conocido. Pero no su nombre. Tenemos que ser capaces de controlar todos los ficheros mediante su HASH, e impedir la ejecución de nada que no se haya ejecuta previamente.
  • Ohhh dios estoy en OFF. Si un cajero pierde la comunicación con nuestra central se convierte en una caja negra llena de dinero sin posibilidad de pedir ayuda. Podemos tratarlo como tal, o como cualquier otro cajero de la red.

Se puede hacer, no es tan complicado, la verdad es que incluso es sencillo, securizar una red de cajeros no tendria que ser muy complejo, técnicamente hablando. La pregunta es: ¿Estamos todos a tiempo? Por que no nos engañemos, somos lentos. Yo creo que no, “los Malos” lo saben y atacaran a las redes con menor protección, aprovecharan el momento y si el ROI es mayor que los ataques a las bancas on-line van a aprovechar el momento al máximo.

El Malware ya existe. Están empezando por los países que mas sencillo les resulta explotar, pero estos países se irán securizando, lo que quiere decir que o nos movemos y rápido o en nada seremos la víctima apetecible. Así que si no te suenan de nada nombres como Ripper, Ploteus, Padpin, Tyupkin, GreenDispenser, Suceful y muchos mas, ya puedes ir tirando de Google, y ver como actúan, porque el malware dedicado para los Cajeros va a cambiar de nombre y a mejorar, pero no va a desaparecer.

Pero no todo es el Malware, y esto es lo que nos esta salvando. Necesitan infectar una red y explotarlo, quizá ya haya alguna red europea infectada y ahora están buscando el comprador de la red, al que le darán las tarjetas necesarias para vaciar los cajeros. Infectar una red no es una tarea sencilla y no quieren vaciar solo un cajero, lo mas costoso en tiempo para ellos es crear la infraestructura humana necesaria para vaciar el máximo numero de cajeros en el mínimo tiempo. Es por eso, que por ahora, los países atacados son los que tiene un problema con la delincuencia organizada, pero no van a quedarse quietos.

Seguro que se nos ocurren mil maneras de hacer nuestras redes de cajeros más seguras, a mi se me ocurren unas cuantas, pero claro, como siempre en este campo no estamos como para ir publicando todas nuestras ideas. Si quereis discutir alguna de ellas no dudéis en darme un toque.

Más info y referencias en:
http://resources.infosecinstitute.com/tyupkin-atm-malware-analysis/
http://www.bankinfosecurity.com/ripper-atm-malware-where-will-strike-next-a-9373
http://www.bankinfosecurity.com/new-ripper-malware-fueled-thai-atm-attacks-a-9370
https://www.fireeye.com/blog/threat-research/2016/08/ripper_atm_malwarea.html
http://www.bankinfosecurity.com/nist-publishes-application-whitelisting-guide-a-8661

Comentarios.