Por el bien del dinero: búsqueda y explotación de vulnerabilidades en terminales de pago móviles



Los pagos con tarjeta son cada vez más populares. Los terminales de pago móvil (terminales mPOS) contribuyen al desarrollo de esta tendencia, reduciendo las barreras de entrada al mercado de pagos con tarjeta para pequeñas empresas y empresarios privados. Además, bajo ciertas condiciones, las operaciones pueden llevarse a cabo en muchos países (incluida Rusia) utilizando la banda magnética. Cada nueva ronda de progreso tecnológico amenaza el ecosistema de pagos. ¿Qué problemas de seguridad pueden facilitar el acceso al mercado de pagos con tarjeta? ¿Y qué estamos arriesgando al seguir confiando en las tecnologías de tarjetas antiguas, en particular en la banda magnética?

En los últimos años, el número de operaciones realizadas con terminales mPOS ha aumentado significativamente. La intensa competencia entre los proveedores de mPOS ha facilitado enormemente la obtención de dicho terminal de pago. Firmar un contrato lleva menos de cinco minutos, y los terminales mPOS en sí mismos a menudo se proporcionan de forma gratuita. Ahora se pueden ver en todas partes. Al igual que los terminales POS normales, son el enlace final en la infraestructura de pago. Esto los hace interesantes y fácilmente accesibles para los atacantes.

Campo de estudio


Evaluamos los productos de los principales proveedores de terminales mPOS: PayPal, Square, iZettle y SumUp. Algunos de ellos brindan servicios en varias regiones del mundo. Intentamos obtener acceso a los servicios en diferentes regiones donde era posible, porque el proceso de pago, las aplicaciones y los dispositivos, así como la configuración de seguridad, difieren según la ubicación.

El proveedorFabricanteTerminalRegión
SquareSquareTerminal sin contacto
tarjetas y tarjetas con el chip cuadrado (S8)
Los eeuu
SquareSquareTerminal para tarjetas magneticas
Cuadrado (S4)
Los eeuu
SquareSquareTerminal para tarjetas sin contacto y tarjetas con chip cuadrado (S8)Europa
SquareSquareTerminal de tarjeta magnética cuadrada (S4)Europa
SquareSistemas MiuraMiura M010Los eeuu
Resumen(no público)AIR1 E001Europa
iZettleDatacsYRWCRONEEuropa
PaypalSistemas MiuraMiura M010Europa

Fabricantes y proveedores de terminales mPOS




terminales mPOS

Realizamos un análisis de seguridad de dispositivos en cinco categorías:

  • comunicación entre el teléfono y el servidor del sistema de pago;
  • comunicación entre el teléfono y el terminal mPOS;
  • mecanismos de protección física del terminal mPOS;
  • aplicación móvil
  • Factores adicionales que afectan la seguridad, en particular la verificación durante el registro.




Las principales áreas de investigación.

Proceso de pago


Estudiamos a fondo los vectores de ataque y los problemas de seguridad del pago con tarjeta. Las vulnerabilidades descubiertas por nosotros ponen en peligro la funcionalidad principal del terminal mPOS.

La principal diferencia entre mPOS y los terminales POS convencionales es que el vendedor no está conectado directamente con el banco adquirente. En cambio, los proveedores de mPOS actúan como agregadores de pagos, que cobran una tarifa de transacción. Dichos servicios de pago no siempre pueden garantizar el nivel de seguridad proporcionado por el banco adquirente. Los proveedores de MPOS minimizan los riesgos de seguridad a su manera, a menudo transfiriendo la responsabilidad por fraude al banco adquirente. Es importante comprender que tales agregadores de pagos son en realidad vendedores que interactúan con el banco adquirente.



El proceso de pago a través del terminal mPOS

Riesgos de pago con tarjeta


Existen varios métodos de pago con tarjeta. Dependen del sistema de pago, emisor y país de emisión. Durante la transacción, la tarjeta transmite una lista de métodos de verificación de titulares de tarjeta (CVM) admitidos, que describe los métodos admitidos y su prioridad. CVM también regula lo que debería suceder si el método seleccionado no funciona. El terminal almacena el archivo de configuración, que también describe los métodos de verificación admitidos. El terminal compara estos dos archivos e intenta llevar a cabo la transacción utilizando el método de primera prioridad. El método de prioridad debe proporcionar un alto grado de garantía de que el titular de la tarjeta estuvo presente durante la operación.

Algunos tipos de pagos son obviamente más seguros que otros. El pago con tarjeta con chip e ingresando un código PIN se considera el método más seguro, ya que ofrece un alto grado de garantía de que la operación ha sido aprobada por el titular de la tarjeta. La banda magnética se considera una tecnología menos segura, ya que un atacante puede clonar fácilmente la banda magnética y los datos de Track2 almacenados en ella y falsificar la firma del titular de la tarjeta. Las operaciones realizadas con la banda magnética no dan confianza de que el titular de la tarjeta estuvo realmente presente durante la transacción. A diferencia de las transacciones con tarjeta que admiten el estándar EMV, las transacciones que utilizan la banda magnética se realizan sin un criptograma. Esto significa que tales operaciones no aseguran la integridad y autenticidad de la transacción durante su ejecución.

Adoptando el estándar EMV


Cada vez se realizan más pagos en el mundo de acuerdo con el estándar EMV (Europay, Mastercard, Visa), es decir, utilizando tarjetas con chip. Sin embargo, la adopción del estándar es más lenta en algunas regiones que en otras. En los Estados Unidos, las transacciones EMV representan menos de la mitad de todas las transacciones . La mayoría de las operaciones todavía se llevan a cabo utilizando una banda magnética. En Europa, alrededor del 90% de todas las operaciones se realizan de acuerdo con el estándar EMV .

Resultados de la investigación


Manipular el dispositivo: enviar comandos arbitrarios


Un atacante puede conectarse al dispositivo a través de Bluetooth y realizar operaciones arbitrarias. Para hacer esto, necesita información sobre los servicios Bluetooth que se ejecutan en el dispositivo, así como las características y funciones correspondientes. Esta información se puede obtener mediante ingeniería inversa antes del ataque. Un atacante solo necesita acceso a un terminal mPOS, un teléfono que admita el registro de eventos de la interfaz del controlador del host (HCI) y una aplicación móvil. Mediante el registro de eventos HCI, el atacante intentará obtener información sobre las funciones principales del terminal mPOS. Para hacer esto, llevará a cabo operaciones de prueba utilizando diferentes métodos de pago y comparando los resultados. Cuando se recibe la información necesaria, el atacante que usa Wireshark analizará la comunicación entre el teléfono y el terminal mPOS. Esta información, así como los datos de la aplicación móvil, le permitirán comparar funciones con sus comandos e identificadores. La Figura 5 muestra el mensaje "Insertar (deslizar) la tarjeta" en la pantalla del terminal mPOS.



El mensaje "Insertar (deslizar) tarjeta" enviado a la pantalla

Si la tarjeta no se inserta correctamente, aparece el mensaje de error "Tome la tarjeta" en la pantalla. En el registro de HCI, vemos qué UUID es responsable de mostrar el texto y un ejemplo de los datos que se envían.



El mensaje "Recoja la tarjeta" en la pantalla del terminal mPOS



El primer paquete de Bluetooth es responsable de enviar el mensaje "Recoja la tarjeta"



El segundo paquete Bluetooth es responsable de enviar el mensaje "Recoja la tarjeta" (el mensaje se divide en dos paquetes debido al pequeño tamaño máximo de un paquete Bluetooth de baja energía).

La siguiente figura muestra que el valor enviado al terminal mPOS consta de cinco partes. Incluye un prefijo que contiene el identificador del comando, el valor del contador de los comandos enviados y el tamaño de la carga útil, el texto principal en forma de caracteres ASCII, así como el postfix, el valor de la suma de verificación y el byte final.



Elementos de los dos paquetes responsables de enviar el mensaje "Recoja la tarjeta"

En el siguiente ejemplo, el terminal usa Bluetooth Classic para comunicarse con el teléfono. Vemos el mensaje "Insertar (deslizar) la tarjeta" enviado a la pantalla del terminal.



El mensaje "Insertar (deslizar) la tarjeta" en la pantalla del terminal mPOS



Paquete de Bluetooth (en la ventana de Wireshark), que se encarga de enviar el mensaje "Insertar (deslizar) la tarjeta" a la pantalla del terminal mPOS

La siguiente figura muestra que estos datos constan de tres partes: prefijo, mensaje y suma de verificación. El prefijo también contiene el contador, el ID del comando y el tamaño de la carga útil. El mensaje contiene el valor "Insertar (deslizar) tarjeta" en la codificación ASCII. La suma de verificación es el XOR de todos los bytes del mensaje.



Elementos del paquete responsable de enviar el mensaje "Insertar (deslizar) tarjeta"

Con esta información, puede crear un comando arbitrario y enviarlo a la pantalla del terminal mPOS. Tres de los dispositivos que probamos resultaron ser vulnerables a este vector de ataque.

El proveedorFabricanteLectorRegión
Resumen(no público)AIR1 E001Europa
iZettleDatacsYRWCRONEEuropa
SquareSquareCuadrado (S8)Los eeuu

Lista de terminales vulnerables al envío de comandos arbitrarios. Aunque el lector Square (S8) no tiene pantalla, un atacante puede enviar otros comandos arbitrarios.

Este vector de ataque se puede utilizar junto con la explotación de otras vulnerabilidades para ofrecer al cliente tipos de operaciones menos seguras, como la banda magnética. Este escenario se describe en las Figuras 14-16. Además, un atacante puede enviar un mensaje de "Pago rechazado" para obligar al titular de la tarjeta a realizar varias transacciones.



El titular de la tarjeta está intentando insertar una tarjeta



El mensaje "Dibuje una tarjeta" enviado a la pantalla del terminal obliga al titular de la tarjeta a usar la banda magnética



La operación fue exitosa: para la operación que utiliza la banda magnética, debe dejar una firma.

Cantidad falsa


Existen diferentes formas de interceptar el tráfico entre el terminal mPOS y el servidor del sistema de pago. Ya hemos descrito uno de ellos: grabar eventos de HCI en un teléfono móvil y analizar los resultados. Para hacer esto, debe habilitar el desarrollador (Modo desarrollador de Android). Un atacante puede tomar otras rutas, por ejemplo, interceptando el tráfico HTTPS entre una aplicación móvil y un servidor del sistema de pago. Esto es posible porque en la mayoría de los casos el servidor del sistema de pago genera comandos y los envía al terminal mPOS. Para proteger la aplicación móvil de la intercepción de HTTPS, todos los proveedores de los terminales probados por nosotros usan anclaje SSL.

La siguiente figura muestra un ejemplo de un pago inicializado interceptado por dos métodos diferentes. Pudimos interceptar el tráfico HTTPS usando el ataque man-in-the-middle, y activamos el modo de depuración. El monto de la transacción se da sin cifrar. El valor 0100 corresponde a £ 1.00.



Pago inicializado utilizando el terminal mPOS

Habiendo interceptado el tráfico HTTPS, podemos cambiar el monto de la transacción. Entonces necesita recalcular la suma de verificación. Después de eso, podemos enviar el valor modificado de la cantidad al servidor del sistema de pago para confirmar la transacción. Encontramos cinco terminales que son vulnerables a la modificación de la cantidad en las operaciones de banda magnética.

El proveedorFabricanteLectorRegión
ResumenAIR1 E001Europa
iZettleDatacsYRWCRONEEuropa
SquareMiuraMiura M010Los eeuu
MiuraMiura M010Los eeuu
Paypal
SquareSquareSquareEstados Unidos / Europa
Lector de banda magnética (S4)

terminales mPOS vulnerables a la falsificación de la cantidad

Un vendedor sin escrúpulos puede engañar al titular de la tarjeta para que confirme una transacción por un monto mucho mayor. Durante la operación, el vendedor muestra una cantidad en la pantalla del lector, pero al mismo tiempo, se envía una cantidad mayor al proveedor del terminal mPOS para su confirmación. Este ataque se muestra en la figura a continuación.



Izquierda: la cantidad enviada al servidor del sistema de pago (£ 1.23). Derecha: la cantidad que ve el titular de la tarjeta (1 £)

Esta vulnerabilidad afecta a los terminales que admiten operaciones de banda magnética. Durante las operaciones, el terminal solo envía datos cifrados de Track2; La operación en sí no está certificada. Este vector de ataque no funcionará si la operación se lleva a cabo de acuerdo con el estándar EMV, porque en tales operaciones la información sobre la cantidad se almacena dentro del criptograma. Los pagos sin contacto PayPass y payWave que admiten modos heredados (PayPass MAGSTRIPE y PayWave MSD) no proporcionan este nivel de protección, ya que la información de la cantidad tampoco está protegida por un criptograma.

Para comprender la magnitud del problema, es suficiente recordar que menos del 50% de las transacciones en los Estados Unidos se realizan de acuerdo con el estándar EMV. Además, los límites para una operación con el uso de la banda magnética verificada por nuestros proveedores de servicios en Europa y EE. UU. Son increíblemente altos y ascienden a € 50,000 y $ 50,000, respectivamente.

Este ataque puede prevenirse mediante el uso del control criptográfico de la integridad de los campos de cantidad y moneda y comparando la cantidad y la moneda de la operación en el lector con la cantidad confirmada por el proveedor de servicios. Es importante tener en cuenta que el estándar PCI DSS (versión actual 3.2.1), que regula el almacenamiento, el procesamiento y la transmisión de datos de la tarjeta, no requiere tales controles en el caso de operaciones que utilizan la banda magnética. Una operación solo requiere la transferencia de datos Track2.

Ejecución remota de código


Dos de los terminales que probamos resultaron ser vulnerables a la ejecución remota de código. La explotación de esta vulnerabilidad proporciona a un atacante acceso completo al sistema operativo de la terminal. Después de que el atacante obtenga acceso completo al sistema operativo, podrá interceptar los datos de Track2 antes del cifrado o habilitar el modo no cifrado (para enviar un comando) en el teclado del terminal para interceptar el código PIN.

El proveedorFabricanteLectorRegión
SquareMiuraMiura M010Los eeuu
PaypalMiuraMiura M010Los eeuu

Lista de terminales vulnerables a la ejecución remota de código



Video de Nyan Cat en la pantalla del terminal Miura M010. La ejecución remota de código le da al atacante acceso completo al sistema operativo de la terminal

Protección física


Los mecanismos de seguridad física de la mayoría de los terminales mPOS son bastante confiables. El lector de tarjetas magnéticas Square (S4) no garantiza el nivel de seguridad y la sofisticación tecnológica característica de los lectores de tarjetas chip y sin contacto. Sin embargo, este debería ser un requisito estándar del dispositivo, que se proporciona al vendedor de forma gratuita. Los terminales restantes proporcionan el nivel adecuado de protección física, mecanismos de soporte para evitar la manipulación y otras medidas para evitar la piratería de hardware.

Mecanismos antisabotaje


Los sistemas antimanipulación ayudan a evitar la apertura del terminal con un taladro y otras herramientas. Cuando intenta abrir el circuito se rompe, y el dispositivo deja de funcionar. Además, la mayoría de los lectores funcionan según estándares propietarios. Sin acceso a la documentación del desarrollador, es imposible obtener información valiosa abriendo físicamente el dispositivo.



Unidad interior IZettle YRWCRONE



Sistema de detección de sabotaje IZettle YRWCRONE

Conclusión


Descubrimos que más de la mitad de los terminales mPOS son vulnerables a los ataques, mientras que, en general, todos los proveedores de terminales mPOS que analizamos resultaron ser vulnerables. Hemos registrado numerosos problemas de seguridad graves, en particular, vulnerabilidades para ejecutar comandos arbitrarios, sumas falsas y ejecutar código remoto.
Los mecanismos de protección de terminales de hardware en la mayoría de los casos son confiables y desarrollados. Sin embargo, otros aspectos, como los relacionados con la aplicación móvil y el procedimiento de registro, están mucho menos protegidos.

Los desarrolladores de terminales mPOS enfatizan la facilidad de registro y uso de dispositivos. Estos son elementos clave del modelo de negocio, pero no tiene en cuenta que la reducción de las barreras de entrada al mercado de pagos con tarjeta debe ir acompañada de un aumento significativo de la seguridad. No hay duda de que el fraude del vendedor seguirá siendo un problema grave para los proveedores de terminales mPOS. Es necesario desarrollar un enfoque serio de la seguridad, incluida la verificación durante el registro y el monitoreo estricto de los pagos.



Autores : Lee-Ann Galloway, Timur Yunusov, Artem Ivachev, Mark Kearney, Alexey Stennikov | Tecnologías positivas

Source: https://habr.com/ru/post/436952/


All Articles