< Terug naar vorige pagina

Project

Hardware-gebaseerde integriteit van software en de programmastroom

Veel geïnstalleerde software bevat fouten. Dit is problematisch omdat die fouten de oorzaak zijn van zwakheden die misbruikt kunnen worden om applicaties zich te doen misdragen. Software die beveiligd moet worden wordt gebruikt op vele apparaten, zoals medische implantaten, netwerken van sensoren, RFID tags en de regelaars in voertuigen. Deze software moet doen wat het gevraagd word en mag zich niet misdragen door bijvoorbeeld de verkeerde dosis medicijnen toe te dienen, informatie te stelen, de gebruiker te bespioneren, de remmen van een auto onbruikbaar te maken of door andere computers aan te vallen.

Het centrale onderwerp van deze thesis is het ontwerp van hardware-gebaseerde mechanismen die verzekeren dat software zich niet kan misdragen. We concentreren ons op het verbeteren van de beveiliging van microprocessoren om runtime aanvallen te detecteren.

De voornaamste bijdragen van deze thesis zijn tweeledig. Ten eerste analyseren we bestaande hardware-gebaseerde architecturen die de integriteit van de programmastroom beschermen. Dit omvat een gedetailleerde beschrijving van hun richtlijnen, samen met een evaluatie van hun beveiliging, hardware kost, performantie en geschiktheid voor wijdverspreide toepassing.

Ten tweede ontwikkelen we verschillende nieuwe hardware-gebaseerde architec- turen. Dit omvat de ontwikkeling van de eerste gekende architectuur die de integriteit van de programmastroom beschermt aan de hand van instructieset randomisatie. Bovendien verzekert deze architectuur de integriteit van de applicatie door middel van aanpassingen aan de processor. We hebben daarnaast ook de eerste gekende hardware-gebaseerde architectuur ontwikkeld om de integriteit van software te beschermen tijdens de uitvoering ervan aan de hand van een IP core die verbindt met de bus via een gestandaardiseerde interface. Tot slot ontwikkelen we een architecturale functie op basis van aanpassingen aan de processor die ondersteuning voor interrupts toevoegt aan architecturen die softwaremodules beschermen door geheugentoegangcontrole op basis van de programmateller. Alle architecturen die ontwikkeld worden in deze thesis zijn geëvalueerd op FPGA, waardoor we accuraat de hardware kost en de impact op de performantie voor het uitvoeren van software op de architectuur kunnen bepalen. 

Datum:3 sep 2013 →  21 nov 2017
Trefwoorden:Control Flow Integrity, Software Integrity, Protected Module Architectures, Secure Processors
Disciplines:Computer hardware, Computertheorie, Scientific computing, Andere computer ingenieurswetenschappen, informatietechnologie en mathematische ingenieurswetenschappen
Project type:PhD project