Un grupo de académicos de la ETH de Zúrich ha publicado una investigación en la que se detalla un ataque bastante novedoso mediante el cual es posible usar una tarjeta contactless Mastercard como si fuera una tarjeta VISA y sin necesidad de conocer ni siquiera el PIN.
"Esto no es sólo una confusión de marcas de tarjetas, sino que tiene consecuencias críticas", dijeron los investigadores David Basin, Ralf Sasse y Jorge Toro. "Por ejemplo, los delincuentes pueden usarlo en combinación con el ataque anterior a Visa para también eludir el PIN de las tarjetas Mastercard. Las tarjetas de esta marca se presumían previamente protegidas por PIN".
Esta técnica se aprovecha de vulnerabilidades en el protocolo EMV (Europay, Mastercard, and Visa). Aunque se detallará en el 30º Simposio de Seguridad de USENIX, muy a alto nivel decir que el ataque se logra utilizando una aplicación de Android que implementa un ataque man-in-the-middle (MitM) sobre una arquitectura de relay, lo que permite que la aplicación no solo inicie mensajes entre los dos extremos: el terminal y el tarjeta, sino también interceptar y manipular las comunicaciones NFC (o Wi-Fi) para introducir maliciosamente una discrepancia entre la marca de la tarjeta y la red de pago.
Dicho de otra manera, si la tarjeta emitida es de marca Visa o Mastercard, entonces la solicitud de autorización necesaria para facilitar las transacciones EMV se enruta a la red de pago respectiva. El terminal de pago reconoce la marca mediante una combinación de lo que se llama un número de cuenta principal (PAN, también conocido como el número de tarjeta) y un identificador de aplicación (AID) que identifica de forma única el tipo de tarjeta (por ejemplo, Mastercard Maestro o Visa Electron), y posteriormente hace uso de este último para activar un kernel específico para la transacción.
Un Kernel EMV es un conjunto de funciones que proporciona toda la lógica de procesamiento y los datos necesarios para realizar una transacción EMV con o sin contacto.
El ataque llamado "card brand mixup", en español "confusión de marcas de tarjetas", aprovecha el hecho de que estos AID no están autenticados en el terminal de pago, lo que hace posible "engañarla" para que active un kernel defectuoso y, por ende, que el banco que procesa los pagos en nombre del comerciante acepte transacciones contactless con un PAN y un AID que indican diferentes marcas de tarjetas.
"El atacante realiza simultáneamente una transacción Visa con el terminal y una transacción Mastercard con la tarjeta", señalaron los investigadores.
Sin embargo, el ataque requiere que cumpla una serie de requisitos previos para tener éxito: se debe tener acceso a la tarjeta de la víctima, además de poder modificar los comandos del terminal y las respuestas de la tarjeta antes de entregarlos al destinatario correspondiente. Lo que no requiere es la necesidad de tener privilegios de root o explotar fallos en Android para usar la aplicación de prueba de concepto (PoC).
Pero los investigadores señalan que una segunda deficiencia en el protocolo EMV contactless podría permitir que un atacante "construya todas las respuestas necesarias especificadas por el protocolo Visa a partir de las obtenidas de una tarjeta que no sea Visa, incluidas las pruebas criptográficas necesarias para que el emisor de la tarjeta autorice la transacción..."
Ataques a Mastercard
Este ataque consiste principalmente en el reemplazo de los identificadores de aplicación (AID) legítimos de la tarjeta por Visa AID A0000000031010 para engañar al terminal y activar el kernel de Visa. El atacante realiza simultáneamente una transacción Visa con el terminal y una transacción Mastercard con la tarjeta. En la transacción de Visa, el atacante aplica el mencionado ataque a Visa.
Para que este ataque funcione, la solicitud de autorización del terminal debe llegar al banco emisor de la tarjeta, y para ello se deben cumplir varias condiciones, entre ellas:
- el terminal no se desconecta incluso si el número de tarjeta (PAN) y los AID indican diferentes marcas de tarjetas, y
- El adquirente del comerciante enruta la solicitud de autorización de transacción a una red de pago que puede procesar tarjetas Mastercard.
Usando la aplicación PoC para Android, los investigadores de ETH Zurich pudieron omitir la verificación del PIN para transacciones con tarjetas de crédito y débito Mastercard, incluidas dos tarjetas de débito Maestro y dos tarjetas de crédito Mastercard, todas emitidas por diferentes bancos, consiguiendo transacciones que superaron los 400 CHF.
Ataques a VISA
En esta ocasión el ataque consiste en una modificación de los Card Transaction Qualifiers (CTQ, un objeto de datos de la tarjeta), antes de entregarlo al terminal. La modificación indica al terminal que:
- No se requiere verificación de PIN, y
- el titular de la tarjeta se verificó en el dispositivo del consumidor (por ejemplo, un teléfono inteligente).
Probaron con éxito este ataque con tarjetas Visa Credit, Visa Debit, Visa Electron y V Pay. A continuación, se muestra una demostración en vídeo de una transacción de 200 CHF.
Contramedidas
En respuesta a esta investigación, Mastercard y VISA han agregado una serie de
contramedidas, incluida la obligación de las instituciones financieras
de incluir la AID en los datos de autorización, lo que permite a los
emisores de tarjetas comparar la AID con el PAN.
Además, la red
de pago ha implementado controles para otros puntos de datos presentes
en la solicitud de autorización que podrían usarse para identificar un
ataque de este tipo, rechazando así una transacción fraudulenta desde el
principio.
Fuentes:
Comentarios
Publicar un comentario