Products and Services PRODUCTS & SERVICES

Apple AirDrop tiene una “fuga de privacidad significativa”, dicen investigadores alemanes

Investigadores de seguridad de la Universidad Técnica de Darmstadt en Alemania acaban de publicar un comunicado de prensa sobre un artículo académico que presentarán en una conferencia de Usenix a finales de 2021.

Si el final de la última oración te da una sensación de déjà vu, es porque parece ser el mes de “anuncia tu conferencia de Usenix”, a principios de esta semana escribimos sobre académicos holandeses que habían descubierto una forma  de atacar un ordenador a través del navegador basada en rowhammering.

El documento en sí tiene un título redactado de manera neutral que simplemente establece el algoritmo que presenta, a saber: PrivateDrop: Practical Privacy-Preserving Authentication for Apple AirDrop.

Pero el comunicado de prensa es más dramático e insiste en que:

Apple AirDrop comparte más que archivos. [Descubrimos] una fuga significativa de privacidad en el servicio de intercambio de archivos de Apple.

Para aquellos que no tienen iPhones o Mac, AirDrop es un protocolo de Apple sorprendentemente útil pero patentado que permite compartir archivos directamente pero de forma inalámbrica con otros usuarios de Apple cercanos.

En lugar de compartir archivos a través de la nube, donde el remitente carga a un servidor central desde donde el destinatario luego descarga el archivo, AirDrop funciona incluso cuando ambos usuarios están fuera de línea, usando una combinación de Bluetooth y Wi-Fi de igual a igual para compartir fideeros de una manera fácil y rápida.

El problema, según los investigadores, viene en forma del modo de solo contactos de AirDrop, donde le dice a AirDrop que no acepte conexiones de cualquiera, sino solo de usuarios que ya estén en la lista de contactos.

Para que quede claro, abrir AirDrop para “Todos” no significa que cualquiera pueda acceder a tu teléfono sin que lo sepas, porque primero aparece una ventana emergente que solicita permiso y el remitente no puede omitir ese paso.

Pero un problema con el modo “Todos” es que si alguien intenta enviarte un archivo, la ventana emergente incluye una pequeña miniatura del archivo que deseas enviar, por lo que puedes comprobar que no solo sea un remitente en el que se confía, sino el contenido que desea compartir.

Eso significa que puedes ser fácilmente bluejacked, el término de la jerga para alguien que envía una foto no solicitada que te ves obligado a ver para decidir si quieres verla.

Por lo tanto, utilizar el modo  “Solo contactos” parece una buena opción.

Sin embargo, hay un problema diferente si usas el modo “Solo contactos”, dicen los investigadores de Darmstadt.

En pocas palabras, los dos extremos de una conexión AirDrop acuerdan si se consideran un contacto intercambiando paquetes de red que no protegen adecuadamente la privacidad de los datos del contacto.

Los investigadores afirman que los identificadores de contacto, que se basan en números de teléfono y direcciones de correo electrónico, se intercambian como hashes criptográficos SHA-256, para proteger los datos originales.

Cada extremo convierte sus propios datos de contacto en valores hash y los compara con los datos enviados por el otro, en lugar de compartir y comparar los números de teléfono y las direcciones de correo electrónico originales.

Esto significa que cada extremo no tiene que revelar sus datos de contacto sin procesar al otro, solo para ver qué entradas tienen en común.

Aparentemente, los hashes intercambiados son solo eso, hashes simples, sin algoritmos de salteado, de modo que si tuvieras una lista precalculada de todos los hashes posibles para todos los números de teléfono posibles, podrías buscarlos en tu lista de hash y así “Revertir” el cifrado con fuerza bruta.

Los números de teléfonos móviles del Reino Unido, por ejemplo, tienen el formato +44.7xxx.xxx.xxx, porque todos los números del Reino Unido comienzan con +44 y todos los teléfonos móviles del Reino Unido comienzan con un 7, dejando solo nueve dígitos para el resto.

Por lo tanto, solo hay 109 números posibles, es decir mil millones, que la mayoría de los portátiles modernos podrían calcular en horas o incluso minutos.

Cada hash SHA-256 tiene 32 bytes de longitud (256 bits), si eliges almacenar todo en lugar de de una parte mitad, ocuparía solo 32 GB de espacio en disco.

Para las direcciones de correo electrónico, calcular una “lista inversa” exhaustiva es claramente imposible, pero si utilizas una lista de direcciones de correo electrónico conocidas, como las que se han arrojado en varias violaciones de datos a lo largo de los años, podrías crear y guardar un “diccionario inverso” de posibles candidatos que ocupe aproximadamente lo mismo que la lista de números de teléfono.

¿TLS no soluciona el problema?

Por supuesto, la etapa del acuerdo de contacto del proceso de AirDrop ocurre a través de TLS, por lo que un atacante externo no puede simplemente olfatear los datos de contacto hash.

E incluso con un teléfono con jailbreak, el atacante no podría configurar fácilmente un kernel de iOS modificado que extrajera de manera confiable el contenido de los paquetes AirDrop para su posterior descifrado.

Sin embargo, el equipo de Darmstadt ya “resolvió” el problema de TLS en un documento de Usenix de 2019, al descubrir una forma de ejecutar un ataque Manipulator-in-the-Middle, o MitM para abreviar, contra el proceso de configuración de la conexión AirDrop.

Un MitM es donde X crees que están hablando directamente con Y, lo que denotaremos como X <-> Y, pero el tráfico en realidad se está transmitiendo o recibiendo a través de la M en el medio, así: X <- > M <-> Y.

TLS, por supuesto, se supone que ayuda a prevenir ataques MitM al permitir que cada extremo, si lo desea, solicite un certificado digital del otro, y que cada extremo verifique que el certificado del otro es un certificado emitido por una entidad de confianza.

Y en el modo “Solo contactos”, AirDrop aparentemente insiste en que cada extremo presente un certificado que, en última instancia, está firmado por la propia Apple.

Certificados autofirmados

Sin embargo, según el documento de 2019, si el destinatario está usando el modo “Todos” en AirDrop, se permiten los certificados autofirmados, por lo que incluso los iPhones que nunca solicitado registrarse en una cuenta de Apple pueden responder por sí mismos y usar AirDrop de todos modos.

En el documento de 2019, los autores también descubrieron una manera de detectar que dos usuarios estaban tratando de iniciar una conexión AirDrop y evitar que funcione bloqueando la configuración del tráfico de la red con restablecimientos de conexión falsos y también se dieron cuenta de que, si se interpone en el camino con la suficiente frecuencia cuando dos personas intentan compartir archivos, muchos destinatarios eventualmente le dirán al remitente: “Espera un minuto, cambiaré temporalmente al modo “Todos” y veré si eso funciona”.

En ese momento, un atacante puede iniciar un servicio AirDrop que se parezca al del destinatario real eligiendo un nombre de dispositivo similar al real (por ejemplo, usando John en lugar del iPhone de John), engañar al remitente para que se conecte al dispositivo MitM, conectarse al destinatario ahora abierto a todos, y terminar como MitM.

¡Bingo, un ataque de MitM que funciona!

En este punto, dicen los investigadores, puedes leer los hash SHA-256 de la lista de contactos del remitente e intentar descifrar los hash de los datos de contacto en la lista con las tablas que calculaste previamente.

Los investigadores afirman que:

Informamos a Apple sobre la vulnerabilidad ya en mayo de 2019 a través de una divulgación responsable. Hasta ahora, Apple no ha reconocido el problema ni ha indicado que estén trabajando en una solución.

Es de suponer que esa es la razón por la que escribieron el artículo Usenix de este año, que presenta un protocolo de coincidencia de contactos AirDrop modificado que, según afirman, resuelve todos estos problemas, con la esperanza de que Apple pueda adoptarlo en el futuro.

¿Qué hacer?

Como probablemente hayas descubierto, hay muchos puntos críticos en este ataque, por lo que los ciberdelincuentes necesitan tener suerte.

En particular, por lo que sabemos, los atacantes necesitan que los destinatarios se sientan lo suficientemente frustrados por no poder conectarse como para volver al modo “Todos”, y los atacantes también necesitan que los remitentes reconozcan erróneamente el dispositivo del destinatario cuando intentan volver a conectarse.

Entonces, si estás preocupado por este ataque:

  • Apaga AirDrop si no lo está usando. De todos modos, esa es una buena práctica de seguridad. No es necesario que otros usuarios de AirDrop puedan detectarte todo el tiempo.
  • No entres en el modo “Todos” si el modo “Solo contactos” falla. Si estás en un lugar privado con un remitente en quien confías, probablemente no tengas problemas, pero si estás en una cafetería o en un centro comercial concurrido, recuerda que el modo “Todos” te abre, bueno, a todos los que te rodean.
  • Ten cuidado con quién te conectas. Los investigadores se basaron en el uso de variantes obvias del nombre del dispositivo del destinatario, utilizando una especie de truco de “ocupación de nombres”. Si puedes, haz que el destinatario te muestre el nombre de su dispositivo en la pantalla primero para que no te equivoques al elegir un nombre similar pero falso.