sull'attacco (Key Negotiation Of Bluetooth), che consente di intercettare e sostituire informazioni nel traffico Bluetooth crittografato. Avendo la possibilità di bloccare la trasmissione diretta dei pacchetti durante il processo di negoziazione della connessione tra dispositivi Bluetooth, l'attaccante può ottenere chiavi con solo 1 byte di entropia per la sessione, permettendo l'applicazione del metodo di brute-force per determinare la chiave di crittografia.
Il problema è causato da vulnerabilità (CVE-2019-9506) nella specifica Bluetooth BR/EDR Core 5.1 e versioni precedenti, che consentono l'uso di chiavi di crittografia troppo corte e non impediscono l'interferenza dell'attaccante durante la fase di negoziazione della connessione per ritornare a simili chiavi inaffidabili (è possibile la sostituzione dei pacchetti da parte di un attaccante non autenticato). L'attacco può essere effettuato al momento della negoziazione della connessione tra dispositivi (sessioni già stabilite non possono essere attaccate) ed è efficace solo per connessioni nei modi BR/EDR (Bluetooth Basic Rate/Enhanced Data Rate), se entrambi i dispositivi sono vulnerabili. In caso di un successo nel recupero della chiave, l'aggressore può decifrare i dati trasmessi e sostituire nel traffico un testo cifrato a sua scelta, senza che la vittima se ne accorga.
Quando viene stabilita una connessione tra due controller Bluetooth A e B, il controller A, dopo l'autenticazione tramite la chiave di collegamento (link key), può proporre di utilizzare come chiave di crittografia (encryption key) 16 byte di entropia, e il controller B può accettare questo valore o indicare un valore inferiore, nel caso in cui non sia in grado di generare una chiave della dimensione proposta. In risposta, il controller A può accettare la proposta e attivare il canale di comunicazione crittografato. A questo punto della negoziazione dei parametri non viene applicata la crittografia, quindi l'attaccante ha la possibilità di insinuarsi nell scambio dati tra i controller e sostituire il pacchetto con la dimensione proposta di entropia. Poiché la dimensione della chiave consentita varia da 1 a 16 byte, il secondo controller accetterà questo valore e invierà la sua conferma indicando una dimensione simile.
Per riprodurre la vulnerabilità in condizioni di laboratorio (l'attività dell'aggressore è stata emulata su uno dei dispositivi) è stato proposto
per effettuare l'attacco.
Per effettuare un attacco reale, l'attaccante deve trovarsi nella zona di ricezione dei dispositivi bersaglio e avere la possibilità di bloccare temporaneamente il segnale di ciascun dispositivo, il che si propone di realizzare attraverso la manipolazione del segnale o il jamming reattivo.
L'organizzazione Bluetooth SIG, responsabile dello sviluppo degli standard Bluetooth, ha corretto la specifica con il numero 11838, in cui vengono proposte misure da implementare dai produttori per bloccare la vulnerabilità (la dimensione minima della chiave di crittografia è stata aumentata da 1 a 7). Il problema è con i relativi stack Bluetooth e i firmware dei chip Bluetooth, compresi i prodotti , Broadcom, , , , Qualcomm, Linux, , e (di 14 chip testati, tutti si sono rivelati vulnerabili). Nel stack Bluetooth del kernel Linux è presente una correzione che permette di modificare la dimensione minima della chiave di crittografia.
Fonte: opennet.ru
