Toolkit per testare l'instaurazione di sessioni Bluetooth contro attacchi alla segretezza in avanti e futura, utilizzando patching del firmware, analisi dei PCAP e controlli automatici delle vulnerabilità dei dispositivi.
Questo repository contiene codice relativo a BLUFFS: Bluetooth Forward and Future Secrecy Attacks and Defenses.
Bluetooth è una tecnologia pervasiva per la comunicazione wireless. Miliardi di dispositivi lo utilizzano in applicazioni sensibili e per scambiare dati privati. La sicurezza di Bluetooth dipende dallo standard Bluetooth e dai suoi due meccanismi di sicurezza: l'accoppiamento e lo stabilimento della sessione. Nessun lavoro precedente, incluso lo standard stesso, ha analizzato le garanzie di segretezza futura e in avanti di questi meccanismi, ad es., se l'accoppiamento Bluetooth e lo stabilimento della sessione difendono sessioni passate e future quando l'avversario compromette quella corrente. Per colmare questa lacuna, presentiamo sei nuovi attacchi, definiti attacchi BLUFFS, che rompono la segretezza in avanti e futura delle sessioni Bluetooth. I nostri attacchi consentono l'impersonificazione del dispositivo e l'attacco machine-in-the-middle attraverso le sessioni compromettendo una sola chiave di sessione. Gli attacchi sfruttano due nuove vulnerabilità che abbiamo scoperto nello standard Bluetooth, relative alla derivazione unilaterale e ripetibile delle chiavi di sessione. Poiché gli attacchi colpiscono Bluetooth a livello architetturale, sono efficaci indipendentemente dai dettagli hardware e software della vittima (ad es., chip, stack, versione e modalità di sicurezza).
Rilasciamo anche BLUFFS, un toolkit a basso costo per eseguire e verificare automaticamente l'efficacia dei nostri attacchi. Il toolkit impiega sette patch originali per manipolare e monitorare la derivazione delle chiavi di sessione Bluetooth, applicando patch dinamiche a un firmware Bluetooth closed-source di cui abbiamo fatto reverse engineering. Mostriamo che i nostri attacchi hanno un impatto critico e su larga scala sull'ecosistema Bluetooth, valutandoli su diciassette diversi chip Bluetooth (diciotto dispositivi) di noti produttori hardware e software e supportando le versioni Bluetooth più diffuse. Motivati dai nostri risultati empirici, sviluppiamo e testiamo con successo una funzione di derivazione delle chiavi migliorata per Bluetooth che ferma per progettazione i nostri sei attacchi e le loro quattro cause profonde. Mostriamo come integrare efficacemente la nostra correzione nello standard Bluetooth e discutiamo mitigazioni alternative a livello di implementazione. Abbiamo divulgato responsabilmente i nostri contributi 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}
}
Naviga nella directory pcap. Usa il seguente comando per analizzare i campioni pcap:
wireshark file.pcap
La cartella checker contiene il parser. Per usare il parser, esegui:
python checker/parser.py [arguments]
Per verificare se un dispositivo vittima è vulnerabile agli attacchi BLUFFS, leggi la Sezione 6.1 dell'articolo e applica la patch al dispositivo di attacco usando:
python device/bluffs.py
Le singole patch sono fornite anche in file *.s dedicati.
Contiene il file asm.py modificato, che aggiunge il flag --no-warn-rwx-segment a ldflags per evitare un errore di ld con le versioni recenti di arm binutils. Su Linux, il file va copiato in: /usr/lib/python2.7/site-packages/pwnlib.