La tecnología NFC o Near Field Communication, normalmente utilizada en smartphones, cámaras y tarjetas de acceso, se ha vuelto popular y sigue ganando terreno porque permite el intercambio inalámbrico de datos entre dispositivos a corta distancia. En este post profundizaremos en la seguridad de las aplicaciones que normalmente la utilizan y veremos de qué forma podría ser comprometida.
Diferencias en NFC Y RFID
En muchas ocasiones escuchamos hablar sobre RFID, siglas en inglés que se traducen como "Identificación por radio frecuencia". Esta es una tecnología de comunicación digital inalámbrica, dentro de la cual se encuentran las tecnologías NFC.
Es importante entender que existen algunas diferencias importantes dentro de este subgrupo; la principal es que en RFID se permite la transferencia de datos a una mayor distancia en metros, debido a que no está limitada como NFC por cuestiones de seguridad y energéticas.
Usos más comunes del NFC
Antes de introducirnos en temas de seguridad debemos entender que el NFC tiene muchos usos, tanto para fines comerciales como a nivel de desarrollo y para juegos o pasatiempos, y cada uno de ellos propone distintos desafíos y posibles vectores de ataque.
Para mencionar casos más puntuales ejemplificaremos solo algunos:
- Medios de pago
- La transferencia de datos de un smarphone a otro
- Compartir e iniciar sesión en WIFI o bluetooth
- El intercambio de información de contactos
- La automatización de tareas
- Almacenamiento y transferencias de billeteras de bitcoins
- Desactivación de las alarmas y control de accesos
- Envío de comandos de WakeOnLan
Protocolos de RFID
Como imaginarás al ver la diversidad de usos, también es lógico que exista una gran variedad de protocolos dentro de RFID como son Mifare, Mifare Plus, Mifare DESFire, UHF, Keeloq o EM4102(125khz), entre otros.
El sistema Keeloq es muy utilizado en controles remotos de automóviles, por ejemplo, y para entender cómo funciona su seguridad utilizaremos el siguiente diagrama:
Como podemos observar en el gráfico, el protocolo es bastante simple. En cada transmisión con un sistema KeeLoq, los paquetes contienen 66 bits formados por los siguientes códigos:
- 6 bits de estado, formados a su vez por 4 bits de función, indicando el estado de los pulsadores y 2 bits de CRC (código de redundancia cíclica) que sirven para verificar que el resto de los datos ha llegado correctamente.
- 32 bits de código fijo formados por 28 bits que representan el número de serie del codificador y 4 bits de estado.
- 32 bits cifrados formados por un código de salto generado por un algoritmo no lineal.
Por otra parte, el protocolo EM4102 está siendo remplazado por el EM4200, cuya principal ventaja radica en que posee mayor alcance en cuanto a distancias de lectura respecto a Mifare. Sin embargo las tarjetas UHF alcanzan distancias aún mayores en metros y por eso también son utilizadas en controles de acceso o peajes.
Las tecnologías Mifare son muy utilizadas y están extensamente distribuidas, llegando a alcanzar el 80% del mercado. Existen varios tipos como son las de 1k y 4k que utilizan el algoritmo CRYPTO1.
Ataques a tecnologías RFID
Cuando hablamos de ataques de seguridad a las tecnologías de RFID, debemos mencionar que los más comunes son los del tipo Relay attack, Replay attack, Cryptanalytic attack, Side channel attack y Tracing attack. Al analizar las tecnologías clásicas de Mifare basadas en el estándar de ISO 14443, se demostró en diversos estudios que todos estos ataques afectan a esta tecnología.
La mayoría se centran en el concepto de que esta tecnología tiene bajos niveles de criptografía, es decir que en muchos casos el numero aleatorio que forma una de las llaves es predecible, dejando una gran brecha en la seguridad.
Este algoritmo posee varias deficiencias en cuanto a la seguridad, y por este motivo puede ser roto en forma relativamente fácil por especialistas de seguridad. Sus vulnerabilidades han sido demostradas en varias conferencias como Defcon o Ekoparty, en donde especialistas lograron romper en vivo la seguridad de las tarjetas de transporte público, por ejemplo de Argentina (SUBE), mediante varios métodos y con herramientas de muy bajo presupuesto como es un lector de NFC para computadoras personales.
También en algunos países de Latinoamérica aparecieron aplicaciones que explotaban esta vulnerabilidad directamente desde los smartphones activando el NFC. Un ejemplo de esto fue una aplicación llamada “Punto BIP!”, que permitía cargar crédito con simplemente un par de clics.
Esta aplicación daba la posibilidad de cargar una suma importante de dinero a la cuenta ligada a la tarjeta de transporte e inclusive cambiar su número para aprovechar el saldo de otra persona o evitar que esta sea bloqueada.
En otros países de Latinoamérica, otro tipo de ataque bastante visto fue aquel en el que se podía generar una backup de las tarjetas también mediante el uso de diversas aplicaciones dentro de los smartphones. Estas permiten volver a restaurar la copia original cuando el crédito ya se había agotado.
En las siguientes imágenes podemos ver algunas de estas aplicaciones:
Diversidad de canales
Este tipo de ataques no solo puede realizarse desde teléfonos celulares; recientemente han aparecido nuevas técnicas de “biohacking”, en donde como prueba de concepto se han implantado dispositivos NFC para realizar intrusiones e inclusive propagar malware.
Desde el sitio de dangerousthings.com se puede comprar este tipo de kits, que son bastante extraños y en mi opinión un poco extremos. Básicamente se componen de un par de guantes y una especie de jeringa estéril que incluye la cápsula de NFC.
Como podemos observar en la imagen, la píldora inyectada resulta casi imperceptible y fácilmente podría permitir el acceso a zonas vigiladas por controles NFC o derivar en importantes fugas de información mediante la propagación de códigos maliciosos e Ingeniería Social, al generar un enlace de descarga para infectar los dispositivos cercanos.
En virtud a estas vulnerabilidades y a la cantidad de aplicaciones que pueden ser utilizadas para ser explotadas con fines maliciosos, los fabricantes están en proceso de migrar hacia otras tecnologías que poseen mayores medidas de seguridad, como por ejemplo los nuevos protocolos de Mifare.
Sin embargo, como es común en el sector de seguridad informática, el costo de la migración a veces no acompaña al negocio, debido a que hay escasa cantidad de incidentes de seguridad y el costo de cambiar todos los sensores es muy alto; es por eso que esta tecnología sigue hoy en día estando muy presente.