IoT beveiligen: uitdagingen en oplossingen

Door: Christophe Huygens & Danny Hughes

Het Internet of Things (IoT) verbindt processen uit de digitale wereld met fysieke fenomenen door middel van goedkope en kleine computers met een laagvermogen radio alsook sensoren en actuatoren. De technologie creëert de mogelijkheid om industriële en maatschappelijke problemen op een nieuwe manier aan te pakken. Zo kunnen we bijvoorbeeld door aanwezigheidsdetectie de veiligheid van gebouwen verhogen, of door instrumentatie van industriële machines hun werking optimaliseren, waardoor een efficiëntere productie mogelijk wordt.

Door de verbinding tussen het internet en de IoT-infrastructuur ontstaat echter een nieuw cyberfysisch aanvalsoppervlak. Aanvallers proberen de beveiligingssystemen van gebouwen te omzeilen om toegang te verkrijgen, of veroveren de controle over industriële machines waardoor de productie kan worden beschadigd of verhinderd.

De Stuxnet-worm [1] was vermoedelijk een van de eerste voorbeelden van een cyberfysieke aanval. Stuxnet werd gebouwd door een overheid om een Iraanse uraniumverrijkingsfabriek te beschadigen. Dit gebeurde door injectie van valse sensordata van rotatiesensoren, met als gevolg dat de snelheid van de centrifuges dusdanig werd verhoogd dat er motordefecten optraden. Hoewel Stuxnet voor het afleveringsmechanisme geen gebruikmaakte van het internet, is de worm toch duidelijk representatief als cyberfysieke aanval. Een tweede voorbeeld vinden we in de Mirai-malware, die Linux-gebaseerde IoT-toestellen gebruikte voor een massale Denial of Service (DoS)-aanval, waarin verkeerspieken tot 1 terabit per seconde voorkwamen [2]. Mirai is nu beschikbaar als open broncode. IoT-malware is duidelijk overal aanwezig, en kan eveneens beveiligingsproblemen op netwerkniveau gebruiken om zich als een epidemie te verspreiden op logisch geconnecteerde systemen. Ronen et al. illustreerden dit probleem met een zich snel verspreidende worm voor de Philips Hue-slimme lampen [3]. Indien de densiteit van IoT-toestellen hoog genoeg is, kan in korte tijd een hele stad besmet worden.

Naar analogie met systemen met meer mogelijkheden, kunnen de veiligheidsproblemen in hoge mate worden vermeden door het nemen van de juiste maatregelen. Concrete middelen om het IoT te beveiligen, bestaan, en de beste praktijken om tot een veilig IoT-systeem te komen, zijn duidelijk beschreven.

Middelen en methoden
1. Cryptografie
De beveiliging van het IoT-netwerk moet drie kenmerken garanderen: (i.) confidentialiteit; vermijden dat berichten in transit worden onderschept (ii.) integriteit; vermijden dat berichten worden gewijzigd en (iii.) authenticatie; om de afzender van een boodschap te garanderen en replay te vermijden. In krachtige systemen worden deze functies door publieke-sleutel-(asymmetrische) cryptografie geleverd. Maar in IoT-systemen wordt meestal symmetrische crypto gebruikt aangezien de nodige berekeningen dan veel beperkter zijn, en dus ook op minder krachtige systemen en met minder energie kunnen worden uitgevoerd, wat de levensduur van de batterij ten goede komt. AES-128 in CCM-mode [3] is de de facto standaard, en wordt momenteel als voldoende veilig aanzien. AES-128 is gecertifieerd door het National Institute for Standards and Technology (NIST) en wordt wereldwijd gebruikt voor strikt geheime communicatie. Op de meeste IoT-microcontrollers is er voor deze crypto hardwareondersteuning.
 
2. Sleuteldistributie
Hoewel AED-128 efficiënt kan worden uitgevoerd, moeten de zender en ontvanger over een gemeenschappelijke sleutel beschikken om te encrypteren of decrypteren. Naar het proces waarmee de sleutel tussen een IoT-element en zijn gateway wordt vastgelegd, refereren we als sleuteldistributie. In het IoT-landschap is het distributieprobleem gecompliceerd omdat (i.) er typisch geen mogelijkheid is om het sleutelmateriaal statisch vast te leggen in de UI en (ii.) er diverse onafhankelijke belanghebbenden zijn in een opstelling, die elkaar mogelijk niet echt vertrouwen.

Er zijn drie veiligheidsniveaus mogelijk bij symmetrische sleutelverdeling. Op het laagste niveau vinden we gemeenschappelijke sleutels die gedeeld worden door alle toestellen. Dit is zeer eenvoudig te realiseren, aangezien bij productie de sleutel in de toestellen kan worden geplaatst. Evenwel is dit erg onveilig, aangezien deze sleutel door reverse engineering kan worden buitgemaakt. Deze aanpak lag onder meer aan de basis van de IoT-lampworm van Ronen et al. [3]. In het volgende niveau is enkel de 'join-key' gemeenschappelijk tussen alle systemen. Dit is beter, aangezien de effectieve sessiesleutels uniek zijn en de join-key slechts een beperkte tijd wordt gebruikt. Gedurende dit tijdsinterval kan de aanvaller echter eventuele kennis van de join-key gebruiken om de sessiesleutel te achterhalen en zo de beveiliging te breken. Dit is een welbekend probleem in het Zigbee Light Link (ZLL)-protocol [4], dat door miljoenen toestellen wordt gebruikt.

De referentiestandaard in sleuteldistributie is het gebruik van unieke join-keys voor elke toestel/gatewaycombinatie. De impact van een aanval wordt dan beperkt tot maximaal één toestel. Google Thread [5], het VersaSense IoT Fabric [6] en LoRaWAN [7] gebruiken deze aanpak. Blijft natuurlijk het probleem hoe de uitwisseling van de initiële join-key gebeurt. Voor LoRaWAN en Thread wordt unieke informatie overgedragen aan de gateway vooraleer het netwerkproces te starten. Bij de VersaSense-oplossing wordt in de gateway een random number-generator ingebouwd, zodat klanten zelf de sleutels kunnen genereren en beheren in een plug-and-playstap bij inbedrijfstelling.

Misvattingen over IoT-beveiliging
Hoewel alle ingrediënten aanwezig zijn om een IoT-systeem veilig te maken, zijn toch veel producten op de markt onveilig, ook omdat er veel misvattingen bestaan over het ontwerp van veilige IoT-systemen:

1. Een eerste misvatting is dat sensordata minder kritiek zouden zijn dan actuator- of stuurdata. Als tegenvoorbeeld kunnen we Stuxnet aanhalen. Sensordata maken integraal deel uit van controlebeslissingen. Zelfs wanneer dit niet het geval is, kunnen de sensorsystemen een zwak punt vormen waarlangs het systeem kan worden gecompromitteerd.
Elk element van het IoT-netwerk moet worden beveiligd.
2. Het veiligheidsniveau dat wordt geboden door crypto zoals AES, is goed gekend en wiskundig onderbouwd. Dit zowel qua ontwerp als implementatie. Toch worden keer op keer systemen ontworpen op basis van geheimhouding van protocol of (transmissie)techniek. Deze foute aanpak komt overal voor, niet in het minst bij zeer kritieke systemen, zoals pacemakers of insulinepompen [8].
Zelfgebouwde of niet-publieke beveiligingsmechanismes zijn absoluut te mijden.
3. De kosten van beveiliging worden in het algemeen als (te) hoog gezien voor IoT-systemen. Dit is onzin. 128 bits versleutelen met AES op een moderne microcontroller zonder hardwareondersteuning duurt ongeveer 1msec en verbruikt 1µJ. Met hardwareondersteuning is dit nog een factor 1.000 beter. Het verzenden van de data is meerdere ordegroottes duurder in termen van tijd en energie. Dus (energie/tijds) kosten kunnen nooit een factor zijn om beveiliging achterwege te laten.
Sterke beveiliging is mogelijk tegen zeer lage kosten.

Conclusies
De middelen en methodes die nodig zijn om IoT-systemen te beveiligen, zijn beschikbaar. Indien deze correct worden toegepast, is er geen reden waarom een IoT-netwerk niet even veilig kan zijn als een gewoon netwerk. Bovendien is het zo dat door hun beperkte capaciteit ze intrinsiek veiliger kunnen worden gemaakt dan standaardsystemen. Wanneer er IoT-beveiligingsproblemen opduiken, is dit typisch door slechte keuzes [2,3,4] of misvattingen over de beveiligingskosten. Standaarden en certificatie helpen en zijn belangrijke gidsen in dit domein – NIST speelt hier een belangrijke rol [8].

Christophe Huygens, COO & Co-Founder, is verantwoordelijk voor de operationele aspecten van VersaSense. Hij heeft uitgebreide zakelijke ervaring in zowel de EU als de VS, mede-oprichter van Ubizen, die later werd overgenomen door Verizon Business. Christophe is gepromoveerd op IoT-beveiliging en is gastprofessor aan de KU Leuven.

Danny Hughes, CTO & Co-Founder, leidt de technische en R&D-activiteiten van VersaSense. Hij heeft meer dan 10 jaar ervaring in het onderzoeksveld Internet of Things en heeft een doctoraat in computerwetenschappen van Lancaster University, Verenigd Koninkrijk. Hughes is professor aan de KU Leuven, waar hij de IoT-onderzoeksgroep leidt.

Referenties
1. Ralph Langner. 2011. Stuxnet: Dissecting a Cyberwarfare Weapon. IEEE Security & Privacy Magazine 9, 3 (may 2011), 49–51. https://doi.org/10.1109/MSP.2011.67
2. US Computer Emergency Readiness Team. 2016. Heightened DDoS Threat Posed by Mirai and Other Botnets - alert TA16-288A. http://www.us-cert.gov/ncas/ alerts/TA16-288A. (2016).
3. Eyal Ronen and Adi Shamir. 2016. Extended Functionality Attacks on IoT Devices: The Case of Smart Lights. In IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 3–12. https://doi.org/10.1109/EuroSP.2016.13
4. ZigBee Light Link: http://www.zigbee.org/download/standard-zigbee-light-link
5. The Thread Group: https://www.threadgroup.org
6. VersaSense IoT Fabric: https://www.versasense.com
7. The LoRa Alliance: https://www.lora-alliance.org
8. Eduard Marin. 2018. Security and Privacy of Implantable Medical Devices, PhD Thesis, KU Leuven, March, 2018.

Tag

Onderwerp

IoT


Niet gevonden? Vraag het de redactie!

Heeft u het antwoord op uw vraag niet gevonden, of bent u op zoek naar specifieke informatie? Laat het ons weten! Dan zorgen we ervoor dat deze content zo snel mogelijk wordt toegevoegd, of persoonlijk aan u wordt geleverd!

Stel uw vraag