Kit de herramientas para probar el establecimiento de sesiones Bluetooth contra ataques de secreto hacia adelante y futuro, mediante parcheo de firmware, análisis de PCAP y comprobaciones automatizadas de vulnerabilidades en dispositivos.
Este repositorio contiene código relacionado con BLUFFS: Bluetooth Forward and Future Secrecy Attacks and Defenses.
Bluetooth es una tecnología omnipresente para la comunicación inalámbrica. Miles de millones de dispositivos lo utilizan en aplicaciones sensibles y para intercambiar datos privados. La seguridad de Bluetooth depende del estándar Bluetooth y de sus dos mecanismos de seguridad: el emparejamiento y el establecimiento de sesión. Ningún trabajo anterior, incluido el propio estándar, analizó las garantías de secreto futuro y hacia adelante de estos mecanismos, por ejemplo, si el emparejamiento de Bluetooth y el establecimiento de sesión defienden las sesiones pasadas y futuras cuando el adversario compromete la actual. Para abordar esta carencia, presentamos seis nuevos ataques, definidos como los ataques BLUFFS, que rompen el secreto hacia adelante y futuro de las sesiones Bluetooth. Nuestros ataques permiten la suplantación de dispositivos y el ataque de máquina en el medio entre sesiones comprometiendo solo una clave de sesión. Los ataques explotan dos vulnerabilidades novedosas que descubrimos en el estándar Bluetooth relacionadas con la derivación de claves de sesión unilateral y repetible. Como los ataques afectan a Bluetooth a nivel arquitectónico, son efectivos independientemente de los detalles de hardware y software de la víctima (por ejemplo, chip, pila, versión y modo de seguridad).
También publicamos BLUFFS, un kit de herramientas de bajo coste para realizar y comprobar automáticamente la efectividad de nuestros ataques. El kit emplea siete parches originales para manipular y monitorizar la derivación de claves de sesión de Bluetooth, parcheando dinámicamente un firmware Bluetooth de código cerrado al que aplicamos ingeniería inversa. Mostramos que nuestros ataques tienen un impacto crítico y a gran escala en el ecosistema Bluetooth, al evaluarlos en diecisiete chips Bluetooth diversos (dieciocho dispositivos) de fabricantes populares de hardware y software y que admiten las versiones de Bluetooth más populares. Motivados por nuestros hallazgos empíricos, desarrollamos y probamos con éxito una función mejorada de derivación de claves para Bluetooth que detiene por diseño nuestros seis ataques y sus cuatro causas raíz. Mostramos cómo integrar eficazmente nuestra corrección en el estándar Bluetooth y discutimos mitigaciones alternativas a nivel de implementación. Divulgamos de forma responsable nuestras contribuciones al Bluetooth SIG.
@inproceedings{antonioli23bluffs,
title={{BLUFFS: Bluetooth Forward and Future Secrecy Attacks and Defenses}},
author={Antonioli, Daniele},
booktitle={ACM conference on Computer and Communications Security (CCS)},
month={November},
year={2023}
}
Dirígete al directorio pcap. Usa el siguiente comando para analizar muestras pcap:
wireshark file.pcap
La carpeta checker contiene el analizador. Para usar el analizador, ejecuta:
python checker/parser.py [arguments]
Para comprobar si un dispositivo víctima es vulnerable a los ataques BLUFFS, lee la Sección 6.1 del artículo y parchea el dispositivo atacante usando:
python device/bluffs.py
Los parches individuales también se proporcionan en archivos *.s dedicados.
Contiene el archivo asm.py parcheado que añade la bandera --no-warn-rwx-segment a ldflags
para evitar un error de ld con versiones recientes de arm binutils. En Linux, el archivo debe
copiarse en: /usr/lib/python2.7/site-packages/pwnlib.