SPIN is ons open source-platform dat het internet en gebruikers beschermt tegen onveilige slimme apparaten in thuisnetwerken. We begonnen begin 2017 met SPIN, na de grote internetverstoringen als gevolg van de DDoS-aanval vanuit het Internet of Things (IoT) op DNS-operator Dyn (1.2 Tbps). In jaar 2 van het SPIN-project voerden we een flink aantal verbetering door, die we in deze blog kort voor je op een rij zetten. Meer technische details maken we binnenkort beschikbaar via een artikel waar we aan werken.
Grote hoeveelheid slimme apparaten
Herontwerp van SPIN naar een referentieplatform voor veilige en privacy-vriendelijke IoT-thuisnetwerken Slimme dingen van slechte kwaliteit bedreigen betrouwbaarheid internet SPIN: A User-centric Security Extension for In-home NetworksEr is een grote hoeveelheid slimme apparaten op de markt die aangesloten kunnen worden op het internet en daarmee onderdeel zijn van het Internet of Things. Consumenten kopen deze apparaten, zoals slimme lampen of robotstofzuigers met wifi, vaak met weinig oog voor de digitale veiligheid ervan. Ze koppelen apparaten bijvoorbeeld direct aan het internet, laten standaardwachtwoorden ongewijzigd, of updaten kwetsbare software-versies niet (of kunnen ze niet updaten).
Gebrek aan aandacht voor veiligheid
Het gebrek aan aandacht voor veiligheid bij zowel de fabrikanten als consumenten leidt tot een onveilig IoT-ecosysteem met veel slimme apparaten die eenvoudig te ‘hacken’ zijn. De gevolgen hiervan werden bijvoorbeeld zichtbaar tijdens DDoS-aanvallen vanuit het Mirai-botnet eind 2016 (1.2 Tbps, 600K IoT-bots) en worden de komende jaren waarschijnlijk alleen maar erger. Om dit te stoppen zijn verschillende acties nodig, zoals overheidsregulering, waardoor ieder apparaat aan een aantal minimale cybersecurity-eisen moet voldoen. Een andere mogelijkheid is het actief beschermen van thuisnetwerken. En dat laatste is precies waarom we SPIN ontwikkelen.
Wat doet SPIN?
SPIN is ons open source security-platform dat het internet en haar gebruikers beschermt tegen onveilige apparaten in thuisnetwerken. SPIN analyseert het verkeer op een thuisnetwerk (alleen IP-adressen en domeinnamen) en sluit een apparaat tijdelijk geheel of gedeeltelijk af, als het ontdekt dat het apparaat afwijkend netwerkgedrag vertoont. Dat afwijkende gedrag kan namelijk betekenen dat het apparaat gehackt is. Een voorbeeld is een lamp met een wifi-verbinding die maandenlang alleen een paar berichten verstuurt als het donker is, maar plots overdag grote aantallen berichten gaat sturen. Zo voorkomen we dat het apparaat een actief onderdeel van een botnet wordt en DDoS-aanvallen gaat uitvoeren, bijvoorbeeld op DNS-operators zoals Dyn of wijzelf.
SPIN blokkeert een specifiek apparaat
De SPIN-aanpak maakt het mogelijk om onveilige slimme apparaten heel gericht te blokkeren. Dat is anders dan nu, want ISP’s plaatsen typisch een heel thuisnetwerk in quarantaine als er een gehackt apparaat in zit. Deze grove benadering gaat niet werken als iedereen straks honderden (onzichtbare) slimme-apparaten in huis heeft, waarvan afsluiting zelfs fysieke problemen met zich mee kan brengen. Denk hierbij aan een online deurslot dat dan automatisch op ‘open’ springt, of een medisch meetapparaat dat constant internettoegang nodig heeft.
Een consument kan met de SPIN-software onveilige apparaten beter beschermen tegen aanvalspogingen van buitenaf. Dit doen we door het toepassen van profielen van elk slim apparaat. Hierin staat welke inkomende en uitgaande verbindingen een apparaat mag hebben.
SPIN draait op OpenWRT en kant-en-klare images zijn te downloaden voor een paar specifieke mini routers.
Verbetering #1: Herontwerp van de software
Na in 2017 meerdere proof-of-concept versies van SPIN te hebben opgeleverd, hebben we begin dit jaar eerst een herontwerp van de software doorgevoerd. Hiermee zijn we van een bijna monolithisch systeem naar een modulaire opzet gegaan. Daarmee kunnen we in potentie de traffic capture, message broker, en measurements/analyse op aparte systemen draaien. Het voordeel hiervan is dat er gebruik gemaakt zou kunnen worden van data-analyse die meer processorkracht nodig heeft dan een kleine router kan bieden, of een langere geschiedenis van het dataverkeer van het eigen netwerk opgeslagen kan worden.
Nu dit herontwerp is doorgevoerd zijn we aan de slag gegaan met het verbeteren van de individuele onderdelen: (1) de SPIN agents; (2) het network measurement center; en (3) de UI.
Verbetering #2: SPIN-agent
We ontwikkelden een nieuwe versie van de SPIN-agent. Oorspronkelijk werd het afvangen van dataverkeer gedaan door middel van een custom kernel-module. Deze keuze hadden we gemaakt vanwege de nadelen van andere oplossingen; een tcp-dump variant nam te veel processortijd in beslag op de beperkte hardware van een router, en bij bestaande kernel-technieken ging er te veel data verloren. Nieuwe ontwikkelingen aan de kant van SPIN en van OpenWRT bieden nu de mogelijkheid om dit wel via bestaande methodieken te doen, waardoor we een flexibelere agent gaan krijgen. Een van de voordelen van de nieuwe aanpak is het eenvoudiger toepassen van de SPIN-agent op verschillende platformen.
Verbetering #3: Network measurement center
We ontwikkelden een eerste versie van het network measurement center. Deze module onthoudt de verkeerspatronen van alle apparaten en maakt daar een real-time model van. Met behulp van de geschiedenis van verkeerspatronen kunnen we bijvoorbeeld anomalies detecteren door het huidige gedrag van een apparaat te vergelijken met die in het verleden (zie bijv. de smart lamp hierboven). Als er grote afwijkingen zijn, kan ingegrepen worden door de gebruiker te informeren of internettoegang van het apparaat af te sluiten. Door ons nieuwe ontwerp kan het network measurement center op een ander apparaat in het netwerk draaien dat meer rekenkracht heeft.
We ontwikkelden ook een voorbeeldimplementatie van anomaly detection. Dit dient als inspiratie waarmee derden eigen anomaly detection algoritmes kunnen maken op basis van de data uit het network measurment center.
Verbetering #4: UI, Configuratie en controle
De SPIN-software biedt nu ook web API’s op het interne netwerk, waar eventuele andere frontends (naast de SPIN Traffic Visualiser) gebruik van kunnen maken. De SPIN Traffic Visualizer biedt geavanceerde gebruikers nu ook de mogelijkheid om van één specifiek apparaat het complete dataverkeer te downloaden, zodat bijvoorbeeld een onderzoeker gemakkelijker een analyse kan doen van wat een slim apparaat doet op het internet.
Ander onderzoek met SPIN
Aan de hand van SPIN hebben we in het afgelopen jaar ook ander onderzoek gedaan: een afstudeerder, Caspar Schutijser, en inmiddels collega, heeft een scriptie geschreven over het gebruik van MUD voor geautomatiseerde DDoS-bescherming. Daarnaast hebben we met SPIN als basis een prototype ontwikkeld van een systeem waar een ISP aan de router kan melden dat er verdacht verkeer heeft plaats gevonden. Aan de hand van die melding kan de router (of gebruiker) dan beslissen dat een apparaat op het netwerk geblokkeerd moet worden. Zo hoeft niet het hele netwerk in quarantaine gezet te worden, en kunnen problemen met gehackte devices gerichter aangepakt worden zonder de ISP inzicht te geven in het eigen netwerk.
Op weg naar 2019
Met deze ontwikkelingen willen we nu verder onderzoek doen. Dit doen we bijvoorbeeld door een aantal apparaten grondig te meten, en daarmee een methodiek op te stellen voor een algemenere analyse van smart devices, zodat ook andere onderzoekers dit soort metingen kunnen doen. Denk daarbij aan het opsommen van diensten op het internet die het apparaat gebruikt, en welke daarvan al dan niet te verwachten zijn, zoals een smart televisie die contact op neemt met Facebook. Om een dergelijke aanpak te testen hebben we SPIN ook al ingezet bij de colleges voor het vak Security Services of the IoT. Hierbij konden studenten voor het practicum een kleine versie van dergelijke metingen uitvoeren. Ook willen we ons richten op onderzoek naar het modelleren van IoT apparaten in samenwerking met academische partners. Daarnaast gaan we verder met de ontwikkeling en standaardisatie van MUD. Ten slotte richten we ons op een betere uitrolbaarheid van SPIN. We houden je op de hoogte!