Kasper opdagede sikkerhedshul i Bluetooth: »I princippet kunne man angribe fra over en kilometers afstand«

18. september 2019 kl. 05:119
Kasper opdagede sikkerhedshul i Bluetooth: »I princippet kunne man angribe fra over en kilometers afstand«
Illustration: Google.
Tidligere i år afslørede den danske Oxford-lektor Kasper Rasmussen en kritisk sårbarhed i Bluetooth-protokollen, som påvirkede millioner af enheder. Overfor Version2 løfter han sløret for processen.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Interview Tidligere på året kom det frem, at en sårbarhed i årevis har befundet sig i Bluetooth-protokollen. Sårbarheden, der fik kaldenavnet KNOB (key negotiation of bluetooth) har gjort det muligt for angribere at bryde sikkerheden fuldstændig i den udbredte standard for trådløs kommunikation.

Danske Kasper Rasmussen var med til at opdage sårbarheden, der udløste en dusør på 200.000 kroner. Version2 har talt med ham om KNOB, der påvirkede millioner af tablets, computere, tastaturer og andet udstyr verden over.

Til dagligt er Kasper Rasmussen lektor ved Oxford University’s Department of Computer Science.

»Selv Bluetooth-organisationen var meget overrasket over, hvordan det her fungerede,« siger han.

Artiklen fortsætter efter annoncen

Med KNOB har det været muligt at overvåge, afbryde og manipulere den data, som flyder via forbundne Bluetooth-enheder. Tastetryk fra Bluetooth-tastaturer har kunnet opsnappes, og lyd, som bliver sendt til Bluetooth-headseats, har været mulig at aflytte.

Kasper Rasmussen er lektor ved Department of Computer Science ved University of Oxford. Han er uddannet fra DTU i Danmark i 2005.

En underlig procedure

Sammen med en af sine ph.d-studerende og en kollega fra det tyske it-sikkerhedscenter CISPA besluttede Kasper Rasmussen sig i 2018 for at grave sig ned i, hvordan Bluetooth-protokollen fungerer.

Det var i den proces, at forskerne opdagede en besynderlig mekanisme i den måde, hvorpå to Bluetooth-enheder parres med hinanden.

Artiklen fortsætter efter annoncen

Hver gang to enheder opretter forbindelse til hinanden via Bluetooth, laver de en såkaldt sessionsnøgle. Krypteringsnøglen er unik, og den skal sørge for, at forbindelsen mellem de to Bluetooth-enheder er sikker.

De to Bluetooth-enheder skal som et led i parringsprocessen forhandle om, hvor høj entropi der skal være på sessionsnøglen – det vil sige, hvor stærk nøglens kryptering skal være.

Og den forhandling kan en angriber blande sig i, fordi selve forhandlingsprocessen ikke er beskyttet, men derimod foregår i klar-tekst.

På den måde kan angriberen først forstyrre forhandlingerne om krypteringens styrke og tvinge enhederne til at vælge en meget svag kryptering på kun en enkelt byte, der nemt kan brydes. Derefter kan en angriber relativt nemt brute-force forbindelsen.

Opdagelsen kom bag på Kasper Rasmussen og hans to kolleger. De havde alle på fornemmelsen, at de var stødt på noget, der kunne udgøre en omfattende sårbarhed.

»Ingen af os havde hørt om det her ført, og det undrede os meget, at det var sådan, Bluetooth-parringen fungerede,« siger Kasper Rasmussen.

Det skulle senere vise sig, at der heller ikke var særlig mange andre, der vidste, at krypteringsforhandlingen var en del af parringsprocessen.

Næsten alle enheder var sårbare

Processen med at forhandle krypteringens styrke for en forbindelse er specificeret som en del af Bluetooth-standarden.

Artiklen fortsætter efter annoncen

Men den danske professor og hans hold tænkte til at starte med, at produkterne på markedet i dag ville stille højere krav end den noget usikre standard.

»Vi forestillede os, at produkterne gik i gang med forhandlingsprocessen, men at de så kun ville godkende en stærk kryptering med høj entropi. Det ville stadig være standard-compliant,« siger Kasper Rasmussen.

Efter tests på flere forskellige chip-sæt på mange forskellige enheder viste resultatet sig at være mere dystert, end de havde regnet med.

Fra iPhones til Lenovo-computere accepterede næsten alle de testede enheder den laveste entropi. Kun Apples AirPod-hovedtelefoner ville ikke gå længere ned end 7 byte entropi.

»Den rigtige måde at gøre det her på ville være, at man kun accepterede 16 byte. Der er ingen grund til at acceptere mindre end det, og det ville ikke gøre det sværere eller mere langsommeligt at bruge Bluetooth, hvis man stillede højere krav,« siger Kasper Rasmussen.

Alvorlige konsekvenser

Omfanget af sårbare enheder og mulighederne for at udnytte svagheden gør sikkerhedshullet ret omfattende, mener Kasper Rasmussen.

Med flere millioner Bluetooth-enheder i verden – fra smartphones over computere til hovedtelefoner og tastaturer – har der været flere måder, hvorpå potentielle angribere kunne udnytte sårbarheden.

Han påpeger, at potentielle bagmænd blandt andet kunne angribe en forbindelse mellem et Bluetooth-keyboard og en computer.

Når angriberen først havde fået de to enheder til at blive enige om en svag kryptering på forbindelsen og derefter havde brute-forcet forbindelsen, ville der være frit spil til at blande sig.

Det ville være muligt for angriberen at spionere på de data, der blev sendt mellem computeren og tastaturet, og dermed opfange alt fra kodeord til andre fortrolige tastetryk på tastaturet, imens de bliver tastet ind – og helt uden, at ofrene er klar over det.

Derudover var det muligt for angriberne selv at sende kommandoer eller beskeder gennem den sårbare forbindelse med angriberens eget keyboard.

For at udnytte sårbarheden skulle angriberen være inden for Bluetooth-rækkevidde for de to enheder, som man ønskede at ramme. Alt efter omstændighederne kan det eksempelvis være 10 meter.

Kasper Rasmussen medgiver, at det kan lyde som kort afstand, men han påpeger, at man som angriber kunne anskaffe sig en Bluetooth-antenne med omfattende rækkevidde.

»I princippet ville et angreb sagtens kunne foretages fra mere end en kilometers afstand. På den måde vil jeg mene, at der er tale om en rimelig alvorlig sårbarhed, som kan have store konsekvenser,« siger Kasper Rasmussen.

Han er ikke selv bekendt med, om sårbarheden er blevet brugt af ondsindede angribere.

Bluetooth-gruppe vidste ikke noget

Da den danske lektor og hans kolleger havde havde fundet og testet sårbarheden, blev de enige om, at den skulle offentliggøres på en ansvarlig måde.

»Næsten alle folk har Bluetooth, og derfor skulle vi også række ud til de store spillere på området. Derfor gik vi til CERT (amerikansk it-sikkerhedsorganisation, red.) og Bluetooth Working Group,« fortæller Kasper Rasmussen.

Han tilføjer, at selv Bluetooth-gruppen ikke klar over, at to enheder kunne reducere krypteringsnivaeuet som en del af deres parringsproces.

Efter efterforskernes henvendelse til Bluetooth og CERT blev tremandsholdet kontaktet af en organisation, der kalder sig ICASI.

»De sagde: ‘Hør her. Hvis I er villige til at samarbejde med os og vente lidt med at snakke alt for meget om jeres afsløringer, så vil vi give jer en bug bounty,« siger Kasper Rasmussen

ICASI står for The Industry Consortium for Advancement of Security on the Internet, og det er et industrielt samarbejde, som blandt andet består af chip-producenten Intel og tech-giganterne Microsoft og Apple.

Med Intel i spidsen havde industrifællesskabet lavet en intern vurdering af sårbarheden, og den talte sit klare sprog: 9,3 ud af 10 mulige lød sårbarhedskarakteren.

»De var meget interesserede i, at vi samarbejdede med dem om at holde det hemmeligt, indtil de havde fået udarbejdet en work-around. Det var nemlig ikke muligt at lave et decideret fix,« siger Kasper Rasmussen.

Work-arounden endte med at blive en løsning, hvor Bluetooth-enhederne undersøgte, om nogen udefrakommende forsøgte at udføre KNOB-angrebet. Hvis et forsøg bliver opdaget, lukker forbindelsen ned.

Ikke ude på kaos

Kasper og hans kolleger indgik derefter et samarbejde med ICASI, og de indgik en aftale om en dusør på 200.000 kroner. Halvdelen nu, og resten når de var færdige.

Derefter skulle der lægges en plan for offentliggørelse, og den danske professor meddelte industrifællesskabet, at de gerne ville publicere deres opdagelser i august 2019. De aftalte, at der ikke skulle snakkes offentligt om sårbarheden indtil da.

»Vi er jo ikke ude på at skabe kaos. Vores mål er at publicere interessant information. Vi ville gerne give dem en chance for at få noget ro, hvor de kunne pushe og implementere opdateringer med work-arounds.«

»ICASI har selvfølgelig været nervøse for, om vi går ud og lækker det alligevel, men i den situation kan vi jo ikke gøre andet end at give dem lovning på, at vi holder vores aftale,« siger han.

Interessen var stor

I august måned kunne Kasper Rasmussen og hans kolleger præsentere deres resultater, og offentligheden blev bekendt med den omfattende sårbarhed i Bluetooth-protokollen.

Virksomhederne i industrifællesskabet ICASI havde inden da fået udarbejdet work-arounds, der kunne spore forsøg på angreb.

Kasper Rasmussen har tidligere været involveret i flere andre offentliggørelser af sikkerhedshuller, og ifølge ham har Bluetooth-afsløringen været et af de projekter, hvor han har haft det klart mest aktive samarbejde med de indblandede industriparter.

»Man skal selvfølgelig sørge for at blive enige om, hvad der skal frigives hvornår, og på den måde er der jo noget kontrol, som man afgiver i processen. Den største kilde til nervøsitet var, at Intel ikke kendte os. De var meget forsigtige i starten,« siger han.

I forbindelse med andre afsløringer har han oplevet, at virksomhedernes engagement i processen med de ansvarlige offentliggørelser kan svinge meget.

Han har set, at firmaer ikke har vist interesse i de fund, som sikkerhedsforskerne har præsenteret. Andre gange har der været eksempler på, at firmaerne ikke var gearede til at besvare henvendelser om, at der var blevet fundet sårbarheder hos dem, siger han.

Derfor var han glad for, at både Bluetooth Working Group og industrifællesskabet ICASI tog opdagelserne seriøst.

»Nogle gange kan man blive skuffet over firmaets reaktion, når man kommer med en afsløring. Men her synes jeg, at vi har fået en tilbagemelding, der stemte meget godt overens med vores egen opfattelse af alvorlighedsgraden.«

9 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
10
19. september 2019 kl. 09:21

Du har ret i at det kræver at man fanger dem når de først connect'er.. MEN som jeg forstår det gemmer de den aftalte krypteringsnøgle i al den tid de er parret - og mine enheder er altid bare parret og auto-connect'er oftest når jeg er i nærheden.. så vinduet for misbrug, hvis først man har fået sat en lav entropi nøgle er rimelig stort, som jeg forstår det. HVIS man samtidigt kan lokke enheder til at "glemme parringen" - og kræve genparring - så vil det være endnu mere interessant.. Den del ved jeg ikke om man kan.. Jeg tænker man nok kunne lokke nogen til det, hvis man jammede signalet så de troede den ikke virkede og så bare prøvede at genparre..

9
19. september 2019 kl. 09:02

Ved ikke helt om det er Kasper eller journalisten der forsøger at blæse dette op til noget helt vildt og få det til at lyde som at enhver let kan lytte med på en bluetooth forbindelse.
En angriber skal indenfor et utroligt lille tidsvindue formå at:

  • se at en forbindelse er ved at blive oprettet
  • blokkere en besked fra den ene side
  • erstatte det blokerede besked med en anden besked hvor keysize er lavere
  • sørge for at ingen af siderne opdager det

Herefter skal angriberen bryde krypteringen på forbindelsen (tager tid selv om entropi er lavere) imens forbindelsen stadig er kørende. Efter endt forbindelse skal angriber nemlig starte forfra igen.

Det er også langt fra alle devices derude der har problemet. Der er rigtigt mange producenter af BT chips som har dette konfigurerbart i controlleren imens andre slet og ret går mod bagudkompatibiliteten og ikke tillader de lave keysizes. For det er nemlig grundet bagudkomaptibilitet at man har valgt at have support for den lavere keysize - netop fordi en del gamle devices stadig benyttede den lille keysize.

Hvis man kender lidt til radiobølgers udbredelsestid, så ville man hurtigt kunne gennemskue at en større antenne stadig ikke ville kunne gøre dette angreb muligt over flere km afstand (eller sågar blot 500m afstand). Timingen i keynegotioation er simpelthen for stram til at beskederne vil kunne nå at bevæge sig frem og den afstand og angrebet så stadig vil kunne lykkes.

Tænker forøvrigt at Kasper skal læse det fint gennemarbejdede svar han fik fra Bluetooth SIG, hvis han mener at de var overraskede over "hvordan det virkede" (læs: det var de ikke - de var højest forundret over at der stadig eksisterede nyere controllere som fortsat havde problemet).

KNOB CVSS score er 4.8, svarende til den lave ende af "medium" (https://www.first.org/cvss/specification-document)

8
18. september 2019 kl. 13:07

Så sårbarheden havde ikke noget med krypteringensalgoritemen i Bluetooth.

Problemet var at størrelsen af den nøgle de udvalgte til den enkelte forbindelse blev for lille.. så den var nem at gætte - uanset krypterings bit-raten og protokollen. Uanset hvor god en lås du har - dur den ikke, hvis nøglen til den er lavet så der for få mulige valg og man kan prøve så mange gange man har lyst.

Se f.ex. fixet i Linux kernen https://www.fclose.com/linux-kernels/834370/bluetooth-fix-regression-with-minimum-encryption-key-size-alignment-linux-5-2/

5
18. september 2019 kl. 12:06

Hvis man har opnået root på en IoT burde man vel kunne bruge bluetooth-delen som antenne indenfor 10 m som beskrevet i artiklen?

4
18. september 2019 kl. 11:21

Jeg kender ikke bluetooth protokollen i detaljer, men jeg forestiller mig at bluetooth enheder over tid modtager softwareopdateringer eller ændringer i sikkerhedspolitik. Hvis f.eks. der kommer en bedre cipher eller et forbud mod en eksisterende cipher.

Opdatering af cipher er ikke noget der sker hver dag eller hvert år. Igen: I så fald kunne man lave en re-pairing. Det er i praksis det eneste tidspunkt hvor der er lagt op til bruger input. Hvis man havde valg AES, Blowfish, etc. (selv 3DES!) for 20 år siden så ville de stadigvæk være valide og fornuftige ciphers til bluetooth kommunikation i dag. Specielt når det handler om low data volume forbindelser.

En angrebsvektor kunne også være at man allerede over internet har fået kontrol over en eller anden IoT-dims med bluetooth i hjemmet/på kontoret, som man så benytter videre til dette angreb på keyboard/smartwatch?

Jeg er endnu ikke rendt ind i en bluetooth devices der ikke kræver en eller anden form for bruger-interaktion for at gennemføre en paring. Hvis først devices are parret og den ene ende kompromitteres, så er det ikke anderledes end hvis der var en ledning imellem de to devices.

3
18. september 2019 kl. 11:12

Interessant artikel. Godt at høre at "de store" tager sikkerhed seriøst.

For at udnytte sårbarheden skulle angriberen være inden for Bluetooth-rækkevidde for de to enheder, som man ønskede at ramme. Alt efter omstændighederne kan det eksempelvis være 10 meter.
(...) anskaffe sig en Bluetooth-antenne med omfattende rækkevidde.

En angrebsvektor kunne også være at man allerede over internet har fået kontrol over en eller anden IoT-dims med bluetooth i hjemmet/på kontoret, som man så benytter videre til dette angreb på keyboard/smartwatch?

2
18. september 2019 kl. 10:56

Der synes ikke at være nogen grund til at genforhandle krypteringsmetode hver gang

Jeg kender ikke bluetooth protokollen i detaljer, men jeg forestiller mig at bluetooth enheder over tid modtager softwareopdateringer eller ændringer i sikkerhedspolitik. Hvis f.eks. der kommer en bedre cipher eller et forbud mod en eksisterende cipher. Det må være en god ting at protokollen kan rumme dette uden at tvinge brugeren til at genparre enhederne.

Problemet, som jeg forstår det, er at for mange bluetooth implementeringer ukritisk accepterer 8-bit kryptering, hvor at 128-bit burde være et obligatorisk minimum. Enheder der kan misbruges i alvorlig grad, f.eks. hovedtelefoner/mikrofoner og tastaturer, bør måske endda kræve 256-bit eller afvise forbindelse. Man kan også overveje at lægge valget ud til brugeren. Noget ala "This device requests a critically insecure connection. Eavesdropping will be possible. Are you sure you want to allow the connection?"

I fremtidige protokolrevisioner kan man også overveje om handshaking-processen kan deles op i flere stadier, så forhandlinger om krypteringsnøgler foregår over en allerede krypteret forbindelse.

1
18. september 2019 kl. 10:21

I princippet burde enhederne i forbindelse med parringen fortælle hvad de supporterede. Hvis en enhed ikke supporterer tilstrækkelig stærk kryptering kan parringen forhindres af den anden ende.

Der synes ikke at være nogen grund til at genforhandle krypteringsmetode hver gang. De fleste bluetooth devices skifter ikke firmware hele tiden og så kunne man passende lave en re-pairing hvis man ønsker bedre kryptering.

Interessant er det også at nogen hos Apple åbenbart har tænkt over dette og lagt en lille blokering ind … og i øvrigt ikke gjort andet. Og hvorfor er der valgt 7 byte entropi? Apples earbuds er relativt nye produkter ... det er svært at forestille sig at moderne mobiltelefoner (specielt apples) ikke supporterer mindst 16 bytes entropi.