Daniele Antonioli, en Bluetooth-sikkerhedsforsker, der tidligere har udviklet angrebsteknikkerne BIAS, BLUR og KNOB, har afsløret to nye sårbarheder (CVE-2023-24023) i Bluetooth-session aftale-mekanismen. Disse sårbarheder påvirker alle Bluetooth-implementationer, der understøtter de sikre parringstilstande "Secure Connections" og "Secure Simple Pairing" i overensstemmelse med Bluetooth Core-specifikationerne 4.2-5.4. For at demonstrere de praktiske anvendelser af de påviste sårbarheder er der udviklet 6 angrebsmetoder, der gør det muligt at indtrænge i forbindelsen mellem allerede parrede Bluetooth-enheder. Koden til implementering af angrebsmetoderne og værktøjet til at kontrollere sårbarhederne er offentliggjort på GitHub.
Sårbarhederne blev identificeret under analysen af de i standarden beskrevne metoder til opnåelse af direkte hemmelighed (Forward and Future Secrecy), der modarbejder kompromittering af sessionnøgler, hvis den permanente nøgle bestemmes (kompromittering af en af de permanente nøgler må ikke føre til dekryptering af tidligere opsnappede eller fremtidige sessioner) og genbrug af sessionnøgler (nøglen fra én session må ikke kunne anvendes til en anden session). De fundne sårbarheder gør det muligt at omgå denne beskyttelse og genbruge en usikker sessionnøgle i forskellige sessioner. Sårbarhederne skyldes mangler i den grundlæggende standard, er ikke specifikke for bestemte Bluetooth-stakke, og forekommer i chips fra forskellige producenter.

De foreslåede angrebsmetoder implementerer forskellige varianter af spoofing af klassiske (LSC, Legacy Secure Connections baseret på forældede kryptografiske primitiv) og sikre (SC, Secure Connections baseret på ECDH og AES-CCM) Bluetooth-forbindelser mellem systemet og perifere enheder, samt oprettelse af MITM-angreb for forbindelser i LSC- og SC-tilstande. Det antages, at alle Bluetooth-implementationer, der overholder standarden, er udsat for forskellige varianter af angrebet BLUFFS. Metodens funktion er blevet demonstreret på 18 enheder fra virksomheder som Intel, Broadcom, Apple, Google, Microsoft, CSR, Logitech, Infineon, Bose, Dell og Xiaomi.

Essensen af sårbarhederne ligger i muligheden for at tvinge forbindelsen tilbage til brugen af den gamle LSC-tilstand og en usikker kort session nøglen (SK), ved at angive den minimal mulige entropi under forhandlingsprocessen og ignorere indholdet af svaret med autentificeringsparametre (CR), hvilket fører til generering af en sessionsnøgle baseret på konstante inputparametre (sessionsnøglen SK beregnes som KDF af den konstante nøgle (PK) og de parametre, der er aftalt under sessionen). For eksempel kan en angriber under en MITM-angreb erstatte parametre 𝐴𝐶 og 𝑆𝐷 med nulværdier under forhandlingsprocessen, og sætte entropien 𝑆𝐸 til 1, hvilket vil resultere i dannelsen af sessionsnøglen 𝑆𝐾 med en faktisk entropi på 1 byte (den normale minimumsstørrelse for entropi er 7 byte (56 bit), hvilket er sammenligneligt med sikkerheden ved at knække DES-nøgler).
Hvis angriberen under forhandlingsprocessen har fået brugt en kortere nøgle, kan han derefter ved hjælp af brute force bestemme den konstante nøgle (PK), der bruges til kryptering og opnå dekryptering af trafikken mellem enhederne. Da man i et MITM-angreb kan initiere brugen af den samme krypteringsnøgle, kan den, hvis den bliver knækket, også anvendes til at dekryptere alle tidligere og fremtidige sessioner, der er blevet opsnappet af angriberen.

For at blokere sårbarhederne foreslog forskeren at ændre standarden med ændringer, der udvider LMP-protokollen og ændrer logikken for brugen af KDF (Key Derivation Function) ved dannelse af nøgler i LSC-tilstand. Ændringen bryder ikke bagudkompatibiliteten, men fører til inkluderingen af en udvidet LMP-kommando og behovet for at sende yderligere 48 byte. Bluetooth SIG, organisationen der er ansvarlig for udviklingen af Bluetooth-standarder, har som beskyttelsestiltag foreslået at afvise forbindelser gennem krypterede kommunikationskanaler med nøgler, der er op til 7 byte. Implementeringer, der altid anvender Security Mode 4 Level 4, anbefales at afvise forbindelser med nøgler op til 16 byte.
Kilde: opennet.ru
