Cybersecurity risico in Bluetooth Low Energy (BLE) Apparaat

Auteurs: Ramakrishnan Lakshminaryanan and Jasper Nota

Apparaten met een Bluetooth Low Energy (BLE) verbinding zijn tegenwoordig gangbaar. Echter, ze kunnen onveilig zijn om te gebruiken. Dit is het geval wanneer BLE op een onveilige manier geïmplementeerd is. Om het cybersecurityrisico van dergelijke apparaten aan te tonen, hebben we gekozen voor een medisch apparaat dat door consumenten bij verschillende bekende webwinkels besteld kan worden.

Opmerking: Voorafgaand aan de publicatie van dit artikel zijn meerdere pogingen ondernomen om de Original Equipment Manufacturer (OEM) te informeren over de ontdekte kwetsbaarheden en de gevolgen daarvan. Helaas is er geen reactie ontvangen van de OEM. Secura heeft ervoor gekozen dit artikel te publiceren om het bewustzijn van beveiliging onder fabrikanten en gebruikers te vergroten.

Meerdere Beveiligingsproblemen

Gedurende het korte onderzoek dat is uitgevoerd, werden meerdere beveiligingsproblemen waargenomen. Voor de doeleinden van dit artikel zullen alleen de risico's gerelateerd aan de BLE-functionaliteit worden onthuld.

Het Medische Apparaat

Het Te Testen Apparaat (DUT) is een medisch gecertificeerd apparaat dat gebruikers in staat stelt pijn te verlichten, te ontspannen of spieren te versterken door middel van elektroden. Dit apparaat kan worden bediend met de bijbehorende Android-applicatie (v4.3.15 op het moment van het testen van dit apparaat).

De gehele functionaliteit hangt af van de intensiteit die wordt ingesteld door het centrale of perifere apparaat. Gebaseerd op de intensiteitswaarde [min = 0; max = 60], kan de trilling via de elektrodepleisters op het lichaam worden gevoeld. Afhankelijk van op welk deel van ons lichaam de elektrodepleisters zijn geplakt, zijn er een reeks workout-, ontspannings-, herstelprogramma's respectievelijk.

Het testen begon met het plakken van de pleisters op de armen of benen. De waarneming (tijdens het testen op de arm) was dat na het overschrijden van de intensiteitswaarde van 25, de arm hevig begon te trillen. De intensiteit controleerde de armbeweging, wat het moeilijk maakte om die beweging te weerstaan. Deze trillingen kunnen bij hogere intensiteiten of bij plotselinge veranderingen in intensiteit ernstige schokken worden.

Diensten en Kenmerken

Een BLE-ontdekking werd geïnitieerd om het Media Access Control (MAC) adres te identificeren dat geassocieerd is met de DUT. Eenmaal geïdentificeerd, konden de diensten en kenmerken, die geneste objecten zijn verantwoordelijk voor het afhandelen van overgedragen gegevens, worden geënumereerd:

Image in image block

Services and Characteristics van de Electro-Stimulator

Let op hoe meerdere handles de WRITE-eigenschap hebben voor de DUT. Dit betekent dat deze handles inkomende gegevens van het centrale apparaat, in dit geval de mobiele telefoon, accepteren.

Van de handles met schrijftoegang waren er verschillende interessante, die hieronder worden vermeld:

(1) Handle 0007 - Peripheral Privacy Flag

Deze vlag is expliciet gerelateerd aan de privacyfunctie van het perifere apparaat. Met andere woorden, het is de vlag die bepaalt of het perifere apparaat privacy ondersteunt - ingeschakeld of uitgeschakeld. Testen of deze handle kan worden overschreven/geschakeld zou een van de interessante dingen zijn voor een aanvaller.

(2) Handle 000b - Herkoppelingsadres

Deze handle bevat adresgerelateerde informatie die wordt gebruikt bij het opnieuw verbinden met een privé-apparaat. Aangezien deze handle ook een punt van interesse is vanuit het perspectief van een aanvaller, wilden we verifiëren of dit kan worden overschreven.

(3) Handles 0010, 0011, 0012, 0013 - Gerelateerd aan trillingsintensiteiten

Deze handles bevatten waarden voor trillingsintensiteit en zouden opnieuw interessante handles zijn voor een aanvaller om te overschrijven.

Zoals te zien is in de bovengenoemde figuur, werd de Peripheral Privacy Flag [Handle 0007] overschreven. Hieruit concluderend dat deze kan worden uitgeschakeld en ingeschakeld. Evenzo kon het veld ‘Herkoppelingsadres [Handle 000b]’ ook worden overschreven, zoals te zien is in de onderstaande figuur. Figuren gerelateerd aan het overschrijven van de waarden voor trillingsintensiteit worden getoond in het volgende gedeelte van dit artikel.

Image in image block

Data written to handle 000b

Er zijn meerdere methoden om BLE-verkeer tussen apparaten te analyseren, met behulp van diverse hardware- en softwaretools.

Een van de eerste die we overwogen was het passief vastleggen van BLE-verkeer door gebruik te maken van de Ubertooth One en vervolgens de pakketten te analyseren met Wireshark. Hieronder is een schermafbeelding die een packet capture laat zien met Wireshark. Informatie gerelateerd aan de waarde van de trillingsintensiteit, het type protocol dat gebruikt wordt en informatie over de handles kon worden onderzocht:

Image in image block

In de bovenstaande schermafbeelding is te zien dat de vastgelegde pakketten gebruikmaken van het ATT-protocol. ATT, ook bekend als Attribuutprotocol, maakt deel uit van de BLE-stack en definieert strikt hoe gegevens moeten worden weergegeven in een BLE-serverdatabase, en definieert ook de manier waarop de gegevens kunnen worden gelezen of geschreven.

Een andere benadering om BLE-communicatie te analyseren is het gebruik van de HCI snuffeltechniek op een geroot Android mobiele telefoon. In principe is een geroot Android-apparaat een aangepast apparaat dat de gebruiker supergebruikerstoegang verleent. Het proces van rooten van een apparaat is waar een gebruiker een reeks beperkingen doorbreekt die vooraf door de fabrikant van het apparaat zijn ingesteld, om volledige controle over het besturingssysteem te verkrijgen. Zo verheft men zichzelf tot admin-rechten. Zodra de BLE-koppeling/communicatie tot stand is gebracht, kunnen de snuffellogs uit het gerote apparaat worden gehaald om de vastgelegde pakketten te analyseren.

De bovengenoemde methoden waren voornamelijk passieve snuffeltechnieken van de BLE-communicatie om informatie te verzamelen over het koppelingsproces, het type protocollen in gebruik, het MAC-adres van de DUT, verschillende handles, enz.

Om actief bezig te zijn met de verschillende handles, werd het Bettercap hulpmiddel gebruikt, in combinatie met een Bluetooth-dongle. Resultaten van deze aanpak worden eerder in dit artikel gepresenteerd.

De Communicatie Onderscheppen

Nu de communicatie tussen het centrale en perifere apparaat geanalyseerd was, werd geprobeerd een Man-in-the-Middle (MiTM) positie te vestigen.

De schermafbeelding hieronder toont hoe een legitieme BLE-verbinding tussen het mobiele apparaat en de DUT met succes werd onderschept. Dit betekent dat het centrale apparaat nu de aanvalsmachine is in plaats van de mobiele telefoon:

Image in image block

Man-in-the-Middle position established

Wanneer de BLE-onderschepping aan de gang is, zijn er aanwijzingen op het mobiele scherm en op het voorpaneel van de DUT dat er ongereguleerd gedrag plaatsvindt.

Aanwijzing 1:
De DUT is ingeschakeld; er is geen workoutprogramma actief op de Android-applicatie. Normaal gesproken, als een gebruiker de workout verlaat, zou de DUT na enkele seconden moeten uitschakelen (Normaal Gedrag). Daarom is het onmogelijk dat het apparaat in ingeschakelde toestand is wanneer de applicatie geen programma uitvoert, tenzij het AAN wordt gehouden door een actieve BLE-verbinding van een ander Centraal apparaat. Dit toont aan dat de Android-applicatie niet langer het apparaat controleert, maar dat de aanvaller nu de controle over het apparaat heeft.

Aanwijzing 2:
De DUT is ingeschakeld; de Android-applicatie probeert opnieuw verbinding te maken met de DUT, maar dit mislukt met een bericht dat de gebruiker de DUT moet aanzetten. Echter, de DUT is al ingeschakeld, en de aanvaller voert een actief workoutprogramma uit.

De bovenstaande aanwijzingen geven dus aan dat de aanvaller een MiTM-positie vestigt.

Zodra een MiTM-positie was gevestigd, kon de communicatie tussen de mobiele telefoon en de DUT in HEX-formaat worden waargenomen.

Er werd waargenomen dat, voor dezelfde trillingsintensiteitswaarde, er twee gegevensformaten van HEX-gegevens in de vastgelegde BLE-pakketten waren:

1. Gegevens van het perifere apparaat naar het centrale apparaat -> Gegevensformaat 1 of DF1.
2. Gegevens van het centrale apparaat naar het perifere apparaat -> Gegevensformaat 2 of DF2.

Bijvoorbeeld, laten we trillingsintensiteitswaarde 31 overwegen.
Voor dezelfde waarde werden twee verschillende gegevensformaten waargenomen gedurende het testen.

DF1 voor waarde 31 werd vastgelegd zoals hieronder wordt getoond:
LL Data: 06 1b 17 00 04 00 1b 12 00 4e 4f 54 49 46 59 20 73 74 72 65 6e 67 74 68 20 33 31 0d 0a

DF2 voor waarde 31 werd vastgelegd zoals hieronder wordt getoond:
LL Data: 02 10 0c 00 04 00 52 55 00 3e 73 74 72 20 33 31 0d 0a
LL Data: 0a 0f 0b 00 04 00 1b 55 00 73 74 72 3d 33 31 0d 0a

Beide formaten geven aan dat de sterkte of intensiteit van trilling op elektrodepleisters 31 moet zijn.

Het slagingspercentage was hoger met DF2, tijdens het proberen te overschrijven van de handle die de waarde van trillingsintensiteit bevat. Dit zou logisch zijn, aangezien het apparaat van de aanvaller het nieuwe centrale apparaat is na het onderscheppen van de BLE-verbinding, en dus zou DF2 in dat geval werken. Echter, er waren enkele interessante scenario's gebaseerd op de bovenstaande aanpak -

  1. Tijdens het zijn op een hogere intensiteits- of sterkte waarde, en het overschrijven van de handle 0x12 met een lagere waarde werkte, aangezien er een merkbare verandering in de trillingsintensiteit was, die op het lichaamsdeel gevoeld kon worden waar de elektrodepleisters vastzaten [hand/been]. Echter, het keerde terug naar de oorspronkelijke waarde na een periode van tijd.
  2. Tijdens het zijn op een lagere intensiteits- of sterkte waarde en het overschrijven van de handle 0x12 met een hogere waarde werkte ook, het duurde echter maar heel kort voordat het terugkeerde naar de oorspronkelijke waarde. Dit was ook het geval wanneer het verschil/delta tussen de oorspronkelijke waarde en de overschreven waarde klein was.
  3. Tijdens het zijn op een lagere intensiteits- of sterkte waarde, en het overschrijven van de handle 0x12 met een hogere waarde met een grote delta/verschil van de oorspronkelijke intensiteit, veroorzaakte geen zichtbaar verschil in trilling op het lichaam. Als een luide gedachte, dit zou kunnen zijn vanwege een bepaalde drempeldelta waarde ingesteld in de DUT. We gingen niet in op dat deel van het experiment, aangezien het onderscheppen van BLE-communicatie onze focus en reikwijdte was.

De volgende HEX-gegevens werden naar het apparaat gestuurd:

Image in image block

The attacker overwrites the handle related to the vibration intensities.

Nadat de handle 0x12 was overschreven, kon de verandering in trillingsintensiteit worden gevoeld op het lichaamsdeel waar de elektroden waren bevestigd. Dit toont aan dat een aanvaller volledige controle heeft over de intensiteit die is ingesteld voor de elektroden.

Conclusie

We hebben gedemonstreerd hoe een aanvaller BLE-communicatie kan misbruiken wanneer leveranciers BLE op een onveilige manier implementeren. Dit kan ernstige schade toebrengen aan eindgebruikers. Veel andere slimme apparaten op de markt hebben nog steeds een onveilige implementatie van Bluetooth Low Energy (BLE). Bent u actief in de branche van slimme apparaten op basis van BLE? Wij adviseren u ten zeerste om uw producten te evalueren vanuit zowel functioneel als beveiligingsperspectief.

Over de auteurs

Ramakrishnan Lakshminaryanan

Ramakrishnan Lakshminaryanan (Ram) is een Security Specialist in de Product Manufacturers Market Group bij Secura. Hij is een enthousiasteling op het gebied van Automotive en Hardware Security. Hij is gespecialiseerd in Automotive Security Certification: In-Vehicle Systems en CSMS.

Jasper Nota

Jasper Nota is een Senior Security Specialist in de Product Manufacturers Market Group bij Secura. Hij is gespecialiseerd in Embedded System en IoT Security-evaluaties, applicatietesten en certificering van IT-producten.

Meer Informatie

Wilt u meer weten over Secura's IoT-testdiensten? Vul het formulier in, en we nemen binnen één werkdag contact met u op.

USP

Waarom kiezen voor Secura | Bureau Veritas

Het doel van Secura/Bureau Veritas is om uw vertrouwde partner in cybersecurity te zijn. Wij gaan verder dan snelle oplossingen en geïsoleerde diensten. Onze geïntegreerde aanpak zorgt ervoor dat elk aspect van uw bedrijf of organisatie cyberweerbaar is, van uw technologie tot uw processen en uw mensen.

Secura is de cybersecuritydivisie van Bureau Veritas, gespecialiseerd in testing, inspection en certification. Bureau Veritas werd opgericht in 1828, heeft meer dan 80.000 werknemers en is actief in 140 landen.