Smart home, wel veilig!
Hoe je je privacy beschermt tegen nieuwsgierige aagjes
Smart-tv’s, bewakingscamera's, verwarmingsthermostaten en draadloze switches; alles wordt slim en communiceert via internet, het liefst via een app. Daarvoor maken de gadgets gaten in je firewall. Maar door gebrek aan informatie van fabrikanten kunnen gebruikers de risico's niet inschatten.
Er komen steeds meer huishoudelijke apparaten in huis die in verbinding staan met internet – hetzij via wifi hetzij via een bridge. Op die manier kan je smart-home vast opwarmen als je op weg bent naar huis, kan de smart-tv films direct vanuit internet streamen, let de webcam op vreemden in de tuin en houdt de robotstofzuiger je op de hoogte van zijn vorderingen. Om zulke informatie ook van buitenaf toegankelijk te maken, ondermijnen de apparaten regelmatig de firewall van je router en maken ze direct verbinding met de servers van de fabrikant. Deze servers vormen voor de app het centrale toegangspunt om op elk moment en op elke locatie een eigen tunnel naar het thuisnetwerk op te zetten, zodat je de beelden van de webcam kunt zien of de thermostaat kunt instellen.
Maar daarmee geef je ook de fabrikanten indirect toegang tot je eigen netwerk waarmee de IoT-apparaten permanent verbonden zijn. Daar komt bij dat je als consument niet weet welke firmware of hardware er precies in zo'n apparaat zit. Hieronder geven we daar een paar voorbeelden van.
Hoe je je netwerk met moderne accesspoints en netwerkswitches kunt opdelen zodat je de IoT- en smarthomeapparaten van elkaar en van andere apparaten isoleert, lees je vanaf pagina 107. Nog een stapje professioneler is het om subnetwerken op te zetten met routercascading, multi-LAN-routers of VLAN's, zie pagina 110.
Digitale spionnen
IoT- en smarthome-apparaten hebben een slechte naam. Nog maar enkele maanden geleden werden duizenden IoT-apparaten misbruikt om delen van internet plat te leggen. En onlangs meldde nieuwsdienst
Reuters dat Amerikaanse consumenten Bose hebben aangeklaagd omdat het bedrijf gebruikers van zijn koptelefoons bespioneert door stiekem te registreren naar welke muziek en podcasts zij luisteren en die gegevens door te verkopen. Wij hebben een paar exemplaren van dit soort apparaten grondig onderzocht en schrokken ons kapot. Ons onderzoek laat nog maar een heel klein topje van de ijsberg zien, want het gaat hier om toevallige ontdekkingen uit onze privéaankopen.
Voor de meeste IoT- en smarthomeapparaten is internettoegang net zo belangrijk als stroom. Omdat ze meestal wifi ondersteunen is toegang tot je eigen wifinetwerk de grootste horde die de apparaten moeten nemen. Vandaar dat de fabrikanten deze stap zo makkelijk mogelijk willen maken – puur uit eigenbelang. Als het verbinden met internet niet lukt, gaat het apparaat zo goed als zeker zogenaamd defect retour of er komen kostbare supportvragen. Maar het is blijkbaar geen probleem om de veiligheid en privacy te verwaarlozen. Voor een veilige wificonfiguratie zijn er in de loop van de tijd meerdere standaards ontwikkeld, maar er zijn maar weinig apparaten die het verbinden met een druk op de knop via WPS gebruiken. Neem de robotstofzuiger van Xiaomi. Voor het configureren zet deze zijn wifiadapter in de AP-modus en start een eigen onversleuteld wifi-netwerkje. Heb je de wifisleutel van je netwerk op je smartphone in de app ingevoerd, dan schakel je over naar het wifinetwerk van de stofzuiger en wordt de sleutel ongecodeerd doorgestuurd. Daarmee verraad je aan iedere luistervink binnen het bereik je wifiwachtwoord. Nog erger is het om de wifi-interface van de robot ongeconfigureerd te laten. Je kunt de stofzuiger ook wel met de twee knoppen bovenop bedienen, maar het accesspoint blijft altijd actief. Daarom kan iedereen die zich binnen het bereik bevindt de stofzuiger moeiteloos overnemen en als een stuk speelgoed op afstand besturen. En vanwege de uitgesproken krachtige laserscanner (LiDAR) is dat een niet te onderschatten risico. De robot kan binnen enkele seconden automatisch de woning in kaart brengen, inclusief alle meubels, huisdieren en bewoners – in real time. Het is dus een uitstekend hulpmiddel om vóór een woninginbraak een gedetailleerde plattegrond samen te stellen.
Er zijn andere manieren om verbinding te maken met het wifinetwerk die nog makkelijker zijn. Zo gedragen bijvoorbeeld de Foscam ip-camera FI9900P en stekkerschakelaars van Easy Home / Inter-Union zich tijdens de installatie volkomen passief, hoewel ze technisch gezien als accesspoint zouden kunnen werken.
Voor het doorgeven van het wifiwachtwoord aan de stekkerschakelaars gebruikt de bijbehorende app een trucje. Daarvoor moet de smartphone waar hij op draait met je wifinetwerk verbonden zijn en moet je je wifiwachtwoord in de app invoeren. Vervolgens stuurt hij UDPpakketten in het wifinetwerk naar het broadcast-adres van het netwerk. Deze zijn gevuld met null-bytes of andere klaarblijkelijk zinloze tekens die niets met het wifiwachtwoord van doen hebben. Desondanks meldt de IoT-schakelaar zich na enkele seconden correct aan op je wifinetwerk.
De clou is niet de inhoud van de datapakketten, maar hun lengte en volgorde. Aangezien je wifi versleuteld is kan het IoTapparaat de inhoud van de datapakketten niet ontsleutelen. Maar niet alle data in de pakketten zijn versleuteld . De mac-adressen van bron en doel, en de lengte van het pakket worden in leesbare tekst verzonden. Door uit te kijken naar pakketten met karakteristieke lengteverschillen kan het IoT-apparaat het SSID van het wifinetwerk bepalen waarop hij zich moet aanmelden. Na deze pakketten die gekenmerkt zijn door specifieke lengtes, verstuurt de app het wifiwachtwoord – eveneens via pakketten met verschillende lengtes. Een pakket met een lengte van bijvoorbeeld 91 bytes staat dan voor een 0 en eentje met een lengte van 92 bytes voor een 1.
De Foscam webcam gebruikt een vergelijkbare morsecode. Alleen vonden we daar geen relaties tussen het wifiwachtwoord en de lengte van de pakketten. Blijkbaar versleutelt of verbergt Foscam de informatie beter. Sluit je hem via ethernet aan het netwerk aan, dan vraagt de app toch het wifiwachtwoord en stuurt dit inclusief het admin-wachtwoord voor de camera naar de fabrikant voor toekomstige apparaten [1]. Als je wilt weten welke en hoeveel data je eigen IoT-devices naar buiten sturen, dan kun
We hebben een paar exemplaren van dit soort apparaten grondig onderzocht en
schrokken ons kapot
je een netwerksniffer zoals Wireshark gebruiken, bijvoorbeeld op een Raspberry Pi, zie [2]. Met Wireshark konden we het netwerkverkeer real time monitoren en de onversleutelde schakelcommando's eruit vissen die de server van de fabrikant aan de connected switches stuurt als je ze via de app bedient. Bovendien kun je met Wireshark zien welke hoeveelheden data een IoT-apparaat met welke server uitwisselt. Het is hierbij de normale gang van zaken dat de apparaten met udp-pakketten gaten in de firewall van je router schieten – elk apparaat voor zich (UDP-holepunching). Op deze manier ontstaat er een groot aantal tunnels van vreemde servers in je thuisnetwerk, waarvan het doel niet altijd duidelijk is. Het is wel duidelijk een risico als een IoTapparaat een veiligheidslek heeft. Lukt het een hacker om een van de udp-tunnels over te nemen of zich voor te doen als mobiel apparaat, dan kan hij ondanks je firewall en router inbreken in het IoTapparaat en dit gebruiken als uitvalsbasis voor verdere activiteiten.
Verborgen functies
Niet alleen het actieve dataverkeer is interessant, maar ook welke diensten een IoT- of smarthome-apparaat aanbiedt. Daarbij kun je rekenen op verrassingen. Toen we bijvoorbeeld met nmap naar open poorten zochten bij de stekker-switches, vonden we een volwassen webserver die aan iedereen in het netwerk het wifiwachtwoord verrraadt. In de documentatie wordt met geen woord gerept over dit webfrontend. Vermoedelijk omdat het alleen in het Chinees is. De toegang is alleen met gebruiker en wachtwoord 'admin' beschermd.
Het webfront-end biedt ook nog eens veel meer mogelijkheden dan de app. Je kunt de schakelaar bijvoorbeeld ook als accesspoint gebruiken. De webserver is niet uit te zetten, je moet dus absoluut het wachtwoord veranderen om misbruik te voorkomen. Gelukkig is er Google Translate zodat het Chinees geen probleem is. Zulke diensten met standaard wachtwoorden zijn uit te buiten met JavaScript-aanvallen via de browser van een lokale gebruiker. Dat kon een aantal jaren geleden ook bij Fritzbox-routers, waarbij voor het inloggen in het webfront-end geen wachtwoord nodig was.
SSH
De minicomputer Raspberry Pi – oorspronkelijk bedoeld voor het onderwijs, maar ondertussen ook een (experimenteel) IoT-platform in veel huishoudens – had eveneens jarenlang een gapend veiligheidsgat. In het bijbehorende besturingssysteem Raspbian was de sshserver standaard actief, zodat je elke Pi headless (zonder monitor en toetsenbord) via het lokale netwerk kon bedienen. Er is echter een toenemend aantal botnets van IoT-apparaten waarmee aanvallen op internet worden uitgevoerd. Daarom werd eind vorig jaar na een update voor Raspbian Pixel de sshserver standaard niet meer geactiveerd [3]. Maar dit ssh-veiligheidsprobleem kan evengoed in een commercieel product opduiken. Daarom is het scannen op openstaande poorten eigenlijk noodzakelijk bij alle devices die je op je netwerk aansluit.
Ingebouwde afluistertechniek
Een acuut gevaar voor je privacy zijn bovendien sensors die fabrikanten in hun apparaten inbouwen, maar waar je als consument geen weet van hebt, of hooguit via fora op internet. De achterliggende reden is in het algemeen niet om je te bespioneren, maar om kosten bij de ontwikkeling en de productie te sparen. Als een fabrikant bijvoorbeeld een apparaat in meerdere varianten aanbiedt, dan loont het vaak niet om voor elk model een aparte printplaat te laten maken. Het is dan voordeliger om een universele print met alle onderdelen erop in grote hoeveelheden te produceren.
De diverse modellen met verschillende uitrustingen, wijken dan alleen van elkaar af wat betreft firmware, die bij de goedkopere versies een aantal functies ongebruikt laat. Om de consumenten niet op ideeën te brengen, verzwijgen veel fabrikanten deze handelswijze. Een 'mooi' voorbeeld is de Fritz DECT 200, een schakelbare contactdoos van AVM. Hierin zit al jarenlang een microfoon ingebouwd, die niet op de verpakking of in het handboek genoemd wordt. Pas het begin februari 2017 uitgebrachte FritzOS 6.80 liet zien waar hij voor bedoeld is. Je kunt de contactdoos nu ook bedienen door klappen in je handen. In een reactie stelde AVM dat de microfoon geen spraak kan doorgeven, omdat de gebruikte overdrachtsstandaard daar niet in voorziet.
Conclusie
Een IoT-apparaat is voor de bezitter gewoon een zwarte doos. De precieze functionaliteit en beveiliging ervan kun je als consument niet doorgronden. Voor het lokale netwerk, waar privédocumenten en -foto's overheen gaan is dat een niet in te schatten risico. Daarom zouden IoT-apparaten principieel in een apart netwerk opgesloten moeten zijn. En het liefst nog gescheiden per apparaatklasse. Binnen je netwerk zijn accesspoints met multiSSIDen VLAN-ondersteuning en VLANswitches net zo onmisbaar voor een verantwoordelijk gebruik, als de routers en firewalls die de afzonderlijke netwerken van elkaar afschermen. Dat zijn dan ook de verborgen kosten voor de gemakken van een smart-home. (jmu)