Herontwerp van SPIN naar een referentieplatform voor veilige en privacy-vriendelijke IoT-thuisnetwerken

We zijn SPIN, ons open source systeem dat het internet en eindgebruikers beschermt tegen onveilige IoT-apparaten in thuisnetwerken, aan het herontwerpen. We willen het gebruik van SPIN-achtige systemen stimuleren door van SPIN een open en flexibel referentieplatform te maken die ontwikkelaars kunnen inzetten voor hun eigen toepassingen, zoals producten en onderzoek. In deze blog leggen we uit wat we gaan veranderen, waarom en wat we de komende paar maanden gaan doen.

Update 23 januari 2018: onderzoekscommunity toegevoegd als doelgroep die voordeel kan hebben van SPIN’s nieuwe ontwerp.

Security en privacy in het IoT

Slimme dingen van slechte kwaliteit bedreigen betrouwbaarheid internet

Het Internet of Things (IoT) is een veel gehypt concept dat we bij SIDN Labs simpelweg zien als een wereldwijd systeem dat vrijwel elk apparaat in de hele wereld met het internet verbindt. Dit betreft ook apparaten die eerder niet online waren, zoals sloten, lampen, stofzuigers en babyfoons.

Hoewel we verwachten dat het IoT ons leven op allerlei manieren makkelijker gaat maken, lopen we ook potentieel grote risico’s, omdat IoT-apparaten vaak onveilig zijn. Dit geldt vooral voor thuisnetwerken (check dit zorgwekkende scenario), omdat mensen vaak slordig zijn met het installeren van securityupdates voor hun software. Daarbij komt dat de fabrikanten van IoT-apparaten voor thuisgebruik de beveiliging van hun producten meestal niet als een prioriteit zien Dit bijvoorbeeld omdat ze snel en goedkoop willen leveren, of omdat ze steeds vaker niet uit de computersector komen.

Belangrijke veiligheidsrisico's

Het resultaat is een ongezond ecosysteem van kwetsbare IoT-apparaten, die twee belangrijke risico’s met zich mee brengen. Ten eerste bedreigen ze het internet als wereldwijde communicatie-infrastructuur, omdat onveilige IoT-apparaten massale DDoS-aanvallen mogelijk maken. Een voorbeeld hiervan is de 1.2 Tbps Mirai botnet aanval op DNS-operator Dyn, die leidde tot de grootschalige uitval van populaire diensten als Spotify en Twitter. Deze aanval was voor ons reden om ons te richten op IoT-security, omdat SIDN de authoritative DNS-operator voor het .nl-topleveldomein is en we natuurlijk een herhaling van het Dyn-scenario willen voorkomen.

Ten tweede brengen onveilige IoT-apparaten ook de security, privacy en misschien zelfs de veiligheid van eindgebruikers in gevaar. Een kwaadwillende kan bijvoorbeeld een babyfoon hacken en de video-uitvoer via een andere route leiden. Of de fabrikant van een slimme koelkast zou gebruiksgegevens kunnen verzamelen om deze stiekem aan derden te verkopen. Zo krijgen ze bijvoorbeeld inzicht in het nachtelijk snackgedrag of de productkeuzes van de koelkasteigenaar. Een ander voorbeeld is het illegaal op afstand verhogen van de temperatuur in een kamer, wat kan leiden tot het automatisch openen van de slimme ramen in een huis.

SPIN-systeem

Om deze bedreigingen aan te pakken ontwikkelden we het SPIN (Security and Privacy for In-home Networks) systeem, waarbij ons accent lag op het internet te beschermen tegen DDoS-aanvallen vanaf IoT-apparaten. Onze belangrijkste uitdaging is om DDoS-aanvallen proactief zo dicht mogelijk bij de bron in het thuisnetwerk te blokkeren. Dat is lastig, want eindgebruikers zijn waarschijnlijk niet erg geïnteresseerd in DDoS-aanvallen die de apparaten in hun huis lanceren, want ze kennen de slachtoffers immers niet kennen. Daarnaast mert de eigenaar misschien niet dat zijn apparaten worden gebruikt voor een DDoS-aanval, omdat het volume DDoS-verkeer relatief klein is voor zijn snelle internetverbinding. De eigenaar van het apparaat ondervindt daarom weinig of geen hinder, maar de gevolgen voor het doelwit van de aanval kunnen catastrofaal zijn. Een goede stimulans voor eindgebruikers is daarom belangrijk om hun thuisnetwerken te beschermen en zo het internet veiliger te maken.

Om het internet te beschermen tegen DDoS-aanvallen vanaf IoT-apparaten, introduceert SPIN het concept van een omgekeerde firewall, die uitgaande verbindingen tussen IoT-apparaten en het internet blokkeert als deze apparaten verdacht gedrag vertonen. SPIN doet dit door de headers van alle verkeersstromen te meten en analyseren en ongewenste of schadelijke stromen te blokkeren. De omgekeerde firewall blokkeert niet alleen mogelijk DDoS-verkeer, maar beschermt gebruikers ook tegen bijvoorbeeld het lekken van privacygevoelige informatie door IoT-apparaten naar diensten op het internet. De omgekeerde firewall beschermt dus zowel het internet als eindgebruikers tegen onveilige IoT-apparaten.

SPIN visualiseert daarnaast het dataverkeer, zodat de gebruiker kan zien wat er op zijn netwerk gebeurt.

De SPIN-software is open source, waardoor iedereen het op een OpenWRT-apparaat in een thuisnetwerk kan compileren en installeren. We maken onze resultaten ook openbaar, zodat de gemeenschap van onze ervaring kan profiteren.

Volgende stap: referentieplatform

Tijdens het ontwikkelen van SPIN realiseerden we ons twee dingen: (1) we werkten aan een specifieke oplossing die alleen uitkomst biedt voor een beperkt aantal gecentraliseerde toepassingsscenario’s en (2) er is blijkbaar behoefte aan systemen als SPIN, aangezien commerciële oplossingen als F-Secure’s Sense en de Bitdefender Box op de markt verschenen.

We besloten daarom om ons te richten op het ontwikkelen van een modulair, open referentieplatform voor verschillende typen securitytoepassingen voor thuisnetwerken, met als kern een eenvoudig te gebruiken component voor apparaat- en netwerkmetingen. Dit stelt applicatieontwikkelaars bijvoorbeeld in staat op SPIN-gebaseerde producten te bouwen, die bestaan uit applicaties die gebruik maken van SPIN’s basisfuncties (zoals de metingencomponent de omgekeerde firewalfuncties). SPIN stelt zo ook de onderzoekscommunity in staat om nieuwe security mechanismes te ontwikkelen, zoals botnetdetectie-algoritmes en nieuwe concepten voor user interfaces.

Aanvullende ontwerpdoelen

Om het SPIN-systeem te veranderen in een referentieplatform stelden we twee aanvullende ontwerpdoelen, als extra stimulans om op SPIN-gebaseerde systemen te gebruiken: (1) SPIN meer toegevoegde waarde geven voor applicatieontwikkelaars door een interface op hoog niveau voor thuisnetwerkmetingen toe te voegen en (2) meer toepassingsscenario’s voor systemen gebaseerd op SPIN te ondersteunen, inclusief interoperabiliteit met andere systemen in hetzelfde huis die op SPIN draaien.

We hielden vast aan onze aanvankelijke ontwerpdoelstellingen om SPIN geschikt te maken om op thuisapparaten te draaien, om SPIN op netwerkniveau te laten werken zodat het bij elk IoT-apparaat kan worden gebruikt, en om de eindgebruiker de controle te laten behouden (zie ons tech report voor meer informatie).

Nieuwe architectuur

Afbeelding 1 geeft een overzicht van de architectuur van een op SPIN gebaseerd systeem, met twee afzonderlijke soorten componenten: lichtgewicht ‘SPIN agents’ die netwerkverkeer meten en meer intelligente controllers. De scheiding is nieuw en maakt het systeem geschikt voor meer toepassingsscenario’s.

Een SPIN-agent meet stromen netwerkverkeer, genereert daarvann overzichten en kan verkeersstromen blokkeren. Een controller ontvangt overzichten van één of meer agents, analyseert deze en kan de agents opdracht geven om de datastroom van bepaalde IoT-apparaten te blokkeren. Een controller kan bijvoorbeeld signaleren dat de verkeersstromen van een apparaat overeenkomen met de Mirai botnet; de controller geeft de betreffende agent dan opdracht om het geïnfecteerde apparaat in quarantaine te zetten (te blokkeren).

Controllers en agents kunnen op hetzelfde apparaat gehost worden, maar ons nieuwe ontwerp ondersteunt ook toepassingen waarbij meerdere agents en één of meer controllers elders in het netwerk geplaatst zijn. Zo kan elke verdieping van een huis zijn eigen wifi-hotspot met een aparte agent hebben, allemaal bestuurd door een centrale controller die draait op een standaard, always-on apparaat, zoals een network-attached storage (NAS) device.

Weergave van de onderdelen van een op SPIN gebaseerd netwerksysteem

Figure 1. Components of a SPIN-based system

Platform versus applicaties

In afbeelding 1 is te zien dat een op SPIN gebaseerd systeem is opgebouwd uit platformonderdelen (blauwe velden) en applicatieonderdelen die het SPIN-platform gebruiken (groene velden).

Applicatiecomponenten leveren toegevoegde waarde door eindgebruikers in staat te stellen om een SPIN-systeem te gebruiken en de functies hiervan via een gebruikersinterface – bijvoorbeeld een website of mobiele app – te bedienen. Voorbeelden van dergelijke componenten zijn afwijkingsdetectiemodules, analysers voor apparaatkwetsbaarheid en overzichtskaarten voor thuisapparatuur. Applicaties kunnen bijvoorbeeld worden geïmplementeerd door (commerciële) organisaties, door de SPIN-gemeenschap of door de onderzoeksgemeenschap.

Het SPIN-platform bestaat uit de volgende onderdelen: de SPIN agent (zie hierboven), de network measurement facility (NMF) en de omgekeerde firewall. De NMF voorziet applicatieontwikkelaars van een longitudinaal model van het thuisnetwerk met haar IoT-apparaten via een goed gedefinieerde API, zodat ontwikkelaars zich niet hoeven bezig te houden met meetgegevens op laag niveau. De omgekeerde firewall blokkeert automatisch het uitgaande verkeer van onveilige apparaten op het netwerk, bijvoorbeeld om te verhinderen dat ze privacygevoelige informatie verzenden, andere netwerken infecteren of voor een DDoS-aanval worden gebruikt.

Afwijkingsdetectie

Ons werk op het gebied van afwijkingsdetectie richt zich in eerste instantie op het vergelijking van het gedrag van apparaten met het gedrag dat de fabrikant specificeert. Pogingen tot standaardisatie, zoals de Manufacturer Usage Description (MUD), stellen fabrikanten in staat om te specificeren wat een apparaat mag doen. SPIN’s omgekeerde firewall gaat MUD-specificaties in combinatie met de NMF gebruiken om apparaten op te sporen die zich niet volgens de specificaties gedragen, om zo bijvoorbeeld geïnfecteerde apparaten te identificeren en blokkeren. Met deze aanpak kunnen we ook de toepassing van nieuwe IoT-veiligheidsstandaarden stimuleren, zoals de ontwerpstandaard MUD.

Andere toepassingen

Behalve dat we SPIN beschikbaar stellen als referentieplatform voor IoT-securitysystemen thuis, gaan we het ook inzetten als instrument bij securityonderzoek. Bijvoorbeeld door gebruikers in staat te stellen apparaatprofielen te maken en te delen met de SPIN gemeenschap. We verwachten dat SPIN als open referentieplatform zeer nuttig is voor de IoT-securitygemeenschap, eindgebruikers en het internet in zijn geheel.

De weg vooruit

In de komende maanden gaan we de SPIN-software herstructureren op basis van het referentieframework in afbeelding 1. We onderzoeken ook hoe de interfaces tussen onderdelen kunnen worden gestandaardiseerd, zodat applicatieontwikkelaars makkelijk kunnen aansluiten op (onderdelen van) SPIN. Ten slotte bereiden we een pilot met eindgebruikers voor.