Security is een belangrijk aspect van het Internet of Things. Nu meer en meer devices gekoppeld en ontsloten worden, wordt dat probleem alleen maar groter. Maar welbeschouwd heeft een DDoS-aanval weliswaar te maken met security, maar niets met het Internet of Things!

Toen eind oktober 2016 Dyn is aangevallen door een DDoS-aanval, hadden veel grote partijen die de DNS-diensten gebruikten (zoals Twitter, Amazon, Spotify, Netflix, PayPal, etc.) hier last van. De aanval werd omschreven als een IoT-DDoS, omdat er IoT-devices bij betrokken waren. Het is grappig hoe de pers deze aanval omschreef: “DoS-aanval door babyfoons en beveiligingscamera’s”. Een ander noemde “digitale videorecorders en printers”, weer een andere bron sprak over “beveiligingscamera’s en koelkasten” en zelfs “tandenborstels” kwamen voorbij.

 

Geen tandenborstel

Laten we eerst eens een stapje terug doen en bekijken wat het Internet of Things nu precies is. Het bestaat uit direct en indirect met het internet verbonden devices. Het hele ecosysteem bestaat uit meerdere lagen:

1.De IoT-devices zelf, voorzien van sensoren en/of actuatoren (bijvoorbeeld een lamp, een fitbit, een tandenborstel), die onderling, via een gateway of app ‘connected’ zijn.

2.Gateways die de verbinding tussen de devices en de routers realiseren.

3.Slimme devices (computers!) die veelal een specifieke functie hebben (smart tv, smart watch, mediaplayer/entertainment systemen, IP-camera) en soms ook zelf een gatewayfunctie hebben.

4.Routers die de daadwerkelijke fysieke verbinding met internet mogelijk maken en routering van netwerkpakketjes verzorgen.

5.Smartphone/tablet-apps die direct met de devices communiceren (bijvoorbeeld via Bluetooth) of die met de gateways (of zelfs een cloud app) communiceren om de devices uit te lezen, te bedienen of te besturen.

6.Een cloud applicatie in het backoffice van de aanbieder bedoeld voor de eindgebruiker, die data verzamelt, remote toegang regelt, bedienen op afstand mogelijk maakt en dergelijke.

7.Een (voor de gebruiker onzichtbare) cloud applicatie van de aanbieder die firmware upgrades en patches verzorgt, maar ook data verzamelt en analyseert.

 

Het Internet of Things bestaat uit miljarden devices, maar een groot deel daarvan is niet van zichzelf ‘smart’. Veel devices met sensoren en actuatoren zijn in de praktijk zelfs helemaal niet slim en ook niet individueel aangesloten op internet. Ze hoeven geen IP-protocol te gebruiken om te communiceren en hebben dan ook geen IP-adres. Vergelijk de devices met kleine “Arduino’s”. Er is dus echt geen tandenborstel geweest die aan de DDoS heeft meegewerkt. De slimheid wordt toegevoegd door de gateway, de lokale app, de cloud app of door het ecosysteem als geheel.

 

Smart

De DDoS-aanval is niet uitgevoerd door IoT-devices, maar door ‘smart devices’. Dit zijn actieve computersystemen in de breedste zin van het woord: apparaten met een besturingssysteem (veelal Linux-gebaseerd), voorzien van een mogelijkheid tot remote toegang (web, ssh, telnet en dergelijke). Vergelijk de smart devices met Raspberries met een internetverbinding. Een mediaplayer in de woonkamer met Linux, die is ontsloten via internet zou besmet kunnen worden en meedoen aan de DDoS-aanval. Een mediaplayer is geen ‘ding;’ maar een computer. Datzelfde geldt voor je router of je IP-camera die van buitenaf met een App op je iPhone te bekijken is. Hier is niets nieuws aan. Dit is al zo sinds een computer met een IP-adres via de router vanaf buiten benaderd wordt.

 

Beheer

De zogenoemde “IoT-DDoS aanval” is dus een traditionele DDoS aanval, simpelweg veroorzaakt door slecht beheerde computersystemen. Dat is zowel de gebruikers te verwijten die het fabriekswachtwoord niet hebben veranderd als ook de fabrikanten die de devices niet met een uniek wachtwoord uitleveren. Fabrikanten zijn tevens niet erg transparant in of en hoe de devices van patches of nieuwe software worden voorzien. Ook is vaak onduidelijk of de gebruiker dit zelf dient te initiëren. Elk smart device moet net zo worden beheerd als elke laptop, desktop of smartphone thuis en op het bedrijfsnetwerk. 

 

Niet bagatelliseren

Hiermee willen we de DDoS-aanval niet bagatelliseren. De miljoenen slecht beheerde devices aan het internet zijn absoluut een probleem en door de smart devices worden het er heel veel. Maar de uitdaging bij het Internet of Things is vele malen groter. Een hacker die via toegang tot smart devices of de cloud apps in staat is IoT-devices te bedienen, veroorzaakt problemen die veel groter zijn dan een DNS-dienst die uit de lucht is en websites en webservices uitschakelt. 

Het uitlezen van sensoren legt relevante data van processen bloot, maar het wijzigen van sensordata of het aansturen van actuatoren veroorzaakt drama’s die al vaak in films zijn gebruikt. Nu wordt het realiteit. Stel je voor dat de verlichting of de stoplichten in een hele stad uit te schakelen of te ontregelen zijn! Wat gebeurt er als een hacker toegang heeft tot motoren, kleppen, schakelaars, stroomvoorziening en dergelijke in fabrieken of kerncentrales? Je moet er niet aan denken dat hackers in staat zijn sensordata te beïnvloeden of actuatoren te bedienen in ziekenhuizen of auto’s.

 

Encryptie

Beveiliging moet topprioriteit hebben bij alle IoT-oplossingen. En dan gaat het niet alleen over iets simpels als sterke (root- en andere) wachtwoorden op smart devices, gateways en het back-office, maar over authenticatie van de IoT-devices op het netwerk en krachtige versleuteling van alle communicatie tussen de componenten van het ecosysteem. Om eens een mooi voorbeeld te noemen: MyriaMesh van de Nederlandse startup Chess Wise, gebruikt Hardware Security Modules (speciale hardware dus die ook door banken worden gebruikt) om digitale sleutels voor krachtige authenticatie te beheren en encryptie te verzorgen. Een chip in elk IoT-device wordt door de HSM in de fabriek voorzien van securitysleutels. 

 

Mirai 

De DDoS-aanval op de DNS-servers blijkt veroorzaakt te zijn door Mirai malware. Deze malware besmet Linux-systemen door in te loggen met bekende wachtwoorden van de diverse systemen. In dit geval gaat het verhaal dat vooral IP-camera’s en DVR’s van het Chinese XiongMai Technologies zijn geweest waarop de malware zich heeft geïnstalleerd. Na inloggen wordt code naar het systeem gekopieerd die in opdracht van een Mirai Control Server systemen aanvalt. Dit gebeurt door DNS-verzoeken te genereren naar de servers die de control server doorgeeft. De aangevallen servers zijn niet in staat de vele verzoeken af te handelen en worden extreem traag. Op besmette systemen is niet eens root-toegang nodig, een beheeraccount zonder speciale rechten voldoet prima. 

 

Open source 

Niet lang voor de DDoS-aanval is de source code van Mirai gepubliceerd. In de code die nog steeds actief wordt onderhouden, zie je de lijst met bekende wachtwoorden. Ook ontdek je meteen dat het C-programmaatje dat de Linux-systemen besmet, gecompileerd is voor veel processors, waaronder PowerPC, 68000, x86 maar ook de ARM en ARMv7 wat Raspberry Pi’s mogelijke targets maakt! De sourcecode voor de Mirai Control Server en ‘clients’ download je gewoon op GitHub. Voor studiedoeleinden, maar of hackers het ook zo zien? Enerzijds inspireert open source hier hackers om zelf alternatieve botnets te ontwikkelen, anderzijds zijn bedrijven in staat zich te wapenen tegen dit soort botnets. Helaas bewegen hackers zich vaak vele malen sneller dan bedrijven.

 

Tot slot

Ben je zelf op kleine schaal met een Raspberry of Arduino een IoT-device aan het bouwen, bedenk dan ook eens wat de risico’s zijn als dit device door derden op afstand bekeken of bestuurd wordt. En wat zijn je maatregelen om dit te voorkomen? Op grotere schaal moeten we misschien naar een ‘Intranet of Things’ waarbij we alle IoT-devices binnen ons eigen netwerk houden. Misschien is dat een goed idee: het intranet is immers niet beperkt tot een gebouw en kan met een VPN over meerdere sites worden uitgebreid. Toch lijkt dit een flinke stap terug, zeker nu we allemaal de cloud aan het omarmen zijn. Authenticatie en encryptie van het verkeer van en naar IoT-devices is dan de juiste route. Maar eenvoudige is het niet.