¿Qué es el firmware?
Es el software de bajo nivel grabado en los dispositivos. Controla funciones básicas: arranque, inicialización del hardware y la comunicación con el sistema operativo. Es la “capa” que conecta el hardware con el sistema operativo.
¿Qué es un ataque al firmware?
Es la inyección de código malicioso en firmware. Ese código puede ejecutarse antes de que cargue el sistema operativo, pasar desapercibido y sobrevivir a reinicios o incluso a una reinstalación del Sistema operativo.
¿Cómo operan estos ataques?
Los atacantes explotan fallos a nivel de firmware para acceder y una vez dentro pueden:
- Cambiar parámetros de arranque y desactivar defensas.
- Instalar puertas traseras para volver a entrar cuando quieran.
- Robar información sensible del equipo.
- Desplegar malware que se propague o se ejecute sobre un driver o proceso autorizado.
Tipos de ataques al firmware
Los ataques de firmware implican diversos componentes y técnicas que no suelen observarse en los ataques de software más tradicionales. En esta sección, presentaremos algunos de los componentes de firmware más importantes de un dispositivo, cómo pueden ser utilizados indebidamente en un ataque y las estrategias y técnicas que emplean los atacantes contra ellos. Esta sección no pretende ser exhaustiva ni definitiva, sino ofrecer una introducción a los conceptos clave de los ataques de firmware.
Componentes importantes de Firmware
Cuando se trata de firmware, lo primero que viene a la mente suele ser el firmware del sistema, como la BIOS o su reemplazo más moderno, la UEFI. Este firmware del sistema es particularmente desconocido por muchos como opera, pero es solo uno de las docenas de componentes dentro de los dispositivos modernos que dependen del firmware y pueden desempeñar papeles clave en un ataque. La siguiente tabla presenta varios de estos componentes clave y su papel en un ataque.
Vectores de ataque
Ahora que hemos identificado algunos de los elementos críticos de la superficie de ataque del firmware, podemos analizar los métodos que los atacantes pueden usar para comprometer esta capas.
Normalmente, necesitan establecer una ruta de acceso al firmware, lo cual puede hacerse de varias maneras generales. El atacante puede avanzar desde la capa de red o software tradicional hasta el firmware, o desde el hardware hasta el hardware.
Desde el software hacia el hardware
El enfoque de "software hacia el hardware" para el firmware suele seguir un camino similar al de las infecciones de malware tradicionales. La vulnerabilidad inicial puede provenir de compromisos desde el Sistema operativo o remplazando el disco duro para el caso de ATMs.
En este punto, el atacante podría atacar directamente las vulnerabilidades del firmware vulnerable para instalar un implante o podría usar herramientas adicionales, como controladores vulnerables, para escalar privilegios y controlar el firmware según sea necesario. Ambas opciones son muy sencillas para el atacante. La primera es una explotación directa de una vulnerabilidad, y la segunda representa el modelo estándar de troyano/dropper utilizado por el malware durante años.
En el caso de ATMs muchas vulnerabilidades de Firmware o bios que se agregan en los Bios Updates generalmente vienen acompañadas de CVEs de muchos años atrás, y estos riesgos no gestionados se mantienen en muchas ocasiones hasta por décadas ya que no son riesgos que se le exige al fabricante , hasta que hay un ataque que aprovecha una vulnerabilidad.
En dispositivos como PCs , Mini PCs o equipos estas vulnerabilidades suelen estar presentes en el 95% de dispositivos empresariales, en el caso de ATMs están en el 100% de equipos simplemente por que no se toman los parámetros de seguridad y no se exigen ya hasta hace poco no existían riesgos o ataques conocidos que afecten a parámetros mal configurados (caso reciente DMA).
Estos casos son solo un primer acercamiento de este tipo de ataques al mundo de ATMs, pero los atacantes que afectan a PCs o Laptops o otros equipos empresariales, pueden utilizar herramientas como RWEverything (read-write everything) , también existen algunos casos basados en ataques desde el sistema operativo hacia la UEFI utilizando drivers que pueden ser instalados por alguna falta de restricción de seguridad o utilizando otro sistema operativo no protegido
Estas técnicas pueden verse usadas en campañas como Slingshot APT o LoJax malware.
Desde el Hardware Hacia el software
Los atacantes también pueden adoptar un enfoque más centrado en el hardware para el firmware, y esta estrategia puede adoptar muchas formas. Comprometer un dispositivo en la cadena de suministro proporciona una de las rutas más directas al hardware de un dispositivo y su firmware. Se puede introducir firmware malicioso o intencionalmente vulnerable en un producto si un proveedor o uno de sus proveedores se ve comprometido.
En realidad, esta es una superficie de ataque bastante grande dados los muchos componentes y la extensa cadena de suministro subyacente que entra en un dispositivo moderno. Además sumarle que los servicios de atención de primera o segunda Linea pueden acceder a instalar actualizaciones o versiones vulnerables o maliciosas las cuales no existe ningún control de la capa de software para alertar este comportamiento (Hasta ahora!).
Del mismo modo, como se muestra en los recientes ataques ShadowHammer, la cadena de suministro puede ser atacada incluso después de que se entrega un dispositivo al comprometer las actualizaciones oficiales entregadas por un proveedor. En cualquier caso, un atacante puede comprometer un sistema que una organización normalmente asume que es seguro.
A continuación, un atacante con acceso físico al sistema puede comprometer el firmware. El firmware malicioso dentro de un dispositivo USB puede usarse para comprometer el firmware del sistema de la víctima en cuestión de minutos.
Aquí un ejemplo de como infectar un PC con un equipo de menos de 300 USD y Código en github para implementar un backdoor persistente al reboot
Si recordamos los dispositivos DMA recientemente utilizados en ataques de ATMs

También son dispositivos de menos de 300 USD en algunos de los casos, luego profesionalizándolos con baterías y cables extensiones de PCI pueden ronda los 500USD, igual en todos los casos de ataques recientes también se a utilizado código de inyección de DMA proveniente de proyectos en GITHUB.
Técnicas de ataques
Una vez comprometido el firmware, el atacante naturalmente querrá usar la posición para continuar el ataque. Esto puede incluir establecer persistencia, comprometer componentes adicionales del firmware, capturar información privilegiada, exfiltrar datos, afectar el rendimiento e incluso deshabilitar el dispositivo por completo.
- Alteración del proceso de arranque: al comprometer el firmware del sistema o el firmware dentro del Módulo de plataforma segura (TPM), los atacantes pueden establecer persistencia interrumpiendo el proceso de arranque seguro de un sistema. Esto puede incluir dirigir el sistema a una imagen de arranque proporcionada por el atacante, parchear directamente el kernel del sistema operativo o evitar las comprobaciones de integridad del firmware durante el inicio. Los atacantes también pueden usar ataques de ROM opcional para alterar otro firmware en el momento del arranque. De hecho, casi cualquier componente del firmware puede alterar el proceso de arranque. Por ejemplo, una NIC o BMC comprometida puede realizar un ataque DMA en medio del proceso de arranque y una SSD comprometida puede alterar los datos utilizados durante el proceso de arranque, omitir el cifrado de disco completo en el momento del arranque, etc.
- Ataques de ROM : Los ataques de ROM pueden utilizarse como parte de una infección inicial o para propagar firmware malicioso de un componente a otro. Normalmente, los componentes utilizan la ROM para obtener el firmware adecuado durante el proceso de arranque. Comprometer el firmware de la ROM ofrece un método inicial de infección para proporcionar una modificación persistente del proceso de arranque sin modificar directamente el firmware UEFI del sistema.
- Acceso Directo a Memoria (DMA): Los ataques DMA son otra técnica común en ataques basados en firmware. Normalmente, el DMA permite que los accedan directamente a la memoria del sistema sin pasar por el sistema operativo. Este enfoque mejora el rendimiento de los componentes y periféricos. Sin embargo, este acceso puede permitir que un componente comprometido lea información privilegiada, claves criptográficas y otros datos almacenados en la memoria. Los atacantes también podrían usar este acceso para instalar código malicioso en el sistema. Los ataques DMA son especialmente comunes en dispositivos con conexión PCI y su memoria DRAM. Como es ya bien sabido este es el primer vector o tipo de ataques que ha experimentado la industria de ATMS sobre todo en latino America y los primeros ataques reportados fueron en Mexico.
- Exploits a Nivel de Procesador: Ataques como Rowhammer pueden permitir a un atacante intercambiar bits en áreas de RAM para escalar privilegios. Asimismo, las conocidas e infames vulnerabilidades Spectre and Meltdown permiten el acceso de canal lateral a información potencialmente protegida en el procesador.
- Desactivación de dispositivos: Por último, el firmware puede usarse para desactivar un dispositivo temporal o permanentemente. El firmware proporciona una forma natural de desactivar un dispositivo, ya que es el primer código que se ejecuta y desempeña un papel fundamental en el resto del proceso de arranque. Estas técnicas pueden emplearse contra prácticamente cualquier dispositivo, incluidos los servidores. En los últimos casos de actualizaciones de firmware de fabricantes hemos encontrado que utilizan estas funciones de bajo nivel para intentar proteger el ataque, pero esta protegida la función de protección de DMA? o existen formas de esquivar estas protecciones?
Casos reales Fuera de ATMs
- Stuxnet (2010): atacó sistemas de control industrial y alteró firmware de PLCs.
- Thunderstrike (2015): infectó firmware de MacBook vía Thunderbolt y persistía en el equipo.
- LoJax (2018): malware UEFI persistente en sistemas Windows.
- MoonBounce (2021): implante UEFI altamente persistente, difícil de erradicar.
- TrickBot (2020): módulo capaz de leer/escribir firmware, útil para dejar equipos inutilizables o mantener persistencia.
Casos reales en ATMs


Como he comentado la industria a enfrentado un primer caso de ataque de bajo nivel, al final existen atacantes que siempre están buscando nuevas formas para comprometer el sistema operativo del ATMs para poder dispensar efectivo del ATM, estos casos son solo los primeros que han migrado o se han adaptado para poder atacar a un ATM, el DMA es un ataque que a tardado casi 9 años en migrar desde una charla de Defcon a convertirse en una ataque armado para un ATM de diferentes Hardware y software vendors.
Siendo este el primero, me atrevo a vaticinar que no sera el ultimo, sobre todo con las nuevas actualizaciones de versiones de Intel vPRO en ATMs o nuevas versiones de firmware cada vez con mas puertas traseras para poder vender soluciones de actualización remotas licenciadas o con muchas fallas que aunque AMI las expone como es bien sabido deben pasar años por la complejidad de una red de ATMs para que estos parches lleguen por ejemplo suelen venir en promedio unos 7 años tarde por ejemplo este es un update de un BIOS Estoril de NCR del 2024, parchando CVEs del 2018 y 2019 unos 6 a 7 años tarde .

Y no es un caso aislado solo de NCR también existen casos en procesadores Skylake , Kaby Lake o Haswell que vienen con retrasos de mas de 7 años con parches de seguridad de otros fabricantes
¿Por qué aumentan estos ataques?
Porque el firmware rara vez se audita o escanea con antivirus convencionales y ofrece control profundo del dispositivo con gran persistencia. Es un objetivo atractivo y poco vigilado.
Eso debe cambiar y es por eso que nos enfocamos en que esto cambie.
Cómo protegerse con ATXv6.00.01
Desde Cyttek conocemos muchos de estos ataques mucho antes de que salgan, pero viendo los riesgos inherentes a esta capa con poco control, hemos integrado a ATX una serie de nuevas funcionalidades enfocadas en seguridad de firmware para ATMS en la cual validamos los siguientes aspectos críticos de equipos de Kiosks, ATMs entre otros.
En la nueva versión se habilitara un menu llamada Firmware Security donde se podrá gestionar y minimizar los riesgos

Actualización y control de versiones de firmware de todos los dispositivos .
- Vigila frente a cambios de firmware con ATX que detecta las modificaciones no autorizadas.
- Controla el acceso: bios/uefi con contraseña, bloqueo de puertos y privilegios mínimos.
- Asegura la cadena de suministro y valida la autenticidad e integridad de las actualizaciones.
- Hacemos verificaciones de integridad periódicas y respondemos de inmediato a cualquier anomalía.
- Validación de CVE's y variables de BIOS , para alertar frente a riesgos de configuraciones con riesgo.
- Generar auditorias de vulnerabilidades de bajo nivel.
- Control de AMT vPRO Storage y gestión remota implementando mejoras de funciones.
ATXv6.01 Soporte Multi Firmware, multimarca multivisión, multiprocesador
- Aunque es un detalle no menos importante el poder lograr que una herramienta enfocada en ATMs, implemente estos controles o verificaciones de bajo nivel con el mundo de ATMs, modelos, versiones, procesadores, versiones de firmware, versiones de intel AMT vPro es una complejidad grande actualmente en la siguiente versión soportamos todos los procesadores de los siguientes fabricantes.
- NCR
- DN
- Hyosung
- Cashway
- GRG
Para los clientes que tengan ATX vendrá en la actualización del producto, como un nuevo modulo.
Para los que quieran una mayor información pueden contactar a informacion@cyttek.com