Smart home hacken

juli 18, 2019

Smart home technologieën zijn ontworpen om het leven makkelijk te maken. Bij nieuwe gemakken komen echter ook nieuwe problemen om de hoek kijken. De gevaren van alles automatiseren zijn een terugkerend onderwerp in gesprekken en blogs. Voor beginners betekent het aansluiten van home-apparaten op het Internet afhankelijk zijn van de kwaliteit van de verbinding en de werking van de server. Tegelijkertijd kunnen cybercriminelen misbruik van maken van die toegangspunten en de controle krijgen over kwetsbare apparaten om deze vervolgens te gebruiken in hun eigen voordeel.

Zoals recent onderzoek laat zien, zijn er nog talloze manieren om de controle te krijgen over smart home systemen. Een van die probleempunten is bijvoorbeeld een kwetsbaarheid in de cloud-server waarmee de gebruiker het huis bestuurt. Een ander voorbeeld is de op het eerste gezicht onschuldig ogende smart light schakelaar.

Fibaro: Cloud-dreiging

Zoals Kaspersky bekend heeft gemaakt, werd het met Fibaro smart home mogelijk om de back-up data van de smart hub naar de cloud-server te uploaden of om deze van de server te downloaden. Een smart hub is het belangrijkste apparaat in een smart home systeem, want het bestuurt alle andere: thermostaat, koffieapparaten, veiligheidssystemen, etc.

De back-up data van de hub bevat veel interessante details over de woning en de eigenaar, inclusief de locatie van de woning en de smartphone, het e-mailadres waarmee de gebruiker zijn of haar Fibaro-account heeft geregistreerd en een lijst van verbonden apparaten en wachtwoorden (in tekstformaat zonder encryptie).

Het wachtwoord van het admin-panel, gebruikt als afstandsbediening van het home systeem was daar ook in opgeslagen. In tegenstelling tot de andere wachtwoorden opgeslagen in de back-up, was deze tenminste beschermd, of beter gezegd, gehasht. Als de aanvaller echter alle back-up kopieën zou downloaden van de Fibaro cloud, dan zou deze de makkelijkste en meest voorkomende wachtwoorden kunnen raden, zoals “password1”, deze hebben namelijk dezelfde hash.

Eenmaal in het admin-panel kan een hacker een van de kwetsbaarheden uitbuiten en codes uitvoeren waarmee op afstand supergebruikersrechten bemachtigd kunnen worden. Supergebruikers kunnen alles doen wat ze maar willen in home. Ironisch gezien heeft de werkelijke eigenaar geen supergebruikersrechten, want de fabrikant dacht dat dat veiliger zou zijn (en in enkele aspecten is dit waar).

Fibaro: Kwaadaardige update

Een ander aanvalsscenario dat is opgerold door onderzoekers van Kaspersky kon zelfs zonder een wachtwoordkraak uitgevoerd worden. Zoals we al eerder vermeld hebben, was het niet alleen mogelijk om ongeautoriseerd back-up kopieën te downloaden van de Fibaro-server, maar konden ze ook geüpload worden. Sterker nog, de cloud stond zelfs toe om berichten of e-mails te sturen naar de home-eigenaar.

In andere woorden werd het de aanvallers erg makkelijk gemaakt, want ze hoefden alleen maar een kwaadaardige back-up kopie te maken, deze uploaden naar de server en vervolgens het slachtoffer over te halen om deze ‘update’ te installeren. Dit was simpelweg een kwestie van het nabootsen van een bericht van Fibaro (phishing). Zelfs als de hacker niet alle data op orde had, was er een kans dat het nietsvermoedende slachtoffer de kwaadaardige back-up zou downloaden en de hacker supergebruikersrechten geven. Het bericht was immers afkomstig van een ******@fibaro.com adres, waardoor het allemaal OK leek.

We deden verslag van de kwetsbaarheden aan Fibaro, die deze direct hebben opgelost, zodat de aanvalsscenario’s niet langer werkzaam zouden zijn. Laten we hopen dat andere fabrikanten van smartapparaten deze fouten in acht nemen bij het ontwikkelen van hun eigen systemen.

Nest: Smart camera schakelaar

Een ander onderzoek door onderzoekers uit de VS, van het College of William & Mary, keken naar de veiligheid van twee smart home platforms: Nest (van Nest Labs, eigendom van Google) en Hue (geproduceerd door Philips). Beide platforms waren kwetsbaar, ieder op zijn eigen manier.

De ontwikkelaars van Nest Labs keken vooral naar de beveiliging van veiligheidssystemen: apps van derde partijen en apparaten kunnen instellingen van veiligheidscamera’s en andere componenten van home security niet aanpassen, of deze aan- of uitzetten. Beter gezegd, ze kunnen dit niet direct doen.

Het systeem gebruikt echter enkele attributen die veel voorkomen in veiligheidssystemen en apparaten die veel minder goed beschermd zijn. De waarden van deze attributen zijn opgeslagen in slechts één opslagplek en alle apparaten die het nodig hebben om te kunnen werken, hebben toegang tot die plek. Daarnaast komt kijken dat enkele kleinere apparaten, zoals een lichtschakelaar of thermostaat in veel gevallen deze waarden kunnen lezen én zelfs aanpassen.

Aan de ene kant draagt dit bij aan de automatisering en versimpeling van handelingen. Zo is het bijvoorbeeld niet nodig om commando’s aan ieder apparaat te geven wanneer je ’s ochtends vertrekt voor werk. De app die de schakelaar bestuurt, kan bijvoorbeeld op basis van geolocatie interpreteren dat je het huis uit bent en deze informatie doorspelen naar de opslag en de waarde weg toekennen aan de benodigde attributen.

Deze waarde kan niet alleen door de schakelaar zelf gelezen worden, wat de bedoeling is, maar ook door andere apparaten. En ieder apparaat voert een geprogrammeerde handeling uit: de airconditioning gaat langzaam uit, de muziek gaat uit, en de veiligheidscamera start met opnemen. Als het systeem echter gelooft dat de eigenaar thuis is, dan kunnen de camera’s worden uitgezet en op die manier kan de veiligheid ondermijnd worden.

Er zijn verschillende apparaten die compatibel zijn met Nest die toestemming hebben om te Thuis/Afwezig-functie te besturen. De onderzoekers besloten de veiligheid van de Kasa-schakelaar, gemaakt door TP-link, te onderzoeken. Behalve de bovengenoemde mogelijkheid om de Thuis/Afwezig-functie te besturen, viel hun keuze hierop door de grote populariteit van de Kasa Smart app (meer dan een miljoen downloads op Google Play). Bij nader onderzoek bleek dat het programma aanvallers toestond om de verbinding met de server te kapen en er commando’s naar te sturen.

Het probleem werd ontdekt in het autorisatieproces, in het bijzonder de beveiliging waar de ontwikkelaars voor hadden gekozen. Om de gegevens van de gebruikersaccount niet in de verkeerde handen te laten vallen, hebben de app en de server eerst een geëncrypteerde verbinding gemaakt. Hiervoor stuurt de app een verzoek naar de server, die een SSL-certificaat toont om te bevestigen dat de server te vertrouwen is.

De app checkt het certificaat voor authenticatie en als alles klopt, stuurt deze stiekem een token (data om de gebruiker te identificeren) naar de server. En hiermee kroop er een error in, want de Kasa-app bleek alle certificaten te vertrouwen.

De onderzoekers beschreven een mogelijk hack-scenario:

  1. De cybercrimineel traceert de eigenaar van het beoogde home-systeem en wacht totdat deze verbinding maakt met een openbaar wifi-netwerk, zoals in een café.
  2. De Kasa-app probeert dan verbinding te maken met de server.
  3. Door op hetzelfde netwerk te zitten, kan de aanvaller de verbinding onderscheppen en een eigen SSL-certificaat laten zien aan de app.
  4. De app, die de cybercrimineel aanziet voor de server, verstuurt de vereiste authenticatie-token.
  5. De cybercrimineel, op zijn beurt, laat de token zien aan de echte server, die vervolgens denkt dat het de app is.
  6. De hacker geeft instructies aan de schakelaar, vanuit het café, dat de eigenaar thuis is.
  7. De waarde verandert van Afwezig naar Thuis.
  8. Het doel is dus bereikt en de camera leest de waarde en stopt met opnemen, waardoor bijvoorbeeld een cybercrimineel onbezorgd het huis in kan.

Het ergste is dat volgens de onderzoekers z’n aanval niet eens bijzondere vaardigheden vereiste. Het goede nieuwe is dat het team van ontwikkelaars bij Kasa, net zoals bij Fibaro, de bug onmiddellijk hebben gerepareerd nadat het onderzoeksteam verslag had gedaan.

Nest: Aandacht voor groot in plaats van klein

In theorie zou het Nest-systeem beschermd moeten worden tegen soortgelijke aanvallen met de ingebouwde scanner die apps en apparaten van derden opspoort. De website voor ontwikkelaars geeft een lange lijst van voorwaarden voor producten die interacteren met het platform. Deze voorwaarden beschrijven onder andere dat het apparaat of de app een veilig en goed werkend autorisatiesysteem moet hebben, om te voorkomen dat iemand zich voordoet als de echte eigenaar.

Maar in de praktijk kan deze authenticatie omzeild worden. Het Nest-systeem controleert alleen apps met meer dan 50 gebruikers, wat betekent dat een programma van een cybercrimineel een verbinding van vaststellen met het home-systeem door de veiligheidscontrole te omzeilen. Het enige wat deze cyberdieven hoeven te doen is het slachtoffer te overtuigen hun specifieke app te downloaden en het verzoek om bepaalde rechten te accepteren.

Daarnaast hebben zelfs populaire apps die niet aan de voorwaarden van Nest voldoen kans om deze scan te omzeilen. Het bovengenoemde Kasa Smart geval is hier een voorbeeld van.

Bovendien blijkt dat veel apps voor Nest-apparaten onvolledige informatie geven over de toegangsrechten die nodig zijn voor hun handeling. Een voorbeeld hiervan is de beschrijving van een thermostaat-app die zegt dat toegang tot de Thuis/Afwezig-functie slechts nodig is voor het besturen van de thermostaat zelf, terwijl dit echter ook het hele systeem en andere apparaten betreft. In andere woorden is deze beschrijving misleidend.

Hue: Welkom apps van derden

Het probleem van het verstrekken van rechten aan apps van derden heeft ook betrekking op Philips Hue smart lampensysteem. Het is ontworpen zodat ieder programma om toestemming moet vragen aan de gebruiker om toegang te krijgen tot de smart home.

Deze toestemming kan gegeven worden door op een fysieke knop te drukken, waarmee de Hue apparaten interacteren. Hiervoor is het nodig dat deze knop en de app in hetzelfde lokale netwerk moeten zitten, zodat buren en omstanders geen verbinding kunnen maken met jouw smart home-systeem, door op het juiste moment een toestemmingsverzoek te sturen. In het algemeen is dit een geweldig idee, maar de uitvoering ervan was niet goed.

De onderzoekers ontdekten dat de knop ook ‘ingedrukt’ kon worden door een willekeurig programma dat al verbonden is met Hue. Dit komt doordat het ‘brein’ van het systeem vaststelt of de knop geactiveerd is volgens de waarde van een van control units. En deze waarde kan aangepast worden door apps. Dat betekent dat één kwaadwillend programma met toegang tot het platform gratis toegang kan verlenen aan anderen. En met dezelfde instellingen kan het ook de toegang weigeren aan legitieme apparaten van de eigenaar.

Nu kan het lijken dat deze bug in het Hue-platform, dat alleen voor verlichting wordt gebruikt, niet zo gevaarlijk is als de bug in het Nest-platform, maar Hue-apparaten kunnen ook verbinding maken met Nest. En nu weten we dat hiermee sloten en camera’s kunnen worden bestuurd, maar in sommige gevallen kunnen deze worden uitgeschakeld door apps van derden.

Hoe u uw smart home kunt beschermen

Veiligheidslekken komen voor in bijna alle home-systemen. Reden om bang te zijn? Een flikkerend licht of een op hol geslagen verwarming is onhandig, maar niet erg gevaarlijk en ook niet interessant voor cybercriminelen. Een gehackt slot of veiligheidscamera daarentegen is wel een probleem. Het is natuurlijk wel zo dat de meerderheid van de dieven liever een koevoet gebruiken om uw huis binnen te komen in plaats van het hacken van uw home-systeem.

Toch is het handig om u ervan bewust te zijn dat, mocht u overstappen op een home-systeem, u op zijn minst de risico’s op hacken kunt verkleinen. Hier volgen enkele instructies:

  • Lees reviews en onderzoek over de veiligheid van de apparaten voordat u ze koopt. Kijk goed naar hoe de fabrikant reageert op ontdekte kwetsbaarheden. Als deze snel het probleem oplost, dan is dit een goed teken.
  • Als uw oog is gevallen op een specifieke app of apparaat, houd updates en de ontdekking van kwetsbaarheden dan goed in de gaten. Installeer alle updates van de ontwikkelaars op tijd.
  • Bescherm uw apparaten en control panels met een sterk en uniek wachtwoord. Op die manier maakt u het de inbreker in ieder geval niet te makkelijk.
  • Stel uw thuis wifi-netwerk goed in.
  • Download programma’s alleen van officiële bronnen, en geef deze geen onnodige toestemming.
  • Bij het aansluiten van uw smart home-systeem via een openbaar wifi-netwerk moet u zich ervan bewust zijn dat informatie over wachtwoorden en autorisatietokens onderschept kan worden. Om dit te vermijden, raden we aan om een veilige VPN-verbinding aan te gaan.