Documente Academic
Documente Profesional
Documente Cultură
Todos los cajeros requieren comunicarse con el Core Network para verificar
transacciones (para aprobar, Denegar, emitir errores o enviar mensajes
especficos)
Por facilidad y gran adaptacin del mercado de cajeros a Windows como sistema
operativo se utiliza una comunicacin TCP/IP para la comunicacin fiable con el
Core network desde el ATM
El protocolo de comunicacin est basado en la Norma ISO 8583 (ISO 8583
Financial transaction card originated messages)
La informacin del protocolo se transmite en TEXTO PLANO! (hay algunas
soluciones para esto pero como todo es un negocio, por defecto no viene cifrado)
Generalmente, al estar en Windows los cajeros, las recomendaciones que siguen
la industria de cajeros que siempre escucharan son las siguientes:
Cifrado de comunicaciones (se suele usar VPN por que la comunicacin del
propio software no se permite cifrado por iniciativa de interoperabilidad)
Cifrado de disco
Proteccin de BIOS
Configuracin de nuevos componentes (verificar que se puedan poner en
produccin y emitan errores si es necesario en el Journal Virtual)
Pasar los estndares Payment Card Industry
Compra de soluciones Antivirus, Antimalware, listas blancas
Gestin de parches (depende del contrato con el fabricante generalmente suelen
ser a cada 3 meses los ms precavidos y algunos fabricantes no actualizan
parches cruciales como Java... para qu, si java todos sabemos con no tiene fallas
de seguridad ;) )
Correlacin de eventos (bsicamente esto se entiende como extraer un archivo
que se llama Journal donde estn los registros de todo lo que ocurre a nivel de
XFS en el ATM), pero tambin se implementa en algunos casos a nivel de
Windows
Polticas de seguridad del sistema operativo Windows
o Gestin de contraseas (lo administra el dueo del ATM)
o Restriccin de accesos (lo administra el dueo del ATM)
La foto anterior detalla un poco la red bancaria desde Visa hasta el punto de
atencin al cliente en este caso el ATM (depende del banco pueden implementar
ms capas, conectores u otros servicios secundarios)
Bueno hay una larga lista de recomendaciones en promedio se pueden dar ms
de 300 recomendaciones desde el proceso de compra, manufactura,
implementacin mantenimiento etc.. No vamos a entrar en tantos detalles.
Aqu lo importante es la proliferacin de malware para cajeros automticos que
segn los ltimos anlisis de Kaspersky, son el TOP5 objetivos de ciber ataques y
las faltas de prcticas correctas dejando todo a empresas de seguridad como
antivirus y soluciones. La verdad que como muchos conocemos las Big
Enterprises con productos de seguridad hacen su mejor esfuerzo pero en general
utilizan soluciones reactivas (no tienen muchos mtodos pro-activos) y al final
llega un ruso (quien dice ruso dice ucraniano, chino o mafia... bueno ya me
entendis) y te parte en dos la red con un buen 0day. Se puede ver un ejemplo de
Esta es una slide que suelo utilizar para explicar el tipo de atacante que ha
penetrado en la institucin o la red y que conocimientos tericamente requiere
para llevar a cabo los ataques.
NOTAS:
Generalmente las bandas menos avanzadas tecnolgicamente utilizaran
skimmers que se implementan en la carcasa del ATM y fcilmente adquiribles por
internet
Luego tienes las partes modificadas (que se est poniendo de moda) donde
encuentran internamente (tienen acceso fsico) en el ATM componentes de
comunicacin GSM (primeras versiones de malware utilizaban mensajes de
celular para enviar ordenes mediante usb a los cajeros o hardware que se
comunica
mediante
bluetooth
para
enviar
la
informacin
Luego vienen los ms avanzados que ya te comprometen una red bancaria o la
gran mayora de ATMs y que como veremos interactan con el XFS directamente
aprovechando vulnerabilidades del Windows para escalar los privilegios
necesarios
si
as
fuese
necesario
Tambin encuentras grupos que no solo involucran conocimiento de desarrollo
de software sino tambin de hardware para clonacin de tarjetas chip EMV
- TMPtool.exe
NCR:
- Ulmntapp.exe
Wincor Nixdorf:
- FWMAIN32.exe
- Cfgmanager.exe
En este segundo layer (API XFS) podemos encontrar los permisos y conectores
para interactuar con el XFS es la API que permite que los programadores
desarrollen de la forma correcta y autorizada.
Podemos encontrar archivos como:
NCR:
UsbEPP2.dll
NCRUsb80.dll
NCRDisp.dll
Program Files/Common files/ncr/ ul*.dll
Diebold:
Aqu encontramos todas las libreras de EmPower para interaccin con cada
dispositivo son cientos entonces describirlas es un poco largo pero dentro de la
carpeta diebold en el directorio C:/ .
En el tercer layer (XFS MANAGER) se encuentra el core de la comunicacin y los
estndares que todo proveedor debe de seguir de acuerdo al CEN de estndares
europeo.
Su ltima versin 3.20 hay mtodos como:
WFS_CMD_CIM_CASH_IN
WFS_CMD_CIM_CASH_IN_END
WFS_CMD_CIM_CASH_IN_ROLLBACK
WFS_CMD_CIM_RETRACT
WFS_CMD_CIM_SET_CASH_IN_UNIT_INFO
WFS_CMD_CIM_END_EXCHANGE
WFS_CMD_CIM_RESET
WFS_CMD_CIM_REPLENISH
WFS_CMD_CIM_CASH_UNIT_COUNT
Bueno que para los que programen en C tiene todo inclusive el cdigo fuente. Es
bastante entretenido, mas de 70 pdf con todas las especificaciones (ah esta la
base de interaccin de malware SUCESSFULL)
En este ultimo layer (Sistema operativo) podemos encontrar las libreras
necesarias y drivers para operar la intercomunicacin con los perimetrales
actualmente lo ms comn es que todo est conectado por USB, aunque en el
Como podemos ver mediante aDeviceimageUSB (de la primera foto) enva las
instrucciones de kernel mode de dispensado de dinero una vez que ha verificado
que la tarjeta existe, el cliente insert el Pin correcto, luego haba disposicin del
dinero y la transaccin fue autorizada. Estos procesos de verificacin no se toman
en NCRDisp
Pero el deviceIOControl hace el release de la informacin para que lo opere el
board de interaccin que se encuentra dentro de la caja fuerte del ATM que
mueve los cabezales para la extraccin del dinero de las cajas de forma que el
cliente a seleccionado.
Que si esto mismo intentamos interactuar con esta instruccin por API
requeriremos la gua de desarrollo de NCR WOSA XFS (que por cierto se publico
en baidu) developer guide pero requerir de los accesos y permisos de APTRA o
poner a APTRA en modo silent debug, ms adelante profundizaremos en la
interaccin para evitar los controles.
En este otro ejemplo (de get rick or die trying) este mismo proceso que hemos
visto en NCR lo identificamos en un Wincor Nixdorf en Windows 7. Entenderemos
cmo opera para efectuar las funciones de dispensado. En este ejemplo Wincor
hace uso de driver convencional usbio.sys que interacta mediante usb para
enviar las instrucciones al dispensador.