Análisis de vulnerabilidades en pagos a través de NFC (tarjetas y móviles) (página 2)
Enviado por Johnny
En suma, de cara al análisis que se va a realizar en el presente texto, se considerará NFC como una mezcla de tecnologías tipo RFID con interfaces de transmisión de datos sin hilos como Bluetooth®. Un sistema que, a través de un radioenlace en un rango de frecuencias determinado, establece una conexión limitada al entorno de los 10 centímetros, y que es implementable en dispositivos móviles. En las siguientes líneas, se procederá a exponer las características técnicas y los fundamentos de dicho sistema.
La tecnología NFC tiene una serie de idiosincrasias (introducidas de forma somera anteriormente) que la distinguen del resto de tecnologías de carácter similar. Sin embargo, los fundamentos físicos en los que se basa no son tan distintos de éstas: en esencia, NFC no es más que una particularización del sistema RFID para distancias cercanas.
RFID es una tecnología inalámbrica de intercambio de datos cuya particularidad fundamental es el uso de campos magnéticos y/o electromagnéticos28, tanto para el envío de información como para la alimentación del sistema.
Así, se tiene que a través de un campo magnético (o, mejor dicho, de la variación de un campo magnético) se genera corriente en una bobina implementada en un circuito que se encuentra sin alimentar, suministrando electricidad a sus componentes y haciendo funcionar el sistema. Este procedimiento, basado en los principios del fenómeno conocido como inducción electromagnética, sigue la ecuación enunciada en la Ley de Faraday29:
De esta manera, se puede obtener una corriente eléctrica en un circuito
modulando un campo magnético a su alrededor. En el caso en cuestión, en que se necesita una corriente continua para que el circuito trabaje, bastará con establecer un flujo magnético directamente dependiente del tiempo de la forma
???? = ????????, donde la intensidad del campo magnético, B, o la superficie, S, varíen
28 FRINKENZELLER, K. (2010), RFID Handbook (Third Edition), p. 6, Chichester: Wiley.
29 TIPLER, P., MOSCA, G. (2007), Física para la Ciencia y la Tecnología. Electricidad y magnetismo. Luz. Física moderna (vol. 2), p. 832-833, Barcelona: Reverté.
de forma lineal a lo largo del tiempo.
Supónganse dos entidades: la primera, denominada transpondedor, etiqueta o tag (que es el equivalente al circuito que se encuentra en las tarjetas bancarias NFC), se encarga, en esencia, de almacenar una información y obedecer unas órdenes muy básicas dictadas por la segunda entidad, denominada lector (asimilada en este texto al TPV, dado que el mismo está orientado eminentemente a funcionalidades financieras del sistema)30, encargada de operar hasta cierto punto sobre el transpondedor a través de las órdenes antes mencionadas31. Conviene destacar, llegados a este punto, que el sistema permite al lector tanto leer como escribir si está configurado para ello (el término "lector" se utiliza aquí como un mero formalismo), así como que es posible también una comunicación directa entre lectores. En la literatura al respecto32, se asimila al par de entidades lector – tarjeta las dupla de roles master – slave (maestro y esclavo) respectivamente, de igual manera que se hace con ciertos dispositivos electrónicos. Las razones de esta asignación son acordes a las funcionalidades que desempeña cada dispositivo: el lector (que la ISO/IEC 14443 denomina PCD al consignar el plano de las tarjetas de identificación) tiene el rol de "maestro": inicia y finaliza la conexión, le asigna los parámetros y alimenta a la tarjeta (también conocida como PICC en las mismas circunstancias anterioremente mencionadas), el "esclavo", que en general se limita a contestar los requerimientos del anterior, tomando un rol eminentemente pasivo. Por último, es posible iniciar una comunicación entre dos dispositivos lectores. Es el caso del pago por NFC a través de teléfonos móviles con funcionalidad NFC de serie, y el mecanismo es similar al anteriormente descrito, con la singularidad de que el dispositivo que actúa como transpondedor (el móvil) no precisa ser alimentado por el lector, ya que tiene alimentación propia.
30 Conviene destacar que muchos teléfonos inteligentes incluyen también esta funcionalidad de serie actualmente.
31 FRINKENZELLER, K. (óp. cit.), pp. 57-58.
32 NFC FORUM (2013), NFC Forum device requirements – High level conformance requirements (vers. 1.3), pp. 4-5
En esencia, el sistema RFID y por ende toda la funcionalidad NFC se resume en que a través de la inducción magnética generada por el lector (el cual debe estar necesariamente alimentado) se genera un campo eléctrico dentro de un microprocesador presente en el transpondedor, al mismo tiempo que por radiofrecuencia éste le realiza una serie de peticiones. El transpondedor, alimentado por la inducción, ejecuta una serie de comandos y se comunica de vuelta con el lector, atendiendo a las peticiones que éste le ha realizado.
La securización del sistema NFC en su modalidad de pago bancario es un aspecto fundamental de la tecnología en cuestión, ya que permite a los usuarios realizar las transacciones debidas en un entorno donde sus datos están, al menos en teoría, protegidos. Esta securización implica la protección de los activos contenidos en el terminal atendiendo a las ampliamente conocidas "componentes de la seguridad": confidencialidad, integridad y disponibilidad.
El enfoque de esta securización, vistos los datos mostrados en la introducción al respecto, es eminentemente computacional. La informática permite la automatización de cálculos y su ejecución a altas velocidades, además de ser un idioma común en todo el mundo, lo que conlleva su irremediable uso a la hora de diseñar medidas de seguridad para la protección de datos sensibles. En este sentido, cabe señalar tres mecanismos de seguridad informática de carácter criptográfico que son importantes en el entorno NFC: el cifrado, la autenticación y el negociado de claves.
El concepto de cifrado viene a resultar en el uso de operaciones que conviertan un mensaje en ininteligible ante posibles receptores no
autorizados33. La idea es sencilla: existe un "ente" (el cifrador) que se alimenta de una serie de datos en claro y que como producto de ciertas operaciones internas obtiene datos a priori sin sentido, salvo para quien conoce su funcionamiento.
A efectos prácticos, hablar de un cifrado es hablar de un algoritmo: una compleja serie de operaciones matemáticas que devienen en un resultado concreto con las características que le hayamos programado.
En el caso en cuestión, el cifrado es fundamental dadas las características del sistema: NFC realiza el intercambio de datos por radiofrecuencia, o lo que es lo mismo: a través del aire. Un posible adversario, por lo tanto, ni siquiera necesitaría tener "pinchado" el TPV para poder tener acceso al canal de transmisión, sino que le valdría con una antena receptora rastreando la banda de frecuencias en las que emite NFC (13,56 MHz según los protocolos de la 18092) para tener acceso a todos los datos transmitidos.
Así pues, vista la necesidad de cifrado, solo resta consignar los cifrados empleados en esta tecnología. En general, los estándares antes mencionados que regulan las tarjetas inteligentes permiten la implantación tanto de cifradores de flujo como de cifradores de bloque; sin embargo, dados los modelos actuales de tarjetas inteligentes securizadas (donde la gran mayoría implementa cifradores de bloque) y la inseguridad que hoy en día despiertan los cifradores de flujo comerciales, el estudio en este tema se va a restringir a los cifradores de bloque, más específicamente los de la familia AES.
33 TORTOSA, L. (2000), Mensajes secretos y códigos con TI-83, p. 85, Alicante: Editorial Club Universitario.
34 Conviene señalar que AES no es, estrictamente hablando, lo mismo que Rijndael: AES es el nombre del estándar aprobado por el NIST, mientras que Rijndael es el cifrador que los criptógrafos Rijmen y Daemen presentaron a concurso. Rijndael es más flexible y permite distintas longitudes de bloque y clave (AES solo permite bloques de 128 bits y claves de 128, 192 o 256 bits).
comerciales de tarjetas inteligentes sin contacto, como MIFARE Plus35.
Para su funcionamiento, el AES realiza primero la "programación de la clave", mecanismo por el que obtiene once subclaves distintas a la introducida pero con igual longitud. A continuación, divide el texto en claro en bloques de
128 bits, los cuales pasan a tratarse como matrices 4×4 en formato hexadecimal, a las que se denomina "estados". Una vez hecho esto, comienza a ejecutar las iteraciones de las que se compone el proceso de cifrado en sí. Once rondas de transformación para cada bloque de texto a cifrar: una ronda de preparación con solo una aplicación, AddRoundKey, nueve regulares y una última de finalización, compuesta por solo tres aplicaciones (vid. Figura 4).
En cada ronda, el cifrador hace pasar las matrices por cuatro fases donde va ejecutando distintas transformaciones: SubBytes (sustitución de cada una de las entradas de la matriz respecto de una tabla predeterminada), ShiftRows (desplazamiento en filas), MixColumns (mezcla de columnas a través de multiplicación matricial) y AddRoundKey (disyunción exclusiva con la matriz 4×4 derivada de la subclave para cada ronda)36.
Cabe destacar que la clave utilizada en la primera ronda de cada iteración es la clave primigenia, sin programar.
35 MIFARE (2015), MIFARE Plus, http://www.mifare.net/en/products/mifare-smartcard-ic- s/mifare-plus/
36 DAEMEN, J., RIJMEN, V. (2002), The Design of Rijndael: AES – The Advanced Encryption Standard, Berlin: Springer-Verlag.
En el Anexo I se expone un fragmento del PSP 197 relativo a la definición de las distintas aplicaciones y de la programación de clave.
Otra técnica de gran importancia en materia de seguridad informática para enlaces sensibles en tarjetas sin contactos es el negociado de claves. Desde la antigüedad, este ha sido un quebradero de cabeza para los criptoanalistas: bien puede existir un algoritmo de cifrado muy seguro, que si la clave es conocida por el adversario de alguna manera, la confidencialidad del mensaje se pierde por completo.
Así, ante una situación normal de un emisor tipo intentando transmitir una información a un receptor tipo, el dilema es evidente: ¿qué posibilidades hay para conseguir intercambiar la clave con la que se descifra el algoritmo que se va a utilizar después? El canal, que por definición [fuente] ha de considerarse siempre inseguro, no puede ser utilizado para intercambiar un dato así de vital, al menos en claro. Sería como enviar un diamante dentro de una caja fuerte, con la clave de la misma escrita en la puerta. Durante siglos se utilizaron canales alternativos y esteganografía para tal misión, pero no todas las situaciones admitían esa opción de forma práctica; sin contar con el hecho de que el uso de esas técnicas no eliminaba la posibilidad de que la clave fuera capturada: la vulnerabilidad seguía presente, solo se diversificaba ligeramente el riesgo, sin establecer un "entorno seguro" en ningún caso.
Todo eso se solucionó con la publicación del protocolo Diffie- Hellman, base sobre la que se desarrollan todos los sistemas de intercambio de clave a día de hoy (SSL, TLS, etc.). Gracias a él, dos interlocutores pueden negociar una clave de tal manera que,
Figura 5
Esquema básico del intercambio Diffie-Hellman
Fuente: Tanenbaum (2011)
aunque un adversario estuviera escuchando el "diálogo", no podría obtenerla.
La eficacia de Diffie-Hellman37 se basa en la imposibilidad técnica y computacional de calcular la clave a partir de las subclaves intercambiadas por los interlocutores durante el proceso. Como se puede ver en la figura 5, el funcionamiento del algoritmo no es complejo, y se puede explicar en seis fases38 en las que los dos interlocutores (Alice y Bob, según la terminología empleada en la literatura especializada en la materia) realizan una serie de cálculos e intercambios secuenciales, a saber:
2
ejemplo 5)..
2. Elección por parte de Alice de un número secreto y aleatorio, x, cálculo y envío a Bob de gx mod n, p y g.
3. Elección por parte de Bob de un número secreto y aleatorio, y, cálculo y envío a Alice de gy mod n.
4. Cálculo por parte de Alice de ???????????????????????? = (???????? mod ????)???? 5. Cálculo por parte de Bob de ???????????????? = (???????? mod ????)???? 6. Por propiedades de exponentes y módulos39, tenemos que: ???????????????????????? = ???????????????? = ???? siendo ésta la clave intercambiada, computacionalmente imposible
de calcular para un adversario atento a la conversación (siempre que los números p, x e y tengan la suficiente entidad40).
37 TANENBAUM, A. (2011), Computer Networks (5ª edición), pp. 833-834, Boston: Pearson.
38 TAPIADOR, J., y PERIS, P. (2014), Criptografía y Ocultación de la Información, Aranjuez: Centro Universitario de la Guardia Civil, Universidad Carlos III de Madrid.
39 Vid. Anexo II: Propiedades y fórmulas matemáticas de interés.
40 Según Tanenbaum (óp. cit., p. 833), x e y deben tener una longitud de unos 1024 bits (309 dígitos en base decimal), mientras que Gordon (1992, pp. 66-75) establece la necesidad de que p tenga 200 o más dígitos [en base decimal].
persona se interpusiera entre Bob y Alice y realizara un negociado de claves "a dos bandas" entre ambos, pudiendo de esta manera leer y modificar a voluntad el mensaje? Este tipo de ataques, denominados "de hombre en el medio" son un problema constante en cualquier comunicación. Y yendo ya un poco más lejos, ¿qué ocurre si Bob, en lugar de conectarse con Alice, se conecta un una tercera persona que dice ser Alice, pero en realidad es el adversario? La solución a ambas cuestiones se puede encontrar en el uso de protocolos de autenticación, los cuales pasan a explicarse en las próximas líneas.
Autenticación por criptografía asimétrica
La autenticación es el mecanismo por el cual un sistema verifica la identificación ejecutada por una entidad sobre él41. A nivel teórico, se habla de los tres factores de la autenticación, de tal manera que Roebuck (2011, p.178) expone que las formas en las que alguien puede ser autenticado se incluyen en tales tres factores: la propiedad (algo que esa entidad posee), el conocimiento (algo que esa entidad sabe) o la inherencia (algo que esa entidad es). Esta definición, que Roebuck aplica a la autenticación de personas es, en realidad, ampliable a cualquier entidad. ¿Qué diferencia identificar a una persona o a un ordenador? Lo que se busca es lo mismo: rasgos individualizadores que irremediablemente se situarán dentro de los tres factores ya mencionados.
Así pues, ¿cómo se procede a la autenticación en el ámbito de las tarjetas inteligentes? Exactamente de la misma manera. Dentro de la tarjeta existe algo que solo esa tarjeta tiene (en concreto una clave) y que la individualiza respecto de las demás.
Los protocolos utilizados en este tipo de aplicaciones suelen ser derivados de los algoritmos de clave pública: una serie de sistemas a través de los cuales se puede autenticar a una entidad partiendo de operaciones similares al cifrado anteriormente expuesto. Por lo general, la autenticación de las tarjetas inteligentes se basa en el estándar ISO/IEC 9798:201042, el cual desarrollan
41 BORGHELLO, C. F. (2014), Seguridad Lógica – Identificación y Autentificación,
http://www.segu-info.com.ar/logica/identificacion.htm
42 ISO/IEC (2010), Information technology – Security techniques – Entity authentication.
según sus características propias, como es el caso de la Mifare DESFire.
Los estándares para tarjetas inteligentes con chip EMV tienen tres modos de autenticación43: a través de datos estáticos (SDA), a través de datos dinámicos (DDA) o mediante un método combinado (CDA). Los tres modos de autenticación emplean RSA para realizar la autenticación, aunque las características y los niveles de seguridad varíen según el método. Seguidamente, se explica someramente el funcionamiento de RSA para, a continuación, exponer los tres modos de autenticación citados.
RSA es un criptosistema asimétrico basado en principios de seguridad computacional, para el cual cada usuario recibe un par de claves, una pública y otra privada. Ambas dos claves están relacionadas por una serie de complejas operaciones matemáticas y se complementan entre sí, de tal manera que cada una sirve para descifrar lo cifrado por la otra.
Así, y utilizando los mismos ejemplos que antes, se puede suponer una reunión sostenida por los dos usuarios anteriormente mencionados, Alice y Bob (aunque se podría aumentar la entidad del contexto casi de forma indefinida, como demuestran las complejas redes PGP en que se autentican automáticamente miles de usuarios). Cada uno tiene un par de claves RSA, una que es pública y accesible al interlocutor y otra privada, que solo conoce cada uno de ellos.
De forma simplificada, RSA funciona de tal manera que si Bob cifra un mensaje con su clave privada, Alice pueda descifrarlo con la clave pública de Bob. Esto implica que solo Bob ha podido escribir ese mensaje, ya que es el único que conoce tal clave. De la misma forma, esta aplicación permite el cifrado: si Alice desea mandarle un mensaje a Bob que solo Bob pueda ver, utilizará la clave pública de éste para cifrar un mensaje que, en esa circunstancia, solo él podrá descifrar, utilizando para ello su clave privada.
De forma matemática, Tapiador y Peris (óp. cit., p. 125) exponen el proceso de generación de esas claves:
43 CRYPTOMATHIC (2013), EMV Key Management – Explained. http://www.cryptomathic.com/media/51203/cryptomathic%20white%20paperemv%20key%20m anagement.pdf
· Cálculo de ????(????) = ????(????) · ????(????) = (???? – 1)(???? – 1).
en el rango (1, ?(n) ) y ser coprimo de n(?).
· Cálculo de ???? = ????-1 ???????????? ????(????).
????????ú???????????????????? = (????, ????) ???????????????????????????????? = (????, ????) Para proceder al cifrado/descifrado, se utilizan las fórmulas: ???? = ???????? · ???????????? ???? y ???? = ???????? · ???????????? ???? Mientras que para firmar/verificar, se emplean las siguientes: ???? = ???????? · ???????????? ???? y ???? = '????????????????????????????????' ? ???????? · ???????????? ???? = ???? (Siendo en ambos casos m = texto en claro, c = texto cifrado, f = texto firmado, V = verificación) Lo cual explica que en RSA la clave no sea un solo número sino una dupla de ellos. Las autenticaciones antes mencionadas (SDA, DDA y CDA) se apoyan en RSA para realizar la autenticación, pero de una forma distinta en cada caso44:
SDA realiza la autenticación sobre los datos estáticos de la tarjeta, esto es: el chip de la tarjeta firma los datos invariantes y preestablecidos del documento mediante la clave privada.
DDA realiza la autenticación sobre una serie de datos que van variando para cada autenticación (hora de la acción, entidad de la transacción, etc.).
44 CRYPTOMATHIC (2013), EMV Key Management – Explained, pp. 2-5. Recuperado de: http://www.cryptomathic.com/media/51203/cryptomathic%20white%20paper- emv%20key%20management.pdf
CDA opera de forma similar al DDA (de hecho, suelen considerarse equivalentes para simplificar), pero añade una autenticación más, situada en la parte final de la transacción, con el objetivo de asegurar que no se ha producido cambio alguno en los datos durante el proceso45.
45 SCALA – Smart Card Alliance Latino América (2012), Ruta hacia los pagos con Tarjeta Inteligente en América Latina y el Caribe: ¿Cómo impacta EMV a la Infraestructura de Pagos?, FPC-11001, p. 9. Recuperado de:
http://www.sca-la.org/wp-content/uploads/EMV_SCALA_White_Paper_Esp.pdf
Análisis de las vulnerabilidades en la tecnología nfc. Contramedidas
Esta fase del presente documento supone el elemento central del trabajo de investigación en sí. En las próximas páginas se procederá a desgranar, una por una, todas las vulnerabilidades conocidas hasta el momento en materia de pagos a través de la plataforma NFC, ya sea montada sobre tarjeta bancaria al uso o sobre teléfono móvil. Para realizar el análisis de forma íntegra, se realizarán constantes referencias a la información técnica descrita en los capítulos anteriores y que supondrá el punto de partida sobre el que se explicarán los distintos tipos de ataques.
En estas circunstancias y de forma acorde a la hipótesis expuesta en la introducción del presente trabajo, es interesante, antes de consignar las vulnerabilidades descubiertas en los sistemas NFC, definir el alcance de la tecnología NFC en la sociedad actual, para así poder comprender mejor las implicaciones que tienen las deficiencias en seguridad del sistema.
Para empezar, es fundamental remarcar que NFC no es, al contrario que los sistemas expuestos en el capítulo 1, una implementación introducida de cara a mejorar la seguridad de los pagos bancarios. Se podría decir, de hecho, que este es el primer sistema TIC introducido en una tarjeta cuyo objetivo no es blindar aún más las transacciones. ¿Cuál es el objetivo de NFC entonces? Simplemente la búsqueda de beneficios, en distintos planos de la práctica empresarial.
Uno de estos planos es el de la usabilidad: quizás la mayor ventaja del sistema NFC es que se trata de una plataforma de pago más cómoda que las anteriores tecnologías de chip EMV o banda magnética46. Dentro del inmenso mercado que suponen las pequeñas transacciones, las tarjetas bancarias no conseguían hacerse un hueco, ya que es sencillo elegir entre pagar
46 OCU (2015), Tarjetas contactless: la tecnología NFC en tu banco, http://www.ocu.org/dinero/tarjetas/noticias/tarjetas-contactless
rápidamente utilizando efectivo o realizar una farragosa transacción a través de tarjeta que conllevara el uso de PIN, firma o un simple cotejo visual. Esta deficiencia la llena NFC, protocolo que autoriza la realización de transacciones bancarias de menos de 20 euros sin la autenticación del usuario, y además de una forma mucho más rápida (apenas los tres segundos que el lector tarda en intercambiar los datos con el chip).
Por otro lado, está el también importante ahorro en periféricos y material físico. El chip EMV y la banda magnética exigen una interacción física, que a la larga degrada los materiales e hipoteca los terminales que se usan en la aplicación, así como las propias tarjetas. NFC reduce a cero este factor, convirtiéndose el TPV en una simple "antena", sin contacto directo con el chip, y por ende sin desgaste.
Vulnerabilidades de la tecnología integrada en tarjeta
Se contempla como ejemplo en este apartado una de esas "tarjetas sin contacto" que los bancos han ido poniendo en circulación durante los últimos años. El teórico español José Miguel Esparza ha investigado de forma recurrente esta tecnología en los últimos años, y en la No cON Name 201247 ya realizó una bastante interesante relación48 de posibles vulnerabilidades prácticas del sistema. En esta relación se va a basar el presente documento, que procederá a analizar más en profundidad cada una de ellas, analizar su viabilidad contextualizada dentro de la sociedad actual y establecerá con ello unos parámetros entre los que la investigación se moverá, para finalmente
47 No cON Name es un congreso español en materia de hacking y seguridad informática que se reúne anualmente desde 1999.
48 ESPARZA, J. M. (2012), Give me your credit card, the NFC way, en J. N. Castellano (Presidencia), No cON Name 2012, conferencia llevada a cabo en Barcelona, España. Recuperado de: https://www.noconname.org/paper-item/give-me-your-credit-card-the-nfc-way/
poder contrastar la hipótesis y los objetivos inicialmente fijados, y llegar a conclusiones al respecto.
Uso ilegítimo de la tarjeta bancaria Se trata de la vulnerabilidad más básica de la que se puede dar cuenta en este texto. Esta vulnerabilidad consiste en la sustracción de la tarjeta y su uso por parte de terceras personas, sin autorización por parte del titular.
Hablando del entorno NFC, este punto flaco en el plano de seguridad financiera tiene especial relevancia en vista de las características que la industria ha querido brindar a los pagos realizados por este sistema: hablamos de la posibilidad de realizar pagos menores de veinte euros sin que el TPV solicite la autenticación del cliente.
En el caso de que se tratara de una tarjeta convencional en unas circunstancias normales no existiría tal problema. El pago a través de chip EMV o banda magnética en establecimientos requiere necesariamente la autenticación del cliente que está usando la tarjeta, bien a través del cotejo del DNI, bien a través del consiguiente código PIN o bien a través de la firma. Sin embargo, la estrategia empresarial de entidades bancarias y proveedores de servicios de pago ha trasladado la responsabilidad sobre estos "micropagos"49 desde los establecimientos hacia ellas mismas, de tal manera que quien se hace cargo ante posibles fraudes en estos movimientos son las propias entidades, aun pudiendo entenderse que el fallo es del establecimiento, por no autenticar al usuario debidamente.
Las razones de este traslado se encuentran en el análisis y gestión de riesgos por parte de las entidades bancarias: la valoración que se realiza contrastando las pérdidas producidas por acciones de fraude con los beneficios actuales y potenciales del uso proyectado de esta tecnología resultan en un balance claramente positivo para estas entidades. Dicho en otras palabras: según las valoraciones de los distintos bancos, la generalización de las pequeñas transacciones sin contacto (fruto en gran medida de la simplificación
49 AGUADO, J.M., FEIJÓO, C., MARTÍNEZ, I. (2014), La comunicación móvil, hacia un nuevo ecosistema digital, Barcelona: Gedisa.
de estas operaciones) producirá unos beneficios muy superiores a las pérdidas por fraude. Así, las entidades potencian el uso de la tecnología facilitando su uso a establecimientos y librándoles de la obligación de autenticar. Esta misma valoración rige para lo expuesto en la introducción acerca de la denuncia de este tipo de delitos: los beneficios estimados son tan grandes que a las entidades no les interesa poner en tela de juicio públicamente la seguridad del sistema NFC al denunciar que alguien ha conseguido defraudar haciendo uso de él.
Así, la acción del delincuente es simple pero efectiva: a través de cualquier medio (normalmente se trata de sustracciones por el procedimiento del "descuido" o robos con intimidación) se hace con la cartera de la víctima, y por ende con sus tarjetas. Una vez tiene acceso a ellas, la aplicación NFC le permite realizar compras en comercios habilitados para esta funcionalidad de forma en teoría ilimitada, siempre que cada una de estas compras tenga un valor inferior a veinte euros.
Sniffing o análisis de paquetes
Los ataques de sniffing50 (del inglés to sniff: olfatear) son ataques no excesivamente complicados de elaborar y tampoco difíciles de comprender. Consisten en sondear las comunicaciones entre dos dispositivos comunicándose entre ellos sin contacto a través de estas funcionalidades.
Los ataques de sniffing para conexiones inalámbricas son, por lo general, sencillos, ya que la comunicación no se encamina a través de un cable, sino por vía aérea. Esto da pie a que el adversario, a través de una simple antena sea capaz de tener acceso a los datos transmitidos entre ambos interlocutores.
50 VACCA, J. (2013), Computer and information security handbook, p. 349, Waltham: Morgan Kaufmann.
es la existencia de cifrado entre los dos terminales interlocutores y del ya mencionado sistema de negociado de claves Diffie-Hellman. En este punto, no obstante conviene puntualizar que el cifrado existente en las tarjetas no siempre es el mismo. Dependiendo de la generación y de la securización de la tarjeta, realizará el cifrado con uno u otro estándar. Esta cuestión no es baladí, ya que el estándar AES expuesto en el capítulo 2 (utilizado en la mayoría de las tarjetas bancarias) se considera seguro a día de hoy, pero sin embargo su predecesor como estándar oficial del NIST, el DES, sí que se considera ya criptográficamente inseguro51 52, y aún existen tarjetas sin contacto que montan este cifrador (por ejemplo, la Mifare DESfire).
Creación, modificación, corrupción de datos y denegación del servicio
Otra posibilidad de ataque a NFC es a través de la generación de "ruido" con el fin de dificultar o adulterar la comunicación entre los dos interlocutores, o incluso de que ese ruido generado no sea tal, sino una señal protocolarizada y preparada para crear una comunicación efectiva simulando ser un interlocutor bienintencionado-.
Póngase como primer paradigma la creación y envío de manera artificial de código con el objetivo de suplantar una tarjeta en concreto. Situación práctica: el adversario acude a un comercio con una tarjeta simulada (con el fin de engañar al comerciante) y una antena conectada a un procesador en su mochila, activando la emisión de código en el momento de pasar la supuesta tarjeta por el TPV. Sobre el papel, estas señales podrían provocar multitud de reacciones en los dispositivos NFC que entraran en juego en cada situación. Sin embargo, conviene recordar las distintas medidas de seguridad que las tarjetas bancarias implementan y de las que ya se ha hablado, aplicándolas al caso en concreto.
51 MCLOONE, M., MCCANNY, J. (2003), System-On-Chip, Architectures and Implementationes for Private-Key Data Encryption, p.14, Nueva York: Springer.
52 EFF (19 de enero de 1999), RSA Code-Breaking Contest Again Won by Distributed.Net and Electronic Frontier Foundation (EFF) – DES Challenge III Broken in Record 22 Hours, eff.org. Recuperado de: http://web.archive.org/web/20011125074747/http://www.eff.org/Privacy/Crypto_misc/DESCrack er/HTML/19990119_deschallenge3.html
Para empezar, la autenticación de la tarjeta (sírvase para el ejemplo el caso más favorable al adversario, esto es, que la situación es de un cargo menor de veinte euros, por lo que no se autentica al comprador) debería impedir realizar un cargo a otra tarjeta que no se encuentre físicamente en uso en el momento. Recordando el procedimiento de autenticación por RSA, ya sea ésta autenticación estática o dinámica la tarjeta firma, utilizando para ello su clave privada, una serie de datos que a continuación el TPV analiza. Los fundamentos de la PKI en que se basan los sistemas de la tarjeta implican la revisión por parte del TPV de que el par de claves de la tarjeta haya sido firmado por el emisor53, lo que conlleva la conformidad por parte de éste de que tales claves son válidas y pertenecen a la tarjeta en cuestión.
Trasladando todo esto a la situación de la que se da cuenta, se tiene que para poder modificar una transmisión de tal manera que se cambiara, verbigracia, la cuenta a la que se realiza el cargo, sin que el terminal se percatara de ello, sería necesario poseer no solo los datos propios de la tarjeta con los que se realiza la operación (nombre del titular, número de tarjeta, caducidad, etc.) sino también el par de claves de la tarjeta que se intenta suplantar firmado a su vez por el emisor de la misma. Esto solo puede conseguirse teniendo acceso a la propia tarjeta, ya que es el emisor la única entidad capaz de firmar como tal (lo contrario implicaría una filtración del par de claves o una ruptura crítica en la seguridad de la PKI). En caso contrario, el sistema se percata del fraude y detiene la operación. Todo ello, por supuesto, contando con que el atacante tiene los suficientes conocimientos y medios tecnológicos como para llevar a cabo técnicamente la acción (transmisor, antena, procesador, conocimientos de programación y cifrado a alto nivel, etc.). Por todo esto, se considera este ataque como muy poco factible en la práctica..
Por otro lado, nos encontramos con las opciones de modificación y corrupción de los datos. Estos ataques, dirigidos contra la integridad del mensaje, consisten en la inyección de código con el objetivo de perturbar deliberadamente la comunicación entre dos interlocutores.
53 CRYPTOMATHIC (2013), óp. cit., p. 4.
Como se mostró en el capítulo 2, apartado i, la comunicación entre dispositivos RFID – NFC se produce a través de ondas de radiofrecuencia que operan en la franja de frecuencias en torno a los 13,56 MHz. Teniendo en cuenta las propiedades de las ondas electromagnéticas, se tiene que el adversario puede emitir una serie de señales que se mezclen con las enviadas por los interlocutores y generan una señal nueva, con unas características distintas a las de las dos anteriores.
En el caso de la modificación, el ataque se centraría en realizar un cambio que mantuviera las condiciones aparentes de integridad del mensaje original. En informática, esto significa burlar una función resumen54 o generarla de nuevo. La primera opción es matemáticamente muy poco probable: las normas PCI DSS (Payment Card Industry Data Security Standard, o "estándar de seguridad de los datos de la industria de las tarjetas de pago") no establecen una función resumen obligatoria para las transacciones a través de tarjeta de crédito, pero sí especifican que debe ser un algoritmo fuerte55. Es previsible, por lo tanto, que en la mayor parte de los casos se utilicen funciones de la familia SHA (en lugar de MD5 el cual ya se considera vulnerable56). De hecho, no es extraño que los manuales de distintos aplicativos TPV virtuales (programas para la ejecución de transacciones de forma online, sin tarjeta física) que se encuentran en Internet hagan referencia de forma abierta al uso del algoritmo SHA1 para la ejecución de resúmenes57. Y si bien es cierto que
54 Una función resumen (o hash) es una operación que "provee una transformación [ ] para garantizar la integridad en aplicaciones como […] esquemas de firma digital" (Hansen, 2009, p. 1). Funciona transformando el mensaje de entrada en una cadena de dígitos de longitud fija cumpliendo necesariamente tres propiedades: que sea computacionalmente imposible extraer el mensaje original de la cadena de salida, que sea computacionalmente imposible encontrar dos mensajes que produzcan el mismo resumen y que sea computacionalmente imposible encontrar un mensaje que produzca el mismo resumen que un mensaje dado. También conviene que el resumen cumpla los postulados de Golomb (Tapiador y Peris, óp. cit., pp. 103- 104).
55 PCI SECURITY STANDARDS COUNCIL (2015), Payment Card Industry (PCI) – Requirements and Security Assessment Procedures (vers. 3.1), p. 40. Recuperado de: https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-1.pdf
56 BAGAD, V., DHOTRE, I. (2009), Computer Networks – II, p. 5-73, Pune: Technical Publications Pune.
57 DEUTSCHE BANK (2013), TPV PC Deutsche Bank – Guía para comercios, p. 30. Recuperado de:
https://www.deutsche-bank.es/pbc/docs/Guia_de_comercios_TPV-PC.pdf?link=pdf
en los últimos años se ha puesto fecha de caducidad al algoritmo SHA158 59 (debido principalmente a las crecientes capacidades de cómputo que ofrecen los nuevos sistemas), es una caducidad más bien teórica, ya que en la práctica es imposible para un usuario común (y por común, en este caso, se puede entender al usuario con una capacidad de cálculo menor que la de una agencia de seguridad como la NSA) "romper" el algoritmo SHA1 en un tiempo inferior a varios miles de años (se estiman en 269 los intentos necesarios para conseguir una colisión)60.
Así pues, la conclusión que se obtiene es que resulta imposible, en la práctica, burlar la función resumen consiguiendo que el mensaje modificado tenga el mismo resumen que el mensaje primigenio. Contando, de hecho, con que el adversario tuviera la suficiente capacidad de cómputo, las acciones a realizar (evaluar el mensaje primigenio, calcular su resumen, elaborar un mensaje cuyo resumen colisione con el del mensaje primigenio y enviar el mensaje ya falseado) desecharían, de nuevo, en la práctica, esta opción.
Llevada la situación, finalmente, a un último extremo, se formula un escenario aún más ideal: el adversario tiene capacidad de cómputo y puede diseñar de forma casi instantánea un mensaje de interés para él y cuyo resumen coincide exactamente con el del mensaje primigenio. Aun en esta situación el ataque sería prácticamente inviable debido a las los mecanismos de detección y control de colisiones que implementa la tecnología NFC61.
Estas "colisiones" (no confundir con las colisiones criptográficas antes mencionadas respecto de las funciones resumen) son procesos indeseados que ocurren cuando varios lectores tratan de leer una misma tarjeta o cuando existen varias tarjetas en el espacio barrido por un lector. En estas situaciones, los elementos NFC en juego no serían capaces de decodificar la información
58 INCIBE (25 de septiembre de 2014), Llegó la hora de reemplazar SHA1, Blog de Seguridad de INCIBE. Recuperado de: https://www.incibe.es/blogs/post/Seguridad/BlogSeguridad/Articulo_y_comentarios/Reemplazar
_SHA1 [Consulta: 11 de mayo de 2015]
59 HAIDAR, B. (2009), Professional ASP.NET 3.5 Security, Membership, and Role Management with C# and VB, p. 295, Indianapolis: Wiley.
60 Ibídem.
61 ISO/IEC. (2011). Identification cards – Contactless integrated circuit cards — Proximity cards –
– Part 3: Initialization and anticollision (ed. 2).
que les llega por duplicado en cada caso, y por lo tanto el sistema se vería bloqueado62. Para solucionar este problema existen los protocolos anticolisión, que consisten básicamente en proceder al multiplexado de la señal en el tiempo, asignando una franja determinada en la que emitir a cada etiqueta63. Sin embargo, en el caso que se trata, el propio mecanismo de detección de colisiones de NFC pondría fin a la comunicación en previsión de que se tratara de un posible ataque64. De este punto se deduce que en estas circunstancias, un ataque de modificación solo podría llevarse a cabo de la manera "convencional", esto es, "secuestrando" el mensaje primigenio para que no colisionara con las modificaciones realizadas por el adversario, utilizando el
esquema tradicional del ataque de "hombre en el medio" (fig. 6). Algo así solo podría realizarse a través de medios como una jaula de Faraday que mantuviera separado el lector de la tarjeta. Sin embargo, ¿qué sentido tendría algo así para el adversario?
¿Qué implementación práctica
Figura 6
Esquema básico del ataque de "hombre en el medio"
Fuente: Tapiador y Peris (op. cit.)
podría tener? Parece evidente que este ataque no resulta factible.
Sin embargo, sí que resultaría factible un ataque de corrupción de datos o de denegación del servicio. Si bien en teoría estas dos tipologías de ataque no son iguales, en la práctica suponen el mismo final. De hecho, los ataques expuestos anteriormente en esta sección también finalizan igual que éstos: imposibilitando la comunicación entre los dos interlocutores.
62 Este tipo de situaciones son muy comunes cuando se habla de RFID (la tecnología "hermana mayor" de NFC). Son los casos, por ejemplo, de las etiquetas que se incluyen en el empaquetado de muchos productos, cuando una lectora trata de conectar con cierta cantidad de etiquetas RFID con el fin de proceder al inventariado. De no existir estos protocolos anticolisión, esta operación sería imposible. Un ejemplo práctico en NFC de uso bancario puede ser pasar por un lector una cartera en la que conviven varias tarjetas sin conctacto.
63 GARCÍA, J. M. et álii (2013), Protocolos Anticolisión en RFID, Telem@tica, 12(1), p. 4.
64 INTECO (2013), La tecnología NFC: aplicaciones y gestión de seguridad, p. 17. Recuperado de: http://www.egov.ufsc.br/portal/sites/default/files/cdn_nfc_final.pdf [Consultado: 11 de mayo de 2015]
inhibidores de frecuencias65 (o jammers). Estos dispositivos generan una "burbuja" a su alrededor que imposibilita la comunicación por ondas de radio en un determinado rango de frecuencias, dependiente de las características del aparato. NFC, al ser una tecnología que emplea radiofrecuencias para realizar la comunicación, es vulnerable a este tipo de ataques.
La implementación práctica es sencilla y factible: póngase un escenario de feroz competencia empresarial. Si se cumplen esas ambiciosas expectativas en las que se teoriza que en unos años la tecnología NFC sustituirá al resto de formas de pago66, sería una posibilidad ampliamente factible que algunos comercios emplearan entre ellos este tipo de prácticas con el objetivo de imposibilitar el servicio que ofrecieran los otros, obteniendo así una ventaja sobre éstos de forma desleal y delictiva.
Ataques de relay o retransmisión Los ataques de relay o retransmisión (ambos términos se utilizarán indistintamente en el presente texto) son un tipo especial de ataques de "hombre en el medio". En ellos, a través de ciertas utilidades, el adversario se coloca como nexo de unión entre un lector (normalmente un TPV) y una tarjeta NFC, pudiendo hacer cargos sobre ésta sin que tenga que estar sometida directamente al campo del lector. De hecho, lo que hace especialmente llamativo este tipo de ataques es que sus características recogen la posibilidad de que la tarjeta y el TPV mencionados se encuentren a miles de kilómetros de distancia entre sí. Como ya se puede haber deducido de la introducción anterior, el ataque de relay consiste básicamente en que el adversario genera un canal por el que
65 Un inhibidor de frecuencias es un equipo que radia intencionadamente señales electromagnéticas (Whitaker, 2005, p. 1435) que interfieren con las propias de un tipo de tecnología, con el fin de denegar o dificultar una comunicación. Así, el inhibidor realiza una emisión con una amplitud unas diez veces más fuerte que las comunicaciones que se pretenden inhabilitar, de tal manera que la señal recibida, al mezclarse ambas emisiones (la del interlocutor y la del adversario) no se puede descomponer para sacar de ella información (Marshall Cavendish Corporation, 2003, p. 2251).
66 JIMÉNEZ DE LUIS, A. (23 de octubre de 2014), Y ahora también quiere sustituir a la cartera, El Mundo. Recuperado de: http://www.elmundo.es/tecnologia/2014/10/23/54492858ca4741d8708b4588.html
retransmite una transacción iniciada en un punto determinado (póngase un comercio convencional) a otro punto, alejado del primero, donde se encuentra el dispositivo NFC sobre el que pretende realizar el cargo.
Como bien indica Vila (2014, p. I) "con la irrupción de dispositivos móviles con chips NFC", este tipo de ataques se han convertido en una posibilidad bastante realista, técnicamente hablando. Así, un ataque que en un principio requería estar en posesión de un lector de NFC, un emulador de tarjeta sin contacto y una infraestructura que permitiera modular, codificar y enviar las señales de un punto a otro, pasa a poder realizarse sencillamente con dos teléfonos móviles con una funcionalidad NFC y un canal de transmisión de datos, que puede ser IEEE 802.15 (Bluetooth®) o una sencilla VPN a través del internet provisto por las operadoras. También se pueden realizar ataques de retransmisión factibles utilizando medios personalizados, lo que permitirá al atacante obviar consideraciones relativas a la tipología de tarjeta utilizada y a las medidas de seguridad que implementa respecto de las de la normativa (siempre que haya estudiado a la víctima a este respecto).
Entrando ya en el problema en sí, existen varios trabajos documentados en los cuales se realizan con éxito ataques de retransmisión. El más importante es el ya mencionado de Vila (2014), que además fue expuesto por el autor y su supervisor en el marco de las VIII jornadas STIC organizadas por el CCN-CERT67. En esta
Figura 7
Esquema de un ataque de "relay"
Fuente: Elaboración Propia
presentación, los ponentes consiguieron incluso llevar a cabo con éxito un ataque de este tipo mediante la funcionalidad NFCLeech, una prueba de concepto desarrollada por el mismo Vila en su trabajo antes mencionado.
67 VILA, J., RODRÍGUEZ, R. (10 de diciembre de 2014), Ataques de relay en tarjetas EMV NFC con dispositivos Android, en Sanz Roldán, F (Presidencia), VIII Jornadas STIC CCN-CERT, conferencia llevada a cabo en el Ilustre Colegio Oficial de Médicos de Madrid, España.
El proceso por el que se ejecuta un ataque de retransmisión es el siguiente:
1. Los atacantes (las características del ataque implican necesariamente la presencia de dos o más individuos compenetrados entre sí) establecen una conexión, denominada conexión de relay, entre los dos nodos (uno para cada atacante) que se van a utilizar para realizar el ataque: el encargado de la conexión con el TPV (denominado "proxy" en la literatura al respecto) y el encargado de conectar con la tarjeta objetivo (el "mole"). Esta conexión retransmitirá los datos del acoplamiento NFC a tiempo real, y como se verá más adelante, deberá ser rápida para no sobrepasar el máximo tiempo de respuesta que el estándar marca como medida de seguridad. El mole se sitúa en las cercanías de la tarjeta de la víctima, pero no inicia la conexión.
2. El proxy, emulando un modo pasivo (recuérdese que se puede tratar de un terminal móvil con funcionalidad NFC, capaz de funcionar también como lector) se sitúa en las proximidades del TPV y éste inicia la conexión, remitiéndole los datos para iniciar la autenticación. El proxy automáticamente encamina estos datos hacia el mole a través de la conexión de relay.
3. El mole recibe los datos de autenticación y, en modo activo, inicia la conexión con la tarjeta de la víctima, enviándole los datos. A continuación, remite los datos de respuesta de la tarjeta al proxy, que a su vez los devuelve al TPV. Se realizan un par de rondas más de este tipo hasta que finaliza la autenticación con éxito, ya que realmente tanto el lector como la tarjeta se están autenticando de forma íntegra entre sí, aunque la conexión se realice a través de nodos malignos.
4. Se ejecuta la transacción con los datos de la misma circulando por el canal de relay establecido entre el mole y el proxy.
5. El TPV pone fin a la transacción, acto que se retransmite igualmente a la tarjeta. Mole y proxy se retiran de sus posiciones en las cercanías de la tarjeta objetivo y el TPV, respectivamente.
El ataque de relay ha sido ya implementado y ejecutado de forma práctica en distintas convenciones68 y con diferentes resultados. Algunos de ellos han arrojado incluso conclusiones tan inquietantes como la posible creación de una botnet para tarjetas inteligentes69: una suerte de red con un número enorme de móviles infectados por un virus que los convierte en proxy de una arquitectura de relay maliciosa, de tal manera que existiría una alta probabilidad de que al menos uno de los terminales se encontrara en contacto con una tarjeta NFC al mismo tiempo que conectado a Internet, pudiendo realizar transacciones fraudulentas prácticamente en cualquier momento. En general, todos los estudiosos constatan la posibilidad real de realizar con éxito este tipo de ataques, si bien reconocen la sujeción de los mismos a una serie de limitaciones.
Una de las limitaciones que se destacan a simple vista es la necesidad de que el cargo sea inferior a veinte euros. Como ocurre en algunos de los ataques mencionados anteriormente, es condición sine qua non para llevar a cabo una transacción falseada de esta manera que no se autentique al portador de la tarjeta, lo que en la práctica se produce cuando el cargo es menor de veinte euros (las razones de esto se expusieron en las primeras líneas del presente capítulo).
No obstante, existen escenarios en los que se ha planteado de forma efectiva el soslayo de los mecanismos de autenticación del titular de la tarjeta, los cuales se pueden llevar a cabo independientemente de si la transacción se realiza a través de banda magnética, chip EMV o NFC. Son, por ejemplo, casos en los que se utilizan mecanismos de ingeniería social o simplemente vigilancias intensivas, espionajes o coacciones para obtener el PIN de la tarjeta. Si esto se lograra, se abriría la posibilidad práctica de realizar pagos de manera teóricamente ilimitada70. La adquisición fraudulenta del número PIN de la tarjeta es algo que ya se ha conseguido en la práctica: de hecho, está
68 VILA (óp. cit.), p. 33-38.
69 SPORTIELLO, L., CIARDULLI, A. (2013), Long distance relay attack, en Lecture Notes in Computer Science, vol. 8262, pp. 69-85, Heidelberg: Springer-Verlag.
70 Las entidades bancarias analizan en tiempo real las transacciones que efectúan sus clientes y las comparan con sus rutinas de uso de medios de pago, para así poder detectar transacciones fraudulentas. Para mayor información, vid. capítulo 4.
ampliamente documentado y recogido en una vasta jurisprudencia cómo hay delincuentes que se hacen con dicho número colocando cámaras en los cajeros automáticos al tiempo que clonan la banda magnética de la tarjeta del usuario que está en ese momento en el cajero. Esta técnica es conocida como skimming, y suele ser llevada a cabo por bandas organizadas y con conocimientos técnicos. De la misma manera, el uso de engaños para que el usuario divulgue voluntariamente su PIN también está documentado. Si a estos medios delictivos se les añade la potencia de los ataques de relay, se puede obtiener como resultado un ataque que conllevara un fraude de gran entidad.
Otra limitación de los ataques de relay es la necesidad de conexiones que ofrezcan anchos de banda aceptables. Como dato, se tiene que en una conexión NFC que cumpla los requerimientos de la ISO/IEC 14443-3, el tiempo máximo que el TPV debe esperar la respuesta del interlocutor (FWT) fluctúa entre 302 &µs y 4989 ms71 dependiendo de diversos factores, si bien los valores más altos no son realistas en este escenario, ya que para llegar a ese punto se debe haber solicitado una extensión del tiempo de espera (WTX), algo que el atacante no puede realizar en todas las ocasiones dados los mecanismos de autenticación de mensajes72. En sus experimentos, Korak y Hutter (2014, p. 6) consiguen implementar cuatro redes de ataque relay con distintas especificaciones. Las conclusiones obtenidas en dicho estudio son73:
1. El ataque es efectivo hasta 40 m bajo conexión punto a punto por Bluetooth®, hasta 110 m bajo conexión WLAN con tres terminales y hasta 60 m con dos terminales, en los casos en los que se utilizan teléfonos inteligentes como mole y proxy, siendo los tiempos de relay inferiores a los especificados por la ISO/IEC 14443.
2. Posibilidad práctica de burlar los mecanismos de seguridad en lo relativo a los tiempos de espera del TPV mediante un proxy personalizado ("custom-made proxy"), que permitiría realizar
71 KORAK, T, HUTTER, M. (2014), On the Power of Active Relay Attacks using Custom-Made Proxies, p. 2, IEEE, Graz (Austria): Universidad Tecnoloógica de Graz. Recuperado de: http://mhutter.org/papers/Korak2014OnThePower.pdf
72 Ibídem, p. 3.
73 Íbídem, p. 8.
solicitudes de extensión de tiempo de espera teóricamente hasta los 4989 ms antes mencionados74.
Estas conclusiones tienen ciertas implicaciones a efectos del análisis realizado en el presente texto. Por un lado, se constata la viabilidad efectiva de un ataque de retransmisión local sin más medios que dos teléfonos inteligentes con tecnología NFC. Y por otro lado, se formula la posibilidad teórica de un ataque de retransmisión remoto (sin límite de distancia) utilizando como canal una hipotética VPN sobre el propio Internet, siempre que se utilizara a tal efecto un proxy personalizado. Esta segunda conclusión se deduce del hecho de que los casi cinco segundos de espera que brinda el proxy personalizado (que no es más que un hardware similar al de cualquier tarjeta NFC al que se añade un microcontrolador y un código específico) son suficientes para realizar con éxito la retransmisión de la operación a través de un protocolo como TCP/IP por Internet, aunque el mole se encuentre en el extremo opuesto del planeta (a expensas, por supuesto, de la conectividad que ambos puntos de la conexión tengan en cada momento)..
Respecto de lo mencionado en el capítulo 1 (p. 23) cabe destacar que este ataque tiene ciertas limitaciones en lo respectivo a los protocolos que implementan las tarjetas sin contacto sobre las que se efectúa y en general la medida en que cumplen los requerimientos de la ISO/IEC 14443. Valga como ejemplo el trabajo realizado por Weiss75, que queda limitado a arquitecturas de diseño que monten ISO/IEC 14443-4 (Vila, óp. cit., p. 36).
74 Este soslayo de los mecanismos de seguridad no se produce rompiendo los algoritmos de cifrado y/o autenticación, cosa prácticamente imposible como ya se evidenció en las anteriores páginas. La táctica que utiliza el dispositivo mencionado no es más que la corrupción del mensaje a través de colisiones en determinados bits de la transmisión, obligando al terminal víctima a solicitar extensiones de tiempo (Korak y Hutter, óp. cit., p.6).
75 WEISS, M. (2010), Performing Relay Attacks on ISO 14443 Contactless Smart Cards using NFC Mobile Equipment, Tesis de fin de master. Múnich (Alemania): Universidad Técnica de Múnich.
76 DRIMER, S., MURDOCH, S. (2007), Keep your enemies close: Distance bounding against smartcard relay attacks, Laboratorio de Computación, Cambridge (Reino Unido): Universidad de Cambridge.
77 BOUREANU, I. et álii (2013), Practical & Provably Secure Distance-Bounding, Lausana (Suiza): Escuela Politécnica Federal de Lausana
mediante el uso de técnicas de distance bounding (en español, limitación de distancias), que básicamente funcionan analizando la distancia del TPV a la etiqueta NFC verdadera sobre la que se está realizando el cargo. Sin embargo, la efectividad de estas contramedidas se encuentra muy limitada: primero porque muchas implican la utilización de GPS, una tecnología incompatible en la práctica con los estándares para las tarjetas inteligentes y vulnerable a ataques de spoofing (Drimer y Murdoch, 2007, p. 9); y segundo porque otros tantos protocolos de este tipo se basan en la medida del retraso entre tramas (frame delay) para obtener la distancia, una técnica que es soslayable como se ha visto en las explicaciones anteriores, y cuyo replanteamiento implicaría el cambio del estándar definido en la ISO/IEC 14443-3, y por ende en todos los dispositivos con funcionalidad NFC en el mercado.
NFC Zapper o neutralización de etiquetas El ataque de zapping sobre etiquetas consiste sencillamente en la destrucción o inhabilitación temporal de las etiquetas NFC objetivo de un adversario, en este caso contenidas dentro de una tarjeta bancaria.
El funcionamiento de un zapper ha sido ampliamente estudiado por distintos autores respecto a la tecnología RFID78: a través de la emisión de ondas o pulsos electromagnéticos (EMP) en un determinado rango de frecuencias se "queman" los circuitos internos de la etiqueta. Esto no debería ser ninguna novedad, ya que cualquier persona con unos conocimientos básicos en electrónica de sistemas sabe que todos los dispositivos electrónicos no protegidos (es decir, la inmensa mayoría de ellos) son vulnerables a un ataque mediante impulsos electromagnéticos. Lo que hace especial el caso de las etiquetas sin contacto es que la potencia del impulso que las inhabilita es muy inferior a la necesaria para hacer lo mismo con otros dispositivos electrónicos convencionales, dados los principios de funcionamiento de los sistemas NFC-RFID: la bobina a través de la cual se alimentan los circuitos internos (vid. Capítulo 2, apartado i) puede generar corrientes de tensiones
78 MINIME, MAHAJIVANA (2015), RFID Zapper, 22C3 Private Investigations. Recuperado de: https://events.ccc.de/congress/2005/static/r/f/i/RFID-Zapper(EN)_77f3.html
altas ante variaciones del campo magnético circundante lo suficientemente fuertes, de tal forma que un microondas79 puede destruir la etiqueta.
Constuir un zapper no es especialmente complicado, e incluso pueden encontrarse vídeos en Internet que explican cómo hacerlo utilizando para ello una cámara de fotos de usar y tirar80: al fin y al cabo, no es más que una bobina conectada a un generador de corriente de cierta entidad. En el caso del vídeo, el adversario emplea el condensador para generar una corriente eléctrica variable sobre la bobina.
Otra opción recogida en este tipo de ataques es la simple neutralización de la etiqueta, sin proceder a su destrucción. Esto se puede conseguir a través de comandos de desactivación como "EPC kill" para RFID81 o de la modificación de los campos de una etiqueta NFC sin securizar (aunque esto es en teoría imposible en tarjetas bancarias). En los últimos años se han documentado una gran cantidad de ataques que dejan de manifiesto la inseguridad del sistema NFC en sus usos bancarios. Uno de los más sonados fue el de Skora82, que llegó incluso a colocar en la Play Store de Android una aplicación que permitía "leer" las tarjetas bancarias y extraer de ellas los datos del titular. No fue ni el primero ni el último ataque de este tipo: Esparza (óp. cit.) documenta hasta cinco ataques distintos a través de esta vulnerabilidad, incluido el suyo propio. Éste último va a ser el que se utilizará en las próximas páginas como base para definir las líneas principales de esta vulnerabilidad. Se puede encontrar la explicación del mismo en su
79 FRINKENZELLER (op. cit.), p. 215.
80 HERMANN, T. O. (20 de marzo de 2009), Building a RFID Zapper – Hacking a Disposable Camera [Archivo de vídeo]. Recuperado de: https://www.youtube.com/watch?v=c0vZigwn09I
81 HOEPMAN, J. H., VEUGEN, T. (2009), Threats and vulnerabilities of RFID and beyond, en ZHANJ, Y., y KITSOS, P., Security in RFID and sensor networks, p. 476, Boca Ratón: CRC Press.
82 TAMARIT, V. (23 de junio de 2012), Un investigador crea un programa para Android que lee las tarjetas de crédito con NFC, ABC. Recuperado de: http://www.abc.es/tecnologia/moviles/20120623/abci-investigador-crea-programa-para- 201302010919.html
blog83.
El ataque precisa únicamente de un lector NFC (un teléfono inteligente con funcionalidad NFC de fábrica puede servir) y un código implementado en el mismo que permita la lectura del dispositivo. A continuación, se describe el proceso del ataque:
1. El atacante diseña un código fuente de acuerdo con las especificaciones de la tarjeta objetivo (vid. Capítulo 2) y lo implementa en el software que opera el lector, habiendo instalado previamente las librerías adecuadas para las acciones que se plantean (la mayor parte de los autores utiliza libnfc).
2. El lector ejecuta los comandos NFC y EMV contenidos en el código, por este orden: inicio de comunicación con el objetivo (InListPassiveTarget), intercambio de datos con el objetivo (InDataExange), selección del tipo de tarjeta (select)84 y lectura de sus registros (Read record).
3. Se obtienen y muestran los datos requeridos en la lectura de registros del paso anterior.
¿Qué datos puede leer entonces el adversario? Sencillamente, todos los que se incluyen en las pistas 1 y 2 de una tarjeta de crédito (vid. Capítulo 1) más algunos nuevos almacenados en el chip EMV: El PAN, nombre, apellidos y género del titular, la fecha de caducidad y un pequeño historial de transacciones anteriores, además de otros datos criptográficos secundarios, utilizados para el establecimiento de la conexión entre TPV y tarjeta (claves de confirmación de firmas electrónicas, emisor, etc.)85.
En capítulos anteriores se ha consignado la existencia de protocolos de
83 ESPARZA, J. M. (20 de diciembre de 2012), Give me your credit card, the NFC way. Eternal Todo [Blog]. Recuperado de: http://eternal-todo.com/es/blog/give-me-credit-card-nfc-way
84 Lifchitz (2012, p. 17) señala las identificaciones de aplicación (AID, códigos de selección de tipos de tarjetas) para cada una de las marcas comerciales más importantes: Visa (A0 00 00 00 03 10 10), MasterCard (A0 00 00 00 04 10 10), American Express (A0 00 00 00 25 00 00) y CB (A0 00 00 00 42 10 10).
85 LIFCHITZ, R. (13 de abril de 2012), Hacking the NFC credit cards for fun and debit ;), en C. Blancher (Presidencia), Hackito Ergo Sum 2012, p. 14, conferencia llevada a cabo en París, Francia. Recuperado de: http://es.slideshare.net/tessierv/nfc-payments-insecurity-hes2012
autenticación que salvaguardaban la integridad de los datos y la autenticidad de los interlocutores. ¿Cómo es posible, entonces, que una tarjeta bancaria NFC (lo mismo ocurriría en la lectura de un chip EMV, ya que el procesador y las memorias del NFC son las mismas que las del chip) no se asegure de a quién está enviando una información sensible como ésta? La respuesta no es tan drástica como la que Lifchitz (óp.cit., p.10) nos da ("NO HAY AUTENTICACIÓN NI CIFRADO [en las tarjetas bancarias]"), pero sí se le acerca: por cuestiones de compatibilidad con el estándar de la banda magnética, el chip bancario NFC envía sin securizar los datos mencionados al lector con el fin de iniciar la transacción, y no es sino tras el inicio de ésta cuando la comunicación se securiza (Á. Redondo, entrevista personal, marzo de 2015). A este respecto, conviene destacar que la normativa PCI DSS en materia de tarjetas bancarias menciona en su requerimiento 4.1 la obligatoriedad de que los datos confidenciales del titular se encuentren cifrados y protegidos de atacantes maliciosos a través de autenticación (PCI DSS, óp. cit., pp. 46-48).
El uso que un atacante malintencionado puede hacer de estos datos es amplísimo. En primer lugar, disponiendo de todos los datos presentes en las pistas 1 y 2 de la banda magnética, es posible (al menos en teoría) crear una nueva tarjeta en que se implementara dicha banda fraudulenta y se tipografiara el nombre del defraudador (o, si se prefiere, una identidad falsa), de tal manera que éste podría realizar pagos con tarjeta acreditando ser el dueño de una tarjeta que verdaderamente no existe, realizándole el cargo realmente a la víctima del fraude. Así, esta vulnerabilidad puede constituirse como una posibilidad más del famoso skimming. Sin embargo esta opción es limitada, dado que en la Eurozona ya es obligatorio desde la implantación de la SEPA86 que todos los TPV tengan la opción de realizar pagos a través de chip EMV y que sea éste el medio de pago por defecto en transacciones con tarjeta. Con todo y con eso la banda magnética no desaparece, dado que en algunos
86 ADICAE (2012), Estudio Jurídico sobre el impacto del fraude, Asociación de Usuarios de Bancos, Cajas y Seguros, p. 8, Zaragoza: ADICAE. Recuperado de: http://asp.adicae.net/proyectos/internacionales/fraudemediosdepago/seminario/archivos/Estudi oJuridicoFraude_ES.pdf [Consulta: 17 de mayo de 2015]
países (principalmente Estados Unidos) la tradición de este medio está muy arraigada, por lo que este escenario es aún factible y viable.
Otro uso fraudulento posible es la compra por Internet. Si bien el código CVV (víd. Capítulo 1) no se encuentra más que en la impresión del reverso de la tarjeta (no se almacena en el chip EMV ni en la banda magnética), es cierto que existen numerosas páginas web como la propia Amazon en las que este código no se solicita. De la misma manera ocurre en compras telefónicas.
Esparza también menciona la posibilidad de que esta información robada pase a formar parte de uno de los muchos mercados negros de datos personales que existen. La mayoría de ellos pueden encontrarse en la Deep Web, y suponen
infraestructuras (muchas veces enormes) de intercambio de datos financieros ajenos con objetivos eminentemente lucrativos y delictivos.
Por último, existe otra tipología de ataque a partir
de la vulnerabilidad descrita que, si bien no es puramente bancario, ciertamente no ha sido convenientemente contemplado por los anteriores autores que han profundizado en la materia: se trata de la individualización y el trazado del titular de una tarjeta en base a la información obtenida en los pasos anteriores.
El escenario es el siguiente: un adversario posee uno o varios nodos malignos con capacidad de realizar los ataques mencionados. En tal situación, el adversario no solo tiene unos datos bancarios: tiene también datos personales (nombre, apellidos y género), con la seguridad añadida de que éstos son íntegros, ya que para obtener la tarjeta el individuo titular de la misma se ha tenido que identificar. Esto podría ser ya de por sí suficiente para individualizar a la persona si ésta posee nombre o apellidos fuera de lo común,
pero en este caso el adversario cuenta con la ventaja añadida de tener un elemento que identificará a esa persona unívocamente: el número de la tarjeta. Si bien es posible que existan varios "Manuel Pérez Fernández" en el mundo, es imposible que más de uno de ellos tenga el mismo número de tarjeta. Por lo tanto, teniendo un adversario el control de un nodo de lectura de tarjetas de crédito NFC (un TPV infectado o simplemente un lector camuflado colocado a la altura de los bolsillos en un lugar de paso obligado como un torniquete del metro) sería al mismo tiempo capaz de trazar la situación de toda persona que pasara cerca del nodo. Hay que destacar que esta vulnerabilidad no solo supone un atentado contra el derecho a la privacidad y la libre deambulación, sino que también puede implicar acciones delictivas relacionadas con terrorismo o crimen organizado (seguimientos, control de rutinas, etc.).
Si bien este tipo de vulnerabilidades llevan un tiempo sin ser reivindicadas por los colectivos de hacking ético o por la prensa, hoy en día continúan sin ser corregidas, como demuestra la existencia de distintas aplicaciones que responden a esta funcionalidad87. En la misma línea, en el anexo III se da cuenta del experimento práctico realizado por el investigador mediante la aplicación "Banking Card Reader (EMV)", en la que se demuestra la vigencia de esta vulnerabilidad en las tarjetas bancarias.
Página anterior | Volver al principio del trabajo | Página siguiente |