< Terug naar vorige pagina

Project

Software-gebaseerd vertrouwde computerarchitectuur voor IoT-apparaten met beperkte middelen

De afgelopen jaren worden gekenmerkt door de sterke verspreiding van compacte, voor specifieke doelstellingen ontworpen en geïntegreerde computerplatforms. Zulke platforms, die met het internet verbonden zijn om gegevens te verzenden en te ontvangen, worden vaak aangeduid als ingebedde apparaten of toestellen voor het zogenaamde Internet of Things (IoT). Hun aantal neemt vandaag spectaculair toe in alle toepassingsdomeinen. Ze zijn bijvoorbeeld massaal geïntegreerd in medische instrumenten, voer- en vliegtuigen, industriële regelsystemen, militaire uitrusting, persoonlijke apparaten en huishoudelijke toestellen. In veel van deze toepassingen verwerken dergelijke apparaten privacygevoelige informatie en voeren ze taken uit die van cruciaal belang zijn voor de veiligheid van mensenlevens. Het is dan ook niet verwonderlijk dat ze een aantrekkelijk doelwit zijn geworden voor cyberaanvallen. Het voorkomen van zulke aanvallen vraagt om het ontwerp van doeltreffende beveiligingsmechanismen, die daarenboven rekening moeten houden met de beperkingen van ingebedde apparaten. Met dit doel in gedachten hebben zowel de academische als de industriële wereld verscheidene computerarchitecturen voorgesteld die sterke beveiligingsgaranties bieden door te steunen op een zogenaamde vertrouwde uitvoeringsomgeving. Alle garanties die ze bieden ten spijt, vereisen dergelijke architecturen een zekere vorm van hardwareondersteuning of -aanpassing die de kost van ingebedde apparaten gevoelig verhoogt, waardoor de toepasbaarheid van zulke architecturen beperkt blijft tot apparaten die eerder deel uitmaken van het midden- of hoogwaardige marktsegment van het IoT. De eenvoudigste en dus goedkoopste klasse IoT-apparaten wordt immers gekenmerkt door kleine afmetingen, laag stroomverbruik en zeer rudimentaire hardware, waarbij zelfs elementaire geheugenbeschermingseenheden ontbreken.

In dit proefschrift gaan we de uitdaging aan om beveiligingsgaranties te bieden op rudimentaire IoT-apparaten zonder dat daarbij hardwareondersteuning of -aanpassing nodig is. In het bijzonder benaderen we deze uitdaging door van onderop een puur softwarematige vertrouwde computerarchitectuur uit te bouwen die in hoge mate geoptimaliseerd is voor hoge prestaties en minimaal energieverbruik. Eerst behandelen we het probleem van software-isolatie, elementaire beveiligingsfunctionaliteit die nodig is om vertrouwde uitvoering van software in elk systeem te funderen. We voorzien deze functionaliteit met behulp van selectieve softwarevirtualisatie en codeverificatie op assembly-niveau, uitgevoerd op basis van een minimale, vertrouwde set code, die aanvankelijk als hypervisor op het doelapparaat fungeert, waardoor twee beschermde en onbeschermde geheugenzones met verschillende toegangsregels gecreëerd worden. Daarna maken we gebruik van deze software-isolatie om een reeks softwaregebaseerde beveiligingsdiensten te implementeren binnen het beschermde geheugengebied, om zo gecompromitteerde software te detecteren en met malware geïnfecteerde apparaten te herstellen.
In het bijzonder ontwerpen en implementeren we zo attestatie op afstand, veilige verifieerbare wisfunctionaliteit, en beveiligde code-updates en -hersteldiensten. Attestatie op afstand is een beveiligingsdienst die helpt bij het verifiëren van software-integriteit en het detecteren van gecompromitteerde apparaten.
We garanderen de betrouwbaarheid van de volledige computerarchitectuur door het formeel te verifiëren van bepaalde eigenschappen inzake geheugenveiligheid en crashvrijheid. Ten slotte, gezien het feit dat huidige toepassingsscenario's systemen voorzien die uit een groot aantal IoT-apparaten bestaan, laten we zien dat onze vertrouwde computerarchitectuur schaalbaar is door het ontwikkelen van een efficiënt lichtgewicht zwermattestatiemechanisme. Een dergelijk mechanisme is een voorbeeld van een beveiligingsdienst die op grote schaal gecompromitteerde apparaten detecteert en is gericht op de IoT-apparaten die zijn verrijkt door een door ons voorgesteld vertrouwensanker.

In werkelijkheid zijn het IoT en cyberfysische systemen echter heterogeen. Ze bestaan uit ingebedde apparaten met onderling verschillende hardware- en softwaremogelijkheden, waarbij elk apparaat een specifieke taak uitvoert als onderdeel van een overkoepelend systeemdoel. We stellen daarom verder twee verschillende zwermattestatiemechanismen voor met het oog op statische en dynamische heterogene IoT-netwerken, die plaats bieden aan apparaten met verschillende vertrouwde computerarchitecturen, waaronder de onze. In het eerste schema kijken we naar scenario's waarbij IoT-apparaten fysiek bereikbaar zijn voor een aanvaller, die dus zowel vanop afstand als in de fysieke nabijheid van het apparaat kan opereren. Voor het tweede schema bestuderen we systematisch de grote performantieoverhead en beveiligingsproblemen in kritieke systemen die bestaan uit qua rekensnelheid en -mogelijkheden verschillende apparaten, met daarbij de nadruk op het belangrijkste nadeel van de ongedifferentieerde aanpak die gevolgd wordt door alle reeds bestaande mechanismen. We introduceren dan een intelligente zwermattestatiebenadering gebaseerd op technieken die steunen op machinaal leren, om zo efficiënt om te gaan met heterogeniteit. Beide voorgestelde attestatiemechanismen zijn lichtgewicht, robuust, geschikt voor alle klassen IoT-apparaten en kunnen opschalen tot netwerken die bestaan uit duizenden ingebedde apparaten.

Samenvattend draagt dit proefschrift bij aan het verbeteren van de beveiliging van IoT-apparaten met beperkte hardwaremogelijkheden door het voorstellen van de eerste en enige volwaardige vertrouwde computerarchitectuur in louter software, en daarbij rekening te houden met de efficiëntie en prestaties van zowel de doelapparaten als de mogelijk heterogene netwerken waarin ze opereren.

Datum:1 okt 2016 →  8 jan 2021
Trefwoorden:Cyber physical System Security, IoT, Automative Domain, Security, MCU, MPU, Distributed System, Cloud Computing, Trust
Disciplines:Toegepaste wiskunde, Computerarchitectuur en -netwerken, Distributed computing, Informatiewetenschappen, Informatiesystemen, Programmeertalen, Scientific computing, Theoretische informatica, Visual computing, Andere informatie- en computerwetenschappen
Project type:PhD project