Explorando la tarjeta Contactless

Con la reciente entrada en funcionamiento de la tarjeta contactless, como es habitual en el mundo de la tecnología, han surgido muchas dudas acerca de la seguridad de las mismas. Esta nueva tarjeta permite realizar pagos sin contacto, pero… ¿En qué consiste este método de pago?

ContactlessBásicamente el pago se realiza con sólo acercar la tarjeta al terminal. Estas tarjetas, que fueron anunciadas durante las olimpiadas de Londres 2012 por Visa (con Ussain Bolt como protagonista), vienen configuradas por defecto para que no sea necesario introducir el código PIN para pagar importes inferiores a 20€. Sin ninguna duda, estas tarjetas nos permiten pagar más rápido, pero tienen en su contra que en caso de robo, pueden realizarse pagos sin necesidad de conocer el código PIN.

Para la tranquilidad de todos, os queremos hacer saber que la cantidad mínima para introducir el PIN puede reducirse e incluso se puede desactivar. El objetivo de este artículo no es discutir cómo configurar la tarjeta contactless, eso lo dejamos a vuestra  elección.

Entonces… ¿Dónde está el problema?

Si sois aficionados al snowboard, esquí o DH y habéis alquilado alguna vez material, es probable que os hayan pedido una tarjeta de crédito para completar la ficha del alquiler. Con sólo introducir la tarjeta en un lector, automáticamente se rellena el nombre y número de tarjeta. Esto es posible porque los datos como nombre del titular, fecha de emisión, número de tarjeta o fecha de caducidad, pueden ser obtenidos mediante un lector de tarjetas inteligentes (como los que utilizamos para el DNI electrónico). Es decir, estos datos pueden ser leídos por cualquier persona ya que no vienen cifrados. Esto no suponía ningún problema de seguridad porque, en caso de robo, esta información ya venía impresa en la propia tarjeta.

Sin embargo, lo que hace diferente a la tarjeta contactless es que puede ser leída sin necesidad de mantener contacto con ella, gracias a la tecnología NFC. Seguro que a más de uno le ha venido a la cabeza que su teléfono móvil soporta esta tecnología. En efecto, cualquier persona que coloque su smartphone NFC cerca de nuestra tarjeta puede leer estos datos. Así de sencillo… Tened en cuenta que se puede establecer esta comunicación aunque la tarjeta este guardada en nuestra cartera.

¿Qué datos se pueden leer?

Los más interesantes son el número de tarjeta y la fecha de caducidad. También podemos obtener la fecha de expedición y certificados públicos. Los dos primeros os sonarán a muchos porque son datos habituales cuando realizamos compras por internet. De toda la información que viene impresa en la tarjeta, según el estándar de EMV (Book 3, Anexo A) el único dato que no puede obtenerse es el CVV/CVC, ese número de tres cifras que no debería estar en la parte trasera de vuestras tarjetas, ya que se supone que hay que aprenderlo y borrarlo. Sin embargo, aunque este estándar define que el titular de la tarjeta también puede ser leído, no en todas las tarjetas en las que hemos probado viene escrito. Entonces, no hay problema, ¿No?

¿Es necesario introducir el CVC y el nombre del titular para realizar compras online?

Depende de dónde compremos. En muchos sitios web es obligatorio introducir el CVC pero no es el caso de todos, por ejemplo, en Amazon. Aquí sólo es necesario el nombre del titular, el número de la tarjeta y la fecha de caducidad. Efectivamente, no es necesario el CVC. Aunque parezca mentira, esto quiere decir que alguien con un móvil NFC puede leer tu tarjeta y luego realizar una compra en Amazon.

Amazon1

El experimento

Para poder probar que todo esto es viable, hemos desarrollado una aplicación que es capaz de leer los datos de una tarjeta contactless (por supuesto nuestra) y luego hemos intentado realizar una compra en Amazon. Para ello hemos creado una nueva cuenta y hemos intentado añadir una tarjeta.

Como se puede observar en la imagen, los datos necesarios para añadir una nueva tarjeta a una cuenta son el número de la tarjeta (PAN), la fecha de vencimiento y el nombre del titular.

Como no hemos podido obtener el titular de esta tarjeta nos hemos inventado el nombre del titular de la tarjeta. Esto es un blog de seguridad así que hemos elegido un nombre acorde con el mismo: Bob Al Ice. Os dejamos unos pantallazos para que veáis vosotros mismos los resultados.

Efectivamente, el titular de la tarjeta no se comprueba en ningún momento, y la compra se realiza con total normalidad.
Amazon2Amazon3

Conclusión y posibles soluciones

Con más de tres años de experiencia en tecnología NFC somos muy conscientes de sus beneficios, así como de los aspectos que hay que pulir en esta aún incipiente tecnología. Este problema no es nuevo y lleva acompañando a las tarjetas de este tipo desde hace más de cinco años. Desde nuestro punto de vista, sería relativamente sencillo solucionar el problema, por ello planteamos dos soluciones en este post a la situación expuesta. Por un lado se puede plantear el cifrado de esta información, permitiendo que sólo dispositivos autorizados pudieran leerla. Por otro lado, está claro que hemos podido realizar la compra gracias a que el sistema online no ha aplicado todos los mecanismos de seguridad necesarios y es por ello que desde Aditium vemos indispensable en un mundo cada vez más tecnológico, que compañías de todo el mundo apliquen todos los mecanismos de seguridad a su alcance.

Os animamos a que probéis la aplicación y nos contéis si podéis leer los datos de la tarjeta y a qué entidad pertenece. La aplicación no solicita el permiso de internet ni almacena los datos, así que no tengáis miedo a probarla.

Aditium
Acerca de
Start-up que desarrolla soluciones profesionales basadas en el uso de smartphones y la tecnología NFC. Colaboradores habituales de S3lab y del Máster de Seguridad de la Universidad de Deusto.
Autores: Ibai Iturricha Martinez y Xabier Iván Losada
10 Comentarios en “Explorando la tarjeta Contactless
  1. S3lab Team S3lab Team dice:

    Como entendemos que habrá escépticos que argumenten la complicación de explotar este tipo de vulnerabilidad por la característica de “corto alcance” de estas tarjetas, queríamos añadir algo de información al respecto.

    Tras una búsqueda rápida en Internet, encontramos una prueba de concepto bastante interesante que muestra las posibilidades de ataque:
    Proof of Concept (PoC) – Leyendo NFC a 60cm de distancia
    http://terezapultarova.wordpress.com/2013/11/08/hacking-contactless-with-homemade-antennas-shortcomings-of-nfc/

    Este experimento rápido muestra la seriedad del asunto.

    • Desde luego lo que dices no es sólo posible, es mucho más sencillo. En esta PoC hace referencia a interceptar datos entre la tarjeta y TPV en el momento de realizar una compra. Para el experimento que presentamos sólo es necesario estar cerca de la tarjeta, por lo tanto te podrías utilizar esta antena en la puerta del metro o de algún lugar con mucho flujo de personas e ir recolectando tranquilamente los números de cuenta y la fecha de caducidad. Da miedito :O.

  2. Juan dice:

    Excelente trabajo. Aunque hay dos escenarios que no funcionaría:

    1. Con un trozo de metal en la cartera.:)
    2. En el caso que tengas más de una tarjeta contactless ponerlas juntas, esto probablemente provocaría el fallo en el anticollision de acuerdo a ISO14443-3. Aunque esto no es 100% fiable, pero ya es una realidad hoy en día. En mi cartera tengo tantas tarjetas contactless que necesito sacarlas individualmente para poder hacer la lectura.–>solución:implementación en un móvil NFC con mi app que elija la tarjeta que quiero utilizar. Me resuelves un problema.

  3. Ibai dice:

    Gracias por tu aporte Juan 😉

    1. En efecto, una jaula de Farady (a.k.a. trozo de metal) bloquearía la señal y nadie podría leer la tarjeta.

    2. También correcto 😉 Pero como dices, no es 100% efectivo, ya que el lector (móvil NFC) selecciona una tarjeta con la que va a comunicarse (como dices, mediante el mecanismo de anticolisión). Esa tarjeta puede ser la de crédito y entonces estás en las mismas. Pero sí que es verdad que limita mucho el ataque. La solución que comentas en inviable, ya que la anticolisión se produce en la capa 3; y en esa capa todavía no sabes con que tipo de tarjeta te estas comunicando. Con lo cual, no puedes establecer ningún tipo de lógica de filtrado. Resumiendo, la selección de tag cuando hay muchos en el campo, no se puede hacer de forma inteligente/automática. Con un lector industrial puedes hacer alguna ‘trampa’ y solventar el problema, pero en ningún caso con un móvil, al menos sin controlar el driver que gestiona la comunicación NFC. Además, en Android el driver no es opensource 🙁

    Espero que te sirva la respuesta 😉

  4. patxi dice:

    En Kutxabank tienen la solución….desactivar la contacless

    • Carlos Laorden Carlos Laorden dice:

      Hola Patxi,

      En realidad la opción de desactivar el pago sin contacto, no desactiva el tag NFC, que es lo que contiene la información que se puede extraer, con lo que la única opción viable sería la comentada arriba. Te lo podrán explicar mejor los amigos de Aditium, pero lo que tenemos en las tarjetas es un tag pasivo, a la vista como un circuito, que al recibir corriente del elemento activo (como pueden ser el tpv, el móvil o la posible antena con la que realizar el ataque) devuelve la información que tiene almacenada, en este caso número de tarjeta, fecha de caducidad, etc. Como podrás intuir, esa “pasividad” imposibilita desactivarlo, al menos sin utilizar técnicas como las comentadas por Ibai.

      Lo que si se puede hacer desactivando o poniendo un PIN al sistema contactless es evitar que ante pérdida de la tarjeta puedan usarla para pagar en un comercio sin tu consentimiento.

      En cualquier caso hay que decir, que las entidades financieras suelen tener un compromiso importante con la seguridad de sus clientes, con lo que ante casos de fraude como el aquí comentado, buscan una solución inmediata.

      Un saludo,

      Carlos.

  5. Iskander Sanchez-Rola Iskander Sánchez-Rola dice:

    Como bien se esta comentado, una de la soluciones mas sencillas y efectivas al mismo tiempo, es la opción de una “cartera de Faraday”.
    Aunque parezca difícil conseguir una (dejando a un lado las homemade), por menos de 10 euros podemos conseguir una en Amazon.

  6. Anónimo dice:

    Lo mejor es poner la tarjeta cerca de una bombilla localizar el chip RFID y pasarle un taladro 😀

  7. Marcelo dice:

    Más que los aspectos tecnológicos, que sí son importantes, me indigna la sin verguenza de los bancos que han adoptado ese tipo de tarjetas, sin necesidad a mi juicio ya que las chipcard funcionan igual de bien, y por cojones nos abren un agujero de seguridad en nuestras vidas financieras. Así, si me roban la tarjeta y se dedican a realizar operaciones por valor menor de 20€ me lo iré tragando sin percatarme hasta que las pérdidas sean notables. A veces saco dinero una vez a la semana y ya ni lo miro. Y es que no es simplemente cambiar la tecnologia, es que cambian el equilibrio del acuerdo entre las partes. Por cierto, no me han dado nada que firmar diciendo que asumo ese tipo de pérdidas. Una vez más nos la meten doblada sin que nadie rechiste.

  8. Marcelo dice:

    Perdona, se me olvidó. ¿Hay alguna form ade anular el funcionamiento del contactless sin destruir la tarjeta?

2 Pings/Trackbacks para "Explorando la tarjeta Contactless"
  1. […] Como obtener los datos de las tarjetas bancarias con chip NFC y comprar en Amazon […]

  2. […] que sois gente curiosa y con inquietudes así que, sin más dilación os facilitamos el artículo original donde podréis encontrar nuestro experimento. ¡Esperamos que os […]

Deja un comentario

Tu dirección de correo electrónico no será publicada.