DearBytes kraakt met speels gemak IoT-apparatuur, tijd voor een keurmerk

Regelmatig ontdekken securitybedrijven kwetsbaarheden in apparaten. Dit met als doel de groep kwaadwillenden voor te zijn. Zeker in een tijd waarin het aantal verbonden apparaten groeit, is dit kat-en-muisspel van belang. Dat toont DearBytes eens te meer aan. Ethisch hacker Wesley Neelen wist onlangs de beveiliging van smartwatches te omzeilen. Tijdens het security-event D3NH4CK lichtte hij aan ons zijn bevindingen toe.

Het merendeel van de apparaten is tegenwoordig onderdeel van het Internet of Things. Het begrip IoT is weliswaar een beetje vaag, erkent ook Neelen. Het komt er echter op neer dat we alles willen koppelen aan het internet. Dat betekent bijvoorbeeld verbonden auto’s en thermostaten. En dus ook horloges.

IoT vraagt eigenlijk om wat extra veiligheid, gezien het groeiend aantal apparaten. In theorie kan een slecht beveiligd apparaat dat aan het internet hangt namelijk de toegangspoort zijn tot andere apparaten binnen een intern netwerk. Zo zou een hacker bijvoorbeeld toegang kunnen krijgen tot een NAS met privé foto’s.

Kwetsbare cloud-omgeving

Neelen begon zijn onderzoek eigenlijk ook vanwege zijn interesse in IoT, want ook hij is bezig met smart homes. Hij merkte dat klassen vol met kinderen een smartwatch hebben. Dit komt voort uit twee ontwikkelingen: ouders willen graag weten waar hun kinderen zijn en kinderen kopiëren elkaars gedrag. Als de één het heeft, wil de ander het ook.

Dat stukje controle krijgen ouders door middel van een smartwatch. Deze kunnen ze inzetten om bijvoorbeeld te bellen naar hun kind. Het horloge wordt met een simkaart verbonden aan het internet. Zodra die connectie er is, worden gegevens doorgestuurd naar de cloud-omgeving van de leveranciers. De onderzoeker van DearBytes kwam binnen een middag eigenlijk al een horloge tegen met een vrij kwetsbare cloud-omgeving.

Kinderen tracken, maar niet afluisteren

Het betreft hier smartwatches die worden verkocht onder de merknaam HellOO. Ouders kunnen deze koppelen aan een app. Eerst wordt er een account aangemaakt, gevolgd door het toevoegen van het horloge. Zodra deze koppeling gelegd is, begint het doorsturen van de informatie

In die app is vervolgens de looproute van het kind te bekijken. In de fase waarin het onderzoek van DearBytes concreet werd, werd uiteraard een eigen horloge gebruikt. Zo kon Neelen precies zien dat hij tijdens de lunch een rondje door het park gelopen had. Deze gegevens wist DearBytes bij andere horloges uiteindelijk ook in te zien, waarover later meer.

Een andere functionaliteit van een dergelijk horloge is het instellen van een noodnummer. Dit nummer kan bellen naar de simkaart in het horloge. Zodra dit nummer belt, neemt de smartwatch op. Het lukte Neelen echter niet om hier misbruik van te maken, dan zou je daadwerkelijk het kind op afstand kunnen afluisteren. De onderzoeker is ook blij dat dit niet lukte. Zo’n afluisterapparaat zou immers nog veel grotere zorgen rondom privacy veroorzaken.

De sleutel tot informatie

Uiteraard zijn we benieuwd naar hoe Neelen tot zijn bevindingen kwam. Om achter lekken te komen, zijn namelijk verschillende methodes toe te passen. Hij maakte gebruik van Burp Suite, een Java-applicatie voor het analyseren van de security van een applicatie. Hiermee keek Neelen naar wat de app van de horloges communiceert met de cloud-omgeving. Het gaat als het ware om een proxy die je tussen de endpoint en cloud hangt, om zoveel mogelijk op te vangen.

Op deze manier werd ontdekt dat het watch-id, ook wel serienummer genoemd, meegestuurd wordt bij het opvragen van de data van zo’n horloge. Op dat moment van de onderzoeksfase beschikte Neelen echter nog niet over een eigen horloge. Zo paste hij een trucje toe dat hij onder andere bij pentests gebruikt: het kijken van een YouTube-video. In dit geval kwam hij een Unboxing-filmpje tegen van de smartwatch-maker zelf. Op een bepaald moment was in dit filmpje het serienummer zichtbaar.

Door dit nummer in te voeren in een bepaald gedeelte in Burp Suite kreeg Neelen het telefoonnummer te zien van de maker van de video. In principe zou je in dit gedeelte dus alle telefoonnummers in kunnen voeren, mits je over een watch-id beschikt. Probleem is alleen dat het serienummer vrij lang is.

Er is hier wel een trucje voor toe te passen door willekeurige nummers in te voeren. Neelen voerde als eindcijfers 0000 tot en met 9999 in, oftewel 10.000 pogingen. Hiervan waren 508 pogingen succesvol. Van 508 mensen bemachtigde de onderzoeker dus de gegevens. Hij vond het niet nodig om bijvoorbeeld een miljoen verzoeken te doen, op dit moment was zijn punt gemaakt.

Big brother is watching you

Het bemachtigen van je 06-nummer is voor velen al geen pretje, maar wij kregen in ieder geval nog een naarder gevoel bij andere mogelijkheden binnen Burp Suite. In een bepaald veld kan namelijk het serienummer ingevoerd worden om GPS-data op te vragen, de track-methode die we eerder omschreven. Door hier een begin- en eindtijd aan toe te voegen, komt de data in JSON-formaat terug. Deze range kan de onderzoeker beter niet te lang maken, aangezien het doorzoeken van de database dan erg veel tijd in beslag neemt. In principe verzamelt hij dan toch de kwetsbare gegevens die hij aan wil tonen, al blijft het binnen bijvoorbeeld een maand.

Maar goed, hier wordt het ons pas echt duidelijk dat het bespioneren echt kan beginnen. Zo is bijvoorbeeld het serienummer van de unboxing-video in te voeren in combinatie met de maand waarop deze gepubliceerd werd. Zo wist Neelen niet alleen bepaalde looproutes te ontdekken, maar ook bepaalde patronen. Als een hacker dit zou misbruiken, kan hij er onder andere achter komen waar het slachtoffer woont en werkt, alsmede andere locaties die het slachtoffer vaak bezoekt.

Het team van DearBytes projecteerde deze gegevens op een eigen kaart. Dit kun je van een enkel horloge doen, maar het is ook mogelijk om alle horloges die je wilt tonen, daar te laten zien. Je kunt dan live zien waar iedereen met zo’n horloge zich bevindt.

Nog veel groter

Wat hierop volgde, is de volgende fase van een onderzoek: het op de hoogte brengen van de leverancier. Soms is dat niet eenvoudig, afhankelijk van de reactie van de leverancier. In dit geval nam HellOO het goed op. Deze partij bleek echter het product in een Chinese fabriek te laten maken, wat de zaak een stukje complexer maakt. Hiermee is het aannemelijk dat het om een veel breder probleem gaat.

Een fabrikant zoals HellOO heeft niet noemenswaardig veel invloed op de ontwikkeling van het product. Eigenlijk geeft deze alleen maar aan hoe een product genoemd moet worden en welk logo erop moet komen. Dat houdt in dat hetzelfde product ook net zo eenvoudig onder een andere naam op de markt gebracht kan worden. Dat bleek in de praktijk ook zo te zijn. Met het serienummer van een horloge van een andere leverancier wist Neelen ook die GPS-data op te vragen.

Het bleek ook mogelijk om met het account bij de ene leverancier in te loggen op de app van een andere leverancier. Alles is dan hetzelfde, op de kleurtjes en het logo na. Het probleem treft dus een cloud waar heel veel fabrikanten gebruik van maken.

Uiteindelijk heeft Neelen zijn onderzoek nog wat verder verdiept door te kijken waar het probleem zich geografisch bevindt Dit is mogelijk door de netnummers van de telefoonnummers te bekijken. De 508 gevonden nummers zijn verdeeld over over 13 verschillende landen, waaronder Nederland. Neelen vermoedt dat er nog meer landen aan deze lijst toegevoegd kunnen worden, maar acht het niet verantwoord om nog meer data op te vragen.

Waar ligt de verantwoordelijkheid?

Wat DearBytes ook bijblijft in deze zaak is dat de OEM uit China komt. Binnen China heerst er een cultuur om producten als het ware te kopiëren, en ze daarna zo snel en goedkoop mogelijk te maken. Bij deze mentaliteit sluipen er waarschijnlijk kwetsbaarheden in, aangezien security dan minder prioriteit heeft.

Wat DearBytes betreft komt daar verandering in. Tijdens D3NH4CK kwam directeur Erik Remmelzwaal met een oproep aan de politiek. Hij ziet het liefst dat er zo snel mogelijk een IoT-keurmerk komt, in eerste instantie een niet volledige 1.0-versie. Hierbij gaat het om het verplicht wijzigen van standaardwachtwoorden, de versleuteling van netwerkverkeer, een toegangscontrole bij cloudopslag en automatische updates. Volgens Remmelzwaal leidt dit tot meer veiligheid. Het keurmerk kan dan nog aangevuld worden met andere controles, bijvoorbeeld op basis van het IoT-project van OWASP (Open Web Application Security Project).

Het gaat hier uiteraard om iets wat DearBytes graag ziet gebeuren, de meningen hierover lopen uiteen. Sommige personen zullen liever de verantwoordelijkheid leggen bij de fabrikant dan bij de overheid. Anderen zien weer liever wat verantwoordelijkheid bij de consument. In ieder geval heeft DearBytes de discussie aangewakkerd en ons eens te meer bewust gemaakt van de kwetsbaarheid van IoT-apparatuur. We gaan hoe dan ook een interessante periode tegemoet.