Deskundigen van Kaspersky hebben onlangs de beveiliging van een populair speelgoedrobotmodel onderzocht en daarbij grote problemen ontdekt waardoor kwaadwillenden een videogesprek konden voeren met een dergelijke robot, het ouderaccount konden kapen of mogelijk zelfs gewijzigde firmware konden uploaden. Lees verder voor de details.
Wat kan een speelgoedrobot doen?
De speelgoedrobot die we hebben bestudeerd is een soort hybride tussen een smartphone/tablet en een slimme luidspreker op wielen waarmee hij kan bewegen. De robot heeft geen ledematen, dus door het huis rollen is de enige manier om met zijn omgeving te communiceren.
Het middenstuk van de robot is een groot touchscreen dat een bedieningsinterface, interactieve leerapps voor kinderen en een levendig, gedetailleerd tekenfilmachtig gezicht kan weergeven. De gezichtsuitdrukkingen veranderen afhankelijk van de context; de ontwikkelaars hebben uitstekend werk geleverd op het gebied van de persoonlijkheid van de robot.
Je kunt de robot besturen met spraakopdrachten. Sommige functies ondersteunen deze echter niet, dus soms moet je de robot pakken en op zijn gezicht, oftewel het ingebouwde scherm, tikken.
Naast een ingebouwde microfoon en een behoorlijk luide luidspreker heeft de robot een groothoekcamera net boven het scherm. Een belangrijk kenmerk dat door de verkoper wordt aangeprezen, is de mogelijkheid van ouders om hun kinderen rechtstreeks via de robot te videobellen.
Aan de voorkant, ongeveer halverwege tussen het scherm en de wielen, bevindt zich een extra optische sensor voor objectherkenning die de robot helpt om botsingen te voorkomen. Omdat de obstakelherkenning volledig onafhankelijk is van de hoofdcamera, hebben de ontwikkelaars op zeer nuttige wijze een fysieke sluiter toegevoegd die deze volledig bedekt.
Dus als je je zorgen maakt dat iemand via die camera naar jou en/of je kind gluurt (helaas niet zonder reden, zoals we later gaan zien), kun je de sluiter gewoon dichtmaken. En als je je zorgen maakt dat iemand je via de ingebouwde microfoon afluistert, kun je de robot gewoon uitschakelen (en afgaande op de tijd die nodig is om weer op te starten, is dit een afsluiting, geen slaapmodus).
Zoals je zou verwachten, is er een app beschikbaar voor ouders om het speelgoed te besturen en te monitoren. En zoals je inmiddels waarschijnlijk al geraden hebt, is de app verbonden met internet en maakt deze gebruik van een aantal cloudservices. Als je geïnteresseerd bent in de technische details, kun je deze vinden in de volledige versie van het beveiligingsonderzoek, dat we op Securelist hebben gepubliceerd.
Zoals gewoonlijk geldt: hoe complexer het systeem, hoe waarschijnlijker het is dat er gaten in de beveiliging zitten, waar iemand misbruik van zou kunnen maken voor onzuivere redenen. Nu zijn we bij het belangrijkste punt van dit bericht aangekomen: nadat we de robot nauwkeurig hadden bestudeerd, vonden we verschillende ernstige kwetsbaarheden.
Ongeautoriseerd videobellen
Het eerste dat we tijdens ons onderzoek ontdekten, was dat kwaadwillenden videogesprekken konden voeren met dit soort robots. De server van de leverancier gaf videosessietokens uit aan iedereen die zowel de robot-id als de ouder-id had. De robot-id is gemakkelijk te verkrijgen. Elke robot heeft namelijk een id bestaande uit negen tekens die vergelijkbaar is met het serienummer dat op de behuizing is gedrukt. De eerste twee tekens voor elke eenheid zijn hetzelfde. En de ouder-id kan worden verkregen door zonder enige authenticatie een verzoek met de robot-id naar de server van de fabrikant te sturen.
Een kwaadwillende die een willekeurig kind wil bellen, kan dus proberen de id van een specifieke robot te raden, of een chat-roulettespel spelen door willekeurige id’s te bellen.
Volledige kaping van ouderaccounts
Dat is nog niet alles. Dankzij het goedgelovige systeem kan iedereen met een robot-id veel persoonlijke informatie van de server ophalen, zoals een IP-adres, het land van verblijf en de naam, het geslacht en de leeftijd van een kind. Ook kunnen gegevens van het ouderaccount worden verkregen, zoals het e-mailadres van de ouder, het telefoonnummer en de code die de ouderapp aan de robot koppelt.
Dit vergroot de kans op een nog gevaarlijkere aanval, namelijk de volledige kaping van ouderaccounts. Een kwaadwillende hoeft slechts een paar eenvoudige stappen te ondernemen:
- Eerst logt de kwaadwillende vanaf zijn eigen apparaat in op het ouderaccount met behulp van het eerder verkregen e-mailadres of telefoonnummer. Voor autorisatie is het indienen van een eenmalige code van zes cijfers vereist, maar het aantal inlogpogingen is onbeperkt, dus willekeurig proberen is dan voldoende.
- Er is maar één klik nodig om de robot los te koppelen van het echte ouderaccount.
- Vervolgens koppelt de kwaadwillende deze aan zijn eigen account. Accountverificatie is gebaseerd op de hierboven genoemde koppelingscode en de server stuurt deze naar iedereen.
Een succesvolle aanval leidt ertoe dat de ouders alle toegang tot de robot verliezen. Er moet dan contact worden opgenomen met de technische ondersteuning om deze te herstellen. Zelfs dan kan de aanvaller het hele proces nog een keer herhalen, aangezien hij alleen de robot-id nodig heeft, die verder ongewijzigd blijft.
Gewijzigde firmware uploaden
Toen we tot slot de manier bestudeerden waarop de verschillende systemen van de robot functioneerden, ontdekten we beveiligingsproblemen met het software-updateproces. Updatepakketten kwamen zonder digitale handtekening en de robot installeerde een speciaal geformatteerd updatearchief via de server van de leverancier zonder eerst enige verificatie uit te voeren.
Hierdoor ontstonden mogelijkheden om de updateserver aan te vallen, het archief te vervangen door een aangepast exemplaar en schadelijke firmware te uploaden waarmee de aanvaller willekeurige opdrachten met superuser-machtigingen op alle robots kan uitvoeren. In theorie zouden de aanvallers dan de controle over de bewegingen van de robot kunnen overnemen, de ingebouwde camera’s en microfoons kunnen gebruiken om te spioneren, naar robots kunnen bellen, enzovoort.
Zo blijf je veilig
Dit verhaal loopt toch goed af. We hebben de ontwikkelaars van het speelgoed geïnformeerd over de problemen die we hadden ontdekt, en zij hebben stappen ondernomen om deze op te lossen. De hierboven beschreven kwetsbaarheden zijn allemaal verholpen.
Tot slot volgen hier enkele tips om veilig te blijven terwijl je slimme gadgets gebruikt:
- Bedenk dat allerlei soorten slimme apparaten, waaronder speelgoed, doorgaans zeer complexe digitale systemen hebben. De ontwikkelaars slagen er vaak niet in om de veilige en betrouwbare opslag van gebruikersgegevens te garanderen.
- Wanneer je een apparaat aanschaft, moet je ervoor zorgen dat je feedback en recensies van gebruikers en, idealiter, eventuele beveiligingsrapporten aandachtig leest als je deze kunt vinden.
- Houd in gedachten dat het apparaat niet minderwaardig is als er problemen worden ontdekt. Deze kunnen altijd en overal voorkomen. Let goed op of er een antwoord is van de leverancier. Het is een goed teken als eventuele problemen zijn opgelost. Het is een slecht teken als de verkoper er niets om lijkt te geven.
- Om te voorkomen dat je door je slimme apparaten wordt bespioneerd of afgeluisterd, moet je deze uitschakelen als je ze niet gebruikt. Dek ook de camera af of plak er tape overheen.
- Ten slotte is het vanzelfsprekend dat je de apparaten van al je gezinsleden moet beschermen met een betrouwbare beveiligingsoplossing. Het hacken van een speelgoedrobot is weliswaar een exotische bedreiging, maar de kans dat je andere soorten online bedreigingen tegenkomt is tegenwoordig nog steeds erg groot.