Continuando con la creación de información y documentación propia, este post queremos detallar por encima los vectores conocidos de ataques de ATMs y desgranar un poco la información de múltiples posibilidades de ataques sobre ese vector.
Este es un mapa muy práctico desarrollado por nosotros donde excluimos los ataques como gas, explosiones y arrancado del piso de ATMs, y nos centraremos en ataques que pueden sufrir los ATMs de forma más técnica, o que el atacante requiere cierta especialización de algún tipo técnica o colusión con algún especialista tecnico.
Después de muchas consultas de qué tipos de ataques pueden afectar a un ATM, pues hemos echo este post para explicarlos en detalle.
La diferencia entre el pasivo y el activo es que el blackbox pasivo es un simple sniffer para atrapar tarjetas y el activo es un emulador de mensajería (ANDC; DDC; NDC, etc..) , esto es posible siempre y cuando no exista cifrado de red o no se filtre los certificados para evitar poner deep packet inspections o ssltrips o cosas de ese estilo
Luego las actualizaciones pues que desde un servidor de envío de parches no puedas distribuir software firmado o permitido casos como han existido y existiran que se pueda acceder a la misma red a distribuir actualizaciones o mensajes de autorización al ATM
También dentro de estos ataques entran los ataques a los servidores como Base24 o BPC o NCR authentic que mediante el uso de técnicas de phishing o 0day´s el atacante mediante APTs consigue llegar hasta las consolas o el propio servidor y emitir instrucciones de dispensado haciendo creer al atm que son instrucciones autorizadas.
Bueno cuando hablamos de XFS interno es la utilización del XFS del fabricante o la importación de uno sobre un disco permitido sea el mismo de la entidad financiera o no.
Aunque en este caso hay controles obvios como cifrado de disco, por ejemplo o desactivar auto play, en toda la industria por ejemplo no existe control de instrucciones XFS cada banco se tiene que desarrollar las suyas y no existe sandboxing de ciertas DLLs y los fabricantes que ofrecen el servicio no tienen ni idea qué DLLs meter en un sandbox, entonces se vuelve un problema que escala fácilmente ya que cada semana pueden salir vulnerabilidades de windows pero no cada semana se parchean los atms algún exploit o vulnerabilidad siempre se termina pasando por alto.
Bueno en este caso hay también otros múltiples sub-vectores que hemos resumido como Exploits, falta de control de ACLs , por ejemplo malware en varios lenguajes que las ACLs no protegen o persistencia o borrado de información para evitar ser detectados, exploits que aprovechan faltas de parches, funciones expuestas , un difícil sin fin de controles a nivel de S.O. que estar pendiente .
Un XFS externo es la utilización de un software XFS que no esté corriendo sobre el disco original permitido, sea un mini CPU, un sticker de intel, una USB o otro disco habilitado para eso
Contraseña por Defecto o filtración de contraseña sin gestión remota, teniendo ese tipo de accesos pues podemos modificar arranques para cargar nuestro CD, HDD o nuestra propia USB (solo aplica para ATM que el nivel de cifrado del dispensador sea bajo)
- No configurar o dejar mal configurado Intel AMT (para los que tienen esa tecnología): si no esta bien configurado desde Intel AMT el atacante puede remotamente acceder y re-configurar la selección de arranque
- Interceptación del cable USB del dispensador (y bajo nivel de seguridad de comunicaciones del dispensador): básicamente por aqui tienes varios posibles, dependiendo del modelo del ATM y formato del ataque:
Algunos formatos puede ser:
- Endoscopio acceso a insertar un cable de usb y poner tu equipo afuera de la boveda (sobre esta modalidad dependera del dispensador y versión de seguridad habilitada)
- Poner el blackbox en la parte superior y accionarlo de forma remota con algun celular o comunciación remota o de forma automatica extrayendo el cable de usb del dispensador y conectandolo a tu equipo con acceso a la fascia superior
A un mix de Ataques XFS lo llamamos a los controles que faltan implementar para complementar las capas de seguridad para asegurarnos que las funciones o poco controles que se tienen actualmente no puedan ser vulnerados, como hemos explicado anteriormente ningún control por software es infalible más tarde o temprano puede caer sea por alguna filtración interna o por colusión entre un empleado de servicios y un externo.
También siempre hay que tener controles sobre los controles de seguridad de software, no existe ningún software invulnerable.
Bueno en cuanto a los ataques físicos, está bastante claro tenemos tambien un post sobre skimmers ( https://blog.cyttek.com/2018/09/05/caracterizacion-y-deteccion-de-skimmers/) en este caso solo nos falto skimmers por soldadura es una modalidad que se aprovechan de que cierta información del card reader se envía sin cifrar a la CPU, por lo tanto el skimmer es interno y requiere de apertura de fascia superior.
Hay que decir que en cada vector nombrado pues hay muchísimas variantes que dependen de versiones de Hardware y firmware, tipos de software XFS, malas implementaciones , falta de controles, puff un montón de variables y detalles que se van descubriendo.
Ahora con el incremento de seguridad que está sufriendo la industria con mejores software, implementación de tecnologías nuevas de hardware y mejores productos de seguridad de software , cambios de sistemas operativos, funciones como UEFI, TPM, cada vez más los vectores de ataques se deben mover hacia :
- Utilización de información de algún insider para facilitar la inserción
- Backdoors en software y hardware (puede ser por fabricante o por algún insider)
- Fallas en las comunicaciones de perimetrales
- Falencias criptográficas o de autentificación
Está claro siempre existirá los rezagados que no tienen cifrado de disco o que no usan los últimos niveles de seguridad de comunicación entre perimetrales, pero a ritmo que vayan sufriendo ataques el negocio empujará a estar más seguros