¿Qué es el RAM Scraping?
RAM Scraping es una técnica utilizada por cierto tipo de malware que permite leer directamente de la memoria principal, consiguiendo así acceso a información potencialmente sensible. Esta técnica es actualmente empleada para realizar ataques contra los conocidos como TPV (Terminal Punto de Venta) y tiene como objetivo el robo de información de las tarjetas de crédito asociadas a las ventas que gestiona dicho TPV.
Desde las primeras detecciones en 2009, el número de ataques de este tipo ha aumentando notablemente, siendo los Estados Unidos el país que presenta el mayor número de afectados. Quizás los casos más llamativos sean los ocurridos entre 2013 y 2014 sobre las conocidas cadenas de venta norteamericanas ‘Home Depot‘ y ‘Target‘, de cuyos sistemas se estima que se extrajeron alrededor de 150 millones de números de tarjeta en total.
En este punto, cabe destacar que las tarjetas de crédito pueden usar distintas tecnologías como la banda magnética (habitual en EEUU) o los circuitos integrados (usada en el resto del mundo) cuyo diseño hace que sean más seguras que sus predecesoras de banda magnética. No obstante, todas ellas son susceptibles de ser comprometidas mediante técnicas de RAM scraping.
Lógicamente este tipo de ataques requieren que el malware en cuestión haya sido instalado en el TPV, bien sea accediendo físicamente al mismo o a través de la misma red de la empresa, como ocurrió en el ataque a la cadena Target. En aquel caso se cree que los atacantes comprometieron un servidor web a través del cual consiguieron llegar a desplegar una versión de BlackPOS (un malware especialmente diseñado para TPV) en los terminales.
(Imagen de http://securityintelligence.com/target-breach-protect-against-similar-attacks-retailers/)
¿Cómo funciona el RAM Scraping?
Los TPV son, en esencia, ordenadores que permiten registrar y tramitar las ventas de un comercio. Cuando un cliente realiza un pago con la tarjeta de crédito, este introduce la tarjeta y el código PIN en el lector. El lector lee y envía los datos al servicio back-end del TPV, el cual se encarga de cifrarlos, almacenarlos y transmitirlos al sistema de pago.
Como hemos comentado los datos leídos de la tarjeta se almacenan y transmiten cifrados pero ocurre que, antes de ser cifrados, éstos se encuentran almacenados en claro en la memoria principal. Así pues, un software malicioso instalado en el TPV puede hacer uso de técnicas de RAM scraping para leer esta valiosa información.
El funcionamiento básico de este tipo de malware se resume en tres etapas:
1.– Identificando el proceso
En la primera de ellas el malware monitoriza los procesos en ejecución, identificando aquellos relacionados a los servicios ofrecidos por el TPV (pos.exe, poswin32.exe, etc.) Una vez localizado el proceso de interés, el malware procede a leer su memoria, por ejemplo a través de llamadas a ReadProcessMemory de la API de Windows, y a volcarla en un buffer.
2.– Lectura de información
A continuación, operando sobre el buffer, se pueden aplicar expresiones regulares para identificar cadenas que correspondan a números de tarjeta. En este punto, también puede ser interesante hacer uso del algoritmo de Luhn para validar números de tarjeta, aunque computacionalmente puede resultar más costoso. La información obtenida en este punto es volcada en un fichero para su posterior transmisión.
(Imagen de http://h30499.www3.hp.com/t5/image/serverpage/image-id/36567i7F4F202C2E835DCE/image-size/original?v=mpbl-1&px=-1)
3.– Exfiltrar los datos robados
Por último, el atacante ha de lograr acceso al fichero que contiene los datos robados. Esto puede hacerse accediendo físicamente al TPV (lo cual no es muy escalable) o hacer uso de la conexión de red del TPV para enviar los datos hacía un servidor controlado por el atacante. Una vez los datos están en poder del atacante, este puede intentar hacer uso directo de ellos o, como es habitual, revenderlos a mafias que los compran al por mayor.
Para obtener más información sobre este tipo de ataques, se puede leer un informe completo en el siguiente enlace: http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp-pos-ram-scraper-malware.pdf
(La imagen del TPV está obtenida de http://www.harbortouchs.com/)