Thursday, August 16, 2007

Avances en sniffing Bluetooth

Esta semana se han producido dos grandes avances en relación con la capacidad para sniffar comunicaciones Bluetooth.

Recordemos que sniffar comunicaciones Bluetooth es un tema bastante complicado debido a que:

1) La técnica de salto de frecuencias impide a cualquier dispositivo que no forme parte de la piconet (que no esté emparejado con el maestro) escuchar las comunicaciones, ya que no tiene acceso a la tabla de saltos utilizada para la transmisión de paquetes.

2) Los adaptadores USB Bluetooth convencionales no se pueden poner en modo promiscuo (como las tarjetas Ethernet o Wi-Fi). Hasta el momento, existían adaptadores hardware especiales, pero su precio rondaba los $10,000 en el mercado.

Durante el pasado evento 23C3, Thierry Zoller publicó la herramienta BTCrack para Windows. BTCrack es un programa que permite crackear el PIN y la clave de enlace compartidos por dos dispositivos a partir de las tramas capturadas durante el emparejamiento de ambos. El software existía, lo dificil y caro era conseguir el hardware que sniffara esas tramas. En aquel momento, Zoller hizo un llamamiento para encontrar una técnica que permitiera construir un sniffer Bluetooth de bajo coste.

Max Moser acudió al llamamiento y publicó un paper en el que desmontaba el mito de que conseguir un sniffer Bluetooth sólo era posible adquiriendo carísimos productos propietarios. Realizando ingeniería inversa de un producto comercial (que no conviene nombrar) fue capaz de flashear un adaptador USB Bluetooth convencional con el firmware de este sniffer comercial. La aplicación reconocía el hardware como parte del paquete comercial y permitía sniffar.

El procedimiento de construir un sniffer Bluetooth a partir de un adaptador USB Bluetooth convencial podía desarrollarse en Linux, pero para enviar comandos al hardware y sniffar con él hacía falta el producto comercial para Windows.

Pues bien, la primera noticia es la publicación de una herramienta que permite enviar comandos al adaptador hardware y utilizarlo para sniffar. El nombre de esta herramienta es BTSniff y está disponible para Linux. El autor es Andrea Bittau @ http://darkircop.org/.

BTSniff consta de dos partes:

- Ensamblador para construir tu propio firmware
- Frontline para envío de comandos: sincronizar con el maestro, sniffar tramas, ...

En principio, BTSniff sólo funciona con adaptadores USB Bluetooth con chipset CSR que han sido flasheados con el firmware del sniffer comercial.

Gracias a estos dos avances, el sniffing de comunicaciones Bluetooth está más cerca de ser una realidad y estar al alcance de cualquiera. (Aunque, ¿eso es bueno?). En cualquier caso, la nueva especificación 2.1 de Bluetooth que acaba de ser publicada por el SIG introduce algunas mejoras en seguridad. No obstante, de aquí a que la especificación 2.1 domine el mercado de los teléfonos móviles aún quedan años de diversión :)

¿Y para qué sirve todo esto? Diréis lo no iniciados en seguridad Bluetooth...

Os cuento: Gracias a BTSniff, un atacante podrá sincronizarse con el maestro de una piconet y sniffar las tramas transmitidas durante una comunicación Bluetooth con otro dispositivo. Lo interesante sería llevarlo a cabo durante el emparejamiento de dos dispositivos Bluetooth. Capturando estas tramas, el atacante tendría acceso a las keys generadas en el proceso de emparejamiento y podría obtener la clave de enlace Bluetooth a partir de las mismas con ayuda de BTCrack. Con la clave de enlace en su poder, el dispositivo atacante podría acceder de forma transparente a cualquiera de los dos dispositivos suplantando la BD_ADDR del otro dispositivo y utilizando la clave de enlace crackeada. El acceso transparente implica poder conectarse a cualquier perfil del dispositivo objetivo saltándose los mecanismos de seguridad de Bluetooth de autenticación y autorización, tal y como se explica en el ataque BD_ADDR Spoofing. Las posibilidades: muy "interesantes"... como el acceso a los comandos AT (realizar llamadas de teléfono, gestión de la agenda de contactos, gestión de mensajes SMS, ...) o el acceso al servicio OBEX para el robo de archivos del teléfono móvil.

Ya era hora de que apareciese alguna novedad en el mundo de la seguridad Bluetooth, después de que la cosa haya estado parada durante un año. ¡Buenas noticias!

Saludos