Vulnerabilidad de seguridad en la conexión rápida de AirPods
(blogs.gnome.org)- Debido a CVE-2024-27867 en el firmware de AirPods, alguien que conozca la dirección Bluetooth MAC puede conectarse al dispositivo para escuchar el micrófono o reproducir música
- La vulnerabilidad ocurre porque en la ruta de Fast Connect, el protocolo propietario de Apple, no se verifica de forma explícita el estado de autenticación y cifrado
- La dirección Bluetooth MAC necesaria para el ataque no es completamente privada y puede obtenerse por aire cuando los AirPods están en modo de emparejamiento o activos
- Si los AirPods están dentro del estuche de carga cerrado, o si los AirPods Max están dentro de su Smart Case, las funciones inalámbricas se apagan y no es posible conectarse
- Apple distribuyó actualizaciones de firmware para AirPods y algunos Beats, pero para usuarios de Android, Windows o Linux que los usan sin iOS o macOS, el proceso de actualización puede ser más engorroso
Vulnerabilidad del firmware de AirPods y alcance del impacto
- El firmware de Apple AirPods tiene la vulnerabilidad de seguridad CVE-2024-27867
- Alguien que conozca la dirección Bluetooth MAC puede conectarse a los AirPods y realizar las siguientes acciones
- Escuchar el micrófono
- Reproducir música
- Verificar y pausar la música que se está reproduciendo desde otro dispositivo conectado
- Ejecutar algunas acciones posibles con el protocolo AAP
- Enviar mensajes con formato incorrecto para hacer que los AirPods fallen
- Incluso si los AirPods ya están conectados a un teléfono, un atacante puede conectarse adicionalmente
- Sin embargo, si el atacante activa el micrófono, la reproducción de música se detiene
- Si los AirPods están dentro del estuche de carga cerrado, o si los AirPods Max están dentro de su Smart Case, las funciones inalámbricas se apagan y no es posible ningún tipo de conexión
Cómo se descubrió la vulnerabilidad
- En la combinación de AirPods 3 con macOS y dispositivos Apple, varias funciones operaban con normalidad, pero al arrancar la misma laptop con Linux no se conectaban al mismo tiempo al teléfono y a la laptop
- A partir de esta diferencia, se concluyó que se estaba usando un protocolo exclusivo de Apple que no existe en audífonos Bluetooth comunes, y se inició el análisis para reimplementar algunas funciones en Linux
- Durante ese análisis, se descubrió la vulnerabilidad en la función Fast Connect de Apple para conectar periféricos Bluetooth
Cómo funciona Fast Connect
- Fast Connect es un protocolo propietario de Apple y utiliza de forma creativa la función ping de la especificación Bluetooth
- Su objetivo es reducir el tiempo de establecimiento de conexión entre dos dispositivos Apple de aproximadamente 1 segundo a aproximadamente 0.5 segundos
- Antes de autenticarse con el dispositivo de destino, ambos dispositivos intercambian mensajes ping de L2CAP
- Apple inserta mensajes del protocolo dentro de la carga útil del ping
- De esta forma, verifica si ambos lados son compatibles con Fast Connect sin violar la especificación Bluetooth
- Después, realizan 3 rondas adicionales de intercambio de mensajes para negociar lo necesario para la conexión
- En total, solo se requieren 4 rondas de ida y vuelta, por lo que es más rápido que el procedimiento normal de Bluetooth de intercambiar descriptores SDP y configurar canales
Falta de verificación de autenticación
- El problema está en que, en una ruta de código separada que implementa Fast Connect, faltan verificaciones importantes
- Los AirPods no verifican si la contraparte realmente se autenticó ni si activó el cifrado
- En iOS y macOS normales, después de los mensajes iniciales de Fast Connect se ejecutan los pasos de autenticación y activación del cifrado
- Aunque un atacante omita estos pasos, los AirPods continúan el proceso de Fast Connect
- Al conectarse a los AirPods por el método Bluetooth normal sin Fast Connect, la etapa de autenticación está implícitamente incluida, por lo que es posible que por eso faltara una verificación explícita en la ruta de código de Fast Connect
Condición de la dirección Bluetooth MAC
- El atacante necesita conocer la dirección Bluetooth MAC fija de los AirPods
- Esta dirección no es información completamente privada
- Se anuncia por aire cuando el dispositivo Bluetooth está en modo de emparejamiento
- También puede obtenerse fácilmente por radio cuando los AirPods están activos usando hardware como Ubertooth One
Actualizaciones y el problema para usuarios no Apple
- Apple distribuyó en los últimos días varias actualizaciones de firmware que corrigen esta vulnerabilidad
- Se aplican a AirPods 2, AirPods 3, AirPods Pro, AirPods Pro 2, AirPods Max y algunos audífonos Beats
- Los usuarios deben verificar que el firmware de sus AirPods esté actualizado
- Información de actualizaciones de seguridad: página de seguridad de Apple
- Cómo actualizar: guía de actualización del firmware de AirPods
- El firmware de AirPods se actualiza automáticamente, pero solo cuando se usan junto con un iPhone o una MacBook
- A las personas que usan AirPods sin dispositivos con iOS o macOS, como usuarios de Android, Windows o Linux, puede resultarles difícil actualizar el firmware con facilidad
- Parece que estos usuarios pueden recibir la actualización de firmware en una Apple Store
Reporte y herramientas
- Jiska Classen, de la University of Potsdam, ayudó con preguntas relacionadas con Bluetooth y con el proceso de divulgación
- Herramientas de la comunidad Linux como BlueZ fueron necesarias para encontrar este problema
1 comentarios
Opiniones de Hacker News
Quisiera saber qué factores determinan la unidad de tiempo de este proceso.
Al final, la estructura hace que el handshake —en el que ambos lados verifican qué funciones admiten y deciden con qué protocolo de capa física comunicarse— sea lo que consume tiempo.
Existen algunas apps de terceros, pero son poco confiables; por suerte, en Mac se puede hacer casi todo, aunque la prueba de ajuste requiere un iPhone. Las actualizaciones de firmware no las puede controlar el usuario y no hay ninguna información de estado ni progreso, así que el proceso está diseñado para ser lo más confuso posible.
Una vez, un empleado de soporte de Apple Store me dijo: “Pon los AirPods en el estuche abierto conectados a la Mac, conecta el estuche a la corriente y déjalos unos 30 minutos”, pero en la práctica parece que la actualización tiene bastante aleatoriedad. También daba la impresión de que los empleados de Apple Store a veces entendían de forma muy vaga la integración entre productos de Apple que no fueran el iPhone, y dos veces se sorprendieron de que usara AirPods solo con Mac y Android, sin iPhone.
https://support.apple.com/en-us/106340
La versión de EE. UU. muestra números de versión de firmware más recientes distintos; por ejemplo, los AirPods Pro de 2.ª generación están en 6F8, mientras que en la versión de India figuran como 6B34.
Me deja esperando una continuación sobre la implementación en Linux.
Me gustaría tener más control sobre la actualización.
https://support.apple.com/en-us/106340
Es cierto que más del 95% de los usuarios de AirPods no necesitan saber nada sobre actualizaciones de firmware, pero quienes sí se preocupan deberían tener una forma de verificar qué está pasando.
Normalmente no es un gran problema, pero alguna vez recibí el firmware de los AirPods con varios días de demora, y en el futuro podría llegar un momento en que una actualización inmediata sea importante.
Si el método consiste en cortar una conexión existente, parece difícil espiar una llamada o un stream de audio sin que el usuario se dé cuenta. No sé si lo peor sería escanear direcciones MAC a corta distancia, conectarse automáticamente y reproducir ruido en los oídos de alguien, o si hay un problema mayor.
Podría ser posible arrebatarle los AirPods a una celebridad importante o a un político mientras está en una videollamada, pero parece que se notaría de inmediato; me pregunto si hay algo peor que eso.
Además, tomar control de una conexión Bluetooth implica obtener una superficie de ataque bastante amplia, así que si el atacante conoce otras vulnerabilidades, también abre el camino a encadenar exploits adicionales.
Como el protocolo “Fast Connect” parece permitir estar “conectado” a varios dispositivos al mismo tiempo, es muy probable que el usuario no se dé cuenta. Otro ataque sería colocar dispositivos con forma de posavasos de café por toda una oficina, como si fuera personal de limpieza, para capturar el audio de los AirPods cercanos.
En esencia, la parte difícil ya estaría resuelta; solo habría que fabricar un dispositivo con una batería pequeña, un transmisor Bluetooth y almacenamiento para recolectar audio de alta calidad cerca de donde la gente habla.
Aunque habría que estar dentro del alcance de Bluetooth, así que quizá sea más fácil simplemente escuchar de la manera normal.
Si no se hubiera parcheado, alguien habría creado una app de interferencia de AirPods para Flipper Zero y habría cortado el audio de los AirPods de todos en lugares públicos solo para fastidiar.
6A326 parece ser la versión que incluye la corrección.
https://support.apple.com/en-us/HT214111
Probablemente sea la versión para AirPods Pro de 2.ª generación.