ATM Local Protection against complex attacks (windows version)
*English version at the bottom
Desde Cyttek Group desarrollamos y damos soporte a varias soluciones de ATMs de forma multivendor y en todos estos años cada vez las investigaciones forenses denotan que los ataques en ATM son mas complejos o requieren de conocimiento mas avanzado.
Atacar un ATM sin importar la marca el modelo siempre y cuando esta en un entorno financiero tiene multiples capas de seguridad que se deben esquivar ya no es como en la pelicula de 1991 Terminator 2
Actualmente aunque los vectores o tipos de ataques finales que afecta a los ATM siempre son iguales no se han inventado nuevos ataques, lo que si se han creado son nuevas formas de esquivar los controles actuales de seguridad, algunos como controles de cifrado, controles de USB, controles de seguridad de windows pero en definitiva siempre hay una interacción con la Capa XFS del ATM para lograr el objetivo de dispensar.
Con lo que hemos visto estos últimos años solo se incrementan el profesionalismo en el vector inicial del ataque para esquivar los controles por lo tanto hemos diseñado una serie de aplicaciones stand alone que pueden ser agregadas como módulos a softwares como Checker, Mcaffee, Vynamics entre otros, que permite extender la seguridad de los ATMs y complementar dichos productos, nunca remplazarlos no somos la barrera final , estos módulos están pensados para proteger ante nuevas modalidades no tan extendidas al día de hoy pero completamente factibles que los atacantes aprovechen estas vulnerabilidades para atacan cualquier marca de ATMs.
Primer modulo: USB protection es la protección frente a la utilización de PUK devices que emulen un Hardware ID que ya buscan estar dentro de la lista blanca mediante fuerza bruta, hemos identificado que se ha usado este vector para hacer una fuerza bruta y identificar que HID y VID están habilitados en las listas blancas de ATM para poder utilizar estos dispositivos previamente habilitados para vulnerar los ATMs, esquivando así las protecciones de Whitelist de USB, con esto hemos creado un protector de dispositivos de Hardware local que le da la inteligencia suficiente como para determinar que aunque el dispositivo este habilitado en la lista blanca si es un dispositivo que no debe estar conectado, sin la necesidad de uso de comunicaciones, el ATM se reinicia haciendo muy difícil que el atacante perpetúe su cometido con ese dispositivo emulando los identificadores de hardware.
Caso de ejemplo de ataque:
Cuando encuentras en un disco duro de ATM, conexiones y desconexiones de multiples dispositivos en poco tiempo dentro de un proceso de análisis forense como este:
Este patron peculiar de ataques se pueden ejecutar con dispositivos como Facedancer21 (https://github.com/greatscottgadgets/facedancer?tab=readme-ov-file) que son adquiribles en internet y mediante una interfaz en python se pueden desarrollar estos ataques con el objetivo de entender que dispositivos están dado de alta en la lista blanca del software de seguridad y utilizar ese dispositivo para acceder y que el ATM acepte comunicación o comandos.
Con este modo de operación en mente hemos desarrollado un modulo que permite proteger el ATM inclusive si el dispositivo PUK o de Emulación puede identificar o autoasignarse un HID y VID validos por los software de protección de usb o listas blancas, esto con varias características como Identificación de dispositivo único, validación mediante lista blanca y validación unica aunque tenga mismo identificador de hardware.
Este modulo protege al ATM inclusive sin internet e inclusive si el dispositivo es insertado fuera de horario y el dispositivo esta dentro de la lista blanca se implementa detección de varios dispositivos validos o de cambios rápidos de HID/VID.
Este modulo de activación y desactivación puede ser controlado de forma remota con herramientas actuales como Checker o Vynamics o Mcaffee , dando le un plus de control remoto con herramientas actuales nuestro plus que ofrecemos es que identificamos de forma unica no permitimos varios dispositivos com mismo identificador de hardware o que usen el mismo driver y poder actualizar la lista de forma automática cuando se necesite, algunas de estas funciones como identificador único de dispositivo con mismo Hardware ID no están en los software comerciales y son utilizado por lo atacantes para vulnerar o conseguir cierta puerta de acceso para perpetrar el ataque.
Segundo modulo: PCI DMA Protection
La proliferación de la utilización de ataques mediante las interfaces físicas PCI para esquivar el cifrado de disco e inyectarse en al memoria para conseguir extraer información o cargar información en el ATM con el objetivo de dispensar en el ATM, este es otro vector de ataque que afecta directamente a las herramientas de seguridad y el cometido final es esquivar el cifrado de disco e inyectar información o códigos dentro de los procesos del ATM (concretamente sobre los procesos permitidos o habilitados).
Ya que la protección a nivel de Bios existe actualmente en todos los firmwares de ATMs y esta medida o configuración se ejecuta mediante activación de VT-D en la BIOS, pero a nivel de sistema operativo windows no existe todavía implementa esta protección a nivel de fabricantes y versión OEM en Windows para ATMs, para poder habilitarse hasta el windows 10 solo el build 21xx incluye la función Kernel DMA protect y actualmente todas las versiones de sistema operativo utilizado por los grandes fabricantes están en compilados anteriores de windows 10.
Esta configuración no se encuentra en las versiones de Windows 10 para ATMs
Por lo tanto para proteger frente a estos ataques que actualmente no son protegidos por ninguna solución de seguridad hemos creado una solución de DMA protection para ATMs
Los desarrollos de módulos para ATMs de Cyttek son soluciones complementarias a las soluciones actuales para incrementar la seguridad de las soluciones actuales, ya que los atacantes mejoras sus técnicas mas rápido que los procesos de mejora de productos , con esto se logra mejorar su seguridad frente a nuevos vectores mas complejos de ataques que pretenden esquivar los controles de seguridad actuales.
At Cyttek Group, we develop and support several ATM solutions on a multi-vendor basis. Over the years, forensic investigations have increasingly shown that ATM attacks are more complex or require more advanced knowledge.
Attacking an ATM, regardless of the brand or model, as long as it is in a financial environment, requires bypassing multiple layers of security. It is no longer like in the 1991 movie Terminator 2.
Currently, although the final attack vectors or types that affect ATMs are always the same, no new attacks have been invented. What has been created are new ways to bypass current security controls, some such as encryption controls, USB controls, Windows security controls, but ultimately there is always an interaction with the ATM's XFS Layer to achieve the goal of bypassing.
With what we have seen in recent years, only the professionalism in the initial attack vector to avoid controls increases; therefore, we have designed a series of stand-alone applications that can be added as modules to software such as Checker, McAfee, Vynamics, among others, which allows to extend the security of ATMs and complement said products, never replacing them, we are not the final barrier, these modules are designed to protect against new modalities that are not as widespread today but entirely feasible for attackers to take advantage of these vulnerabilities to attack any brand of ATM.
First module: USB protection is the protection against using PUK devices that emulate a Hardware ID already on the whitelist. We have identified that this vector has been used to brute force and identify which HID and VID are enabled in the ATM whitelists in order to use these previously enabled devices to breach ATMs. With this, we have created a local Hardware device protector that gives it enough intelligence to determine that even if the device is enabled on the whitelist, if it is a device that should not be connected without the need for communications, the ATM will restart, making it very difficult for the attacker to perpetuate its mission with that device by emulating the hardware identifiers.
Example attack case:
When you find multiple devices connected and disconnected in a short period of time on an ATM hard drive within a forensic analysis process like this:
This peculiar pattern of attacks can be executed with devices such as Facedancer ( https://github.com/greatscottgadgets/facedancer?tab=readme-ov-file ) that are available on the Internet. Through a Python interface, these attacks can be developed to understand which devices are registered in the security software's white list and use that device to access and have the ATM accept communication or commands.
With this mode of operation in mind, we have developed a module that allows the ATM to be protected even if the PUK or Emulation device can identify or auto-assign a valid HID and VID using USB protection software or whitelists.
This module protects the ATM even without internet and even if the device is inserted after hours and the device is on the white list, detection of multiple valid devices or rapid HID/VID changes is implemented.
This activation and deactivation module can be controlled remotely with current tools such as Checker or Vynamics or Mcaffee.
Second module: PCI DMA Protection
The proliferation of attacks through PCI physical interfaces to bypass disk encryption and inject information into memory to extract information or load information into the ATM with the aim of dispensing at the ATM is another attack vector that directly affects security tools. The final goal is to bypass disk encryption and inject information or codes into ATM processes (specifically on permitted or enabled processes).
Since protection at the BIOS level currently exists in all ATM firmware, this measure or configuration is executed by activating VT-D in the BIOS. However, this protection does not yet exist at the Windows operating system level; this protection is implemented at the manufacturer and OEM version level in Windows for ATMs to be enabled up to Windows 10; only build 21xx includes the Kernel DMA protect function. Currently, all versions of the operating system used by major manufacturers are in previous builds of Windows 10.
This setting is not available in Windows 10 versions for ATMs
Therefore, to protect against these attacks that are currently not protected by any security solution, we have created a DMA protection solution for ATMs.
Cyttek's ATM module products complement current solutions to increase their security. Since attackers improve their techniques faster than product improvement processes, they can thus enhance their security against new, more complex attack vectors that attempt to bypass current security controls.