BlueSpy – Espiando conversaciones a través de Bluetooth
BlueSpy es una prueba de concepto que permite explotar vulnerabilidades presentes en auriculares Bluetooth y espiar conversaciones privadas
Los primeros resultados tras la publicación de BSAM, una metodología de seguridad que permite evaluar la seguridad de dispositivos Bluetooth de forma completa y homogénea, no se han hecho esperar.
Su aplicación ha ayudado a identificar problemas de seguridad en un gran número de auriculares Bluetooth, evidenciando que los fabricantes deben tomarse la seguridad de Bluetooth en serio para evitar, entre otros riesgos, conexiones no autorizadas a estos dispositivos para espiar conversaciones.
Haciendo uso de un script en Python desde Linux es posible automatizar las tareas necesarias para explotar una vulnerabilidad común en dispositivos Bluetooth. Esta vulnerabilidad permite a cualquiera acceder al dispositivo Bluetooth sin que este avise o notifique al propietario, es decir, de manera totalmente silenciosa.
La demostración se ha centrado en unos auriculares particulares de gama alta, pero se ha evidenciado que existen auriculares de otros fabricantes que también se encuentran afectados por la misma vulnerabilidad, ya que únicamente es necesario que el dispositivo admita un emparejamiento de tipo “JustWorks”.
Ha sido en el congreso de seguridad RootedCon Madrid 2024 donde Tarlogic ha presentado BSAM y su investigación, demostrando cómo capturar audio sin que el usuario del dispositivo sea consciente y utilizarlo para espiar conversaciones privadas.
Esta metodología abierta y colaborativa incorpora controles que evalúan la seguridad de múltiples aspectos de las comunicaciones Bluetooth y proporciona ejemplos de vulnerabilidades en esta tecnología, tan ampliamente utilizada en dispositivos móviles y de bajo consumo.
Identificación de la vulnerabilidad usando BSAM
La metodología se encuentra dividida en 7 secciones, que representan las fases durante una auditoría y se ocupan de los aspectos de la seguridad de un dispositivo Bluetooth.
Una de esas secciones es la referida a la fase de descubrimiento entre dispositivos, en la que los dispositivos emiten e intercambian mensajes de anuncio con información sobre la identidad del dispositivo y sus capacidades.
Entre los controles de seguridad incorporados a la fase de descubrimiento, es especialmente relevante comprobar el nombre expuesto, en qué momento el dispositivo es detectable y el uso de direcciones MAC aleatorias.
En nuestro caso, los auriculares empleados exponen su nombre en los mensajes de anuncio de Bluetooth lo que los identifica inmediatamente.
Por otro lado, los auriculares utilizan una dirección MAC pública y estática, que los identifica unívocamente y hace que su fabricante sea fácilmente identificable.
La combinación de estos factores hace que un dispositivo sea fácilmente identificable como un objetivo para un ataque como el presentado y permite buscar información adicional, como el modelo concreto y que cuenta con micrófono.
Aunque los problemas identificados durante la fase de descubrimiento del dispositivo no parecen especialmente relevantes por sí mismos si ayudan a dirigir la auditoría durante la siguiente fase del análisis de BSAM: el emparejamiento.
El emparejamiento es el proceso durante el cual dos dispositivos Bluetooth generan una clave compartida, que será utilizada para cifrar el enlace y autenticar a ambos dispositivos en adelante. Sin la clave compartida, lo normal es que los dispositivos no permitan continuar con la conexión o sólo permitan interactuar entre sí de forma limitada.
Los controles de BSAM referidos a la etapa de emparejamiento comprueban del nivel de seguridad durante este procedimiento y la protección de la clave compartida que se genera. El nivel de seguridad del emparejamiento depende del nivel de control que tiene el usuario sobre el proceso. En el nivel más alto de seguridad, el usuario debe introducir un pin en ambos dispositivos involucrados, de forma que sólo los dispositivos explícitamente autorizados por el usuario puedan emparejarse.
Por facilidad de uso Bluetooth implementa un mecanismo inseguro de emparejamiento llamado “JustWorks”, este no exige ningún tipo de verificación o notificación al usuario y que permite que cualquier dispositivo se empareje de manera desatendida e interactúe con él.
BlueSpy explota durante el emparejamiento el hecho de que se puede utilizar el mecanismo “JustWorks” que no exige el uso de un emparejamiento seguro. En combinación con un dispositivo que se encuentra descubrible y en modo emparejable, cualquiera utilizando BlueSpy puede iniciar el emparejamiento, establecer una clave compartida, conectarse a los auriculares y empezar a utilizarlos como si fuese un usuario legítimo y en este caso, activar el micrófono y espiar las conversaciones.
El script BlueSpy
BlueSpy es el script de Python desarrollado como prueba de concepto de explotación de esta vulnerabilidad. Para funcionar únicamente necesita herramientas nativas de bluetooth disponibles en sistemas operativos Linux.
Se ha utilizado una distribución Arch Linux con una instalación funcional de BlueZ, la pila de Bluetooth de Linux, y de PipeWire cómo servidor de audio, utilizado para grabar y reproducir el audio capturado.
La herramienta BlueSpy, con el código y documentación, se encuentra publicada en el repositorio de GitHub de Tarlogic Security. GitHub de Tarlogic Security.
Para ejecutar el ataque contra un dispositivo, se necesita conocer su dirección MAC de Bluetooth, que se puede obtener con cualquier herramienta de escaneo bluetooth, en nuestro caso empleando bluetoothctl:
Una vez se ha obtenido la dirección MAC del dispositivo se puede ejecutar BlueSpy que realiza los siguientes pasos para ejecutar el ataque:
- Configuración inicial
- Emparejamiento (generación de clave compartida)
- Conexión
- Grabación de audio
- Reproducción del audio
Durante la etapa de configuración, el script se asegura de que el equipo local permitirá el emparejamiento y establecimiento de claves compartidas con dispositivos remotos y de que podrá hacerlo sin seguridad durante el proceso. En otras palabras, se asegura de que se podrá usar “JustWorks” para evitar que el usuario sea notificado o tenga que interactuar.
Una vez configurado, se realiza el emparejamiento y se almacena la clave generada en la base de datos de dispositivos de BlueZ, que generalmente se encuentra en el directorio “/var/lib/bluetooth”.
Con la clave generada y almacenada, se puede iniciar una conexión con el dispositivo usando bluetoothctl, con esto y de manera automática el servidor de sonido PipeWire habilita una nueva fuente de audio en el sistema (audio source).
BlueSpy utiliza esta nueva fuente de audio para realizar la grabación y almacenarla en un archivo (“recording.wav”, por defecto). Luego, esa grabación se puede reproducir con “paplay”, o cualquier otra herramienta de reproducción de audio.
Mitigación
El motivo fundamental por el que el BlueSpy funciona es porque los auriculares no requieren el uso de un emparejamiento seguro. La mitigación más directa es exigir que el usuario tenga que permitir explícitamente el emparejamiento utilizando un botón físico, o reproduciendo una notificación de audio cuando recibe un intento de emparejamiento nuevo.
Otra de las mitigaciones posibles es el uso de un botón o control físico para activar o desactivar el estado de descubribilidad y emparejabilidad del dispositivo, de forma que sea el usuario quien controla cuando se encuentra en cada modo de funcionamiento.
Todas estas mitigaciones han de ser implementadas por el fabricante del dispositivo, pero el usuario también puede protegerse incorporando prácticas seguras a su uso cotidiano de la tecnología Bluetooth.
Existen auriculares que no son descubribles, ni emparejables, ni conectables cuando se encuentran cerrados en su estación de carga o cuando ya se encuentran conectados a algún otro dispositivo, por lo que una forma de evitar estos ataques es mantenerlos cerrados en su caja siempre que no se vayan a usar.
Estas recomendaciones, sin embargo, pueden no ser suficientes para otros dispositivos con problemas similares, ya que los dispositivos Bluetooth pueden comportarse de formas muy dispares. Por eso es especialmente importante que los dispositivos Bluetooth estén auditados desde el punto de vista de la seguridad utilizando por ejemplo la metodología BSAM y conocer su funcionamiento concreto.