22 oct 2021

Nuevo método para inferir PINs de tarjetas de pago

Unos investigadores han ideado un experimento para reconstruir los PIN de las tarjetas de pago aunque el usuario cubra su mano al introducirlo.

La manera más estandarizada para retirar dinero es a través de un cajero automático (Automated Teller Machine o ATM en inglés). Se estima que en 2019, el Banco Central Europeo registró más de 11 mil millones de transacciones en los ATM europeos. Este tipo de máquinas dispone de un sistema de autenticación basado en un PIN proporcionado por el usuario, generalmente de 4 ó 5 dígitos. Identificar estos números resulta trivial para una cámara oculta colocada estratégicamente, por lo que normalmente cubrimos con las manos para camuflar las teclas que pulsamos.

Un grupo de investigadores de la Universidad de Padua (Italia) y de la Universidad Tecnológica de Delft (Países Bajos) han desarrollado un novedoso método para inferir el PIN de la tarjeta que introducen los usuarios. Dicho ataque permite reconstruir el 30% de los PIN de 5 dígitos y el 41% de los PIN de 4 dígitos utilizando un modelo de visión por computador basado en redes neuronales profundas.

Para reconstruir el escenario de este ataque tan peculiar, es imprescindible contar con una réplica del ATM objetivo ya que el algoritmo depende estrechamente de las dimensiones del pad numérico y el espaciado entre las teclas.

Entrenamiento

En este experimento, los investigadores recopilaron 5.800 vídeos de 58 personas, introduciendo PINs de 4 y 5 dígitos. Comprometer el ATM no es el objetivo de la investigación; si no más bien se trata de presentar una alternativa a los clásicos skimmers que ya hemos comentado en este blog.

De cara a la fase de grabación, existen tres posiciones especialmente favorables para colocar la cámara. Si se coloca en la esquina derecha del ATM y el usuario es diestro, será más fácil inferir el PIN. Lo mismo ocurre a la inversa. Por otra parte, si está centrada en la parte de arriba, no favorece especialmente a personas diestras o zurdas, lo cual complica la identificación de dígitos pero establece un escenario más genérico.

Mismo frame grabado desde los tres ángulos

El hardware utilizado para el entrenamiento consta de un servidor equipado con Intel Xeon E5-2670 y 128GB de RAM y 3 tarjetas gráficas Tesla K20m con 5GB de RAM cada una. Para implementar los modelos de machine learning, se ha empleado Keras 2.3.0-tf con Python 3.8.6. El equipo de investigación ha publicado el código empleado para este experimento.

Conclusiones y contramedidas

Este experimento sirve como punto de partida para empezar a perfilar nuevos tipos de ataques que utilizan la capacidad predictiva de las redes neuronales, al mismo tiempo que pone de alerta una acción cotidiana como cubrir la mano al introducir el PIN de la tarjeta en un ATM.

Algunas de las contramedidas sugeridas incluyen emplear un PIN de 5 o más dígitos para dificultar la identificación de las pulsaciones de teclas, así como aumentar la cobertura de la mano. Utilizar un teclado virtual que disponga los dígitos de manera aleatoria sería bueno a nivel de seguridad, pero implicaría problemas extras de accesibilidad.

Fuente: Hispasec | BleepingComputer

Suscríbete a nuestro Boletín

1 comentario:

  1. Incluir una "tapa" movible/extensible en el cajero, que cubra por completo la mano: es una opción sencilla, barata para los bancos y creo que efectiva.

    ResponderBorrar

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!