< Terug naar vorige pagina

Project

Automatische identificatie van semantische beveiligingsproblemen in systeemsoftware zoals kernels

Een kernel in een besturingssysteem is een van de meest beveiligingskritieke systeemprogramma's die draaien op een computersysteem. Linux bijvoorbeeld ondersteunt een heel spectrum aan verschillende hardware en voorzieningen voor verschillende doeleinden. De code bevat bijgevolg veel indirecte connecties en interacties tussen verschillende componenten om de modulariteit en configureerbaarheid te ondersteunen. Dit zorgt ervoor dat Linux een beveiligingskritieke code base is, maar tevens ook moeilijk te analyseren is. De correcte uitvoering steunt bovendien op het correct toepassen van vele regels, zowel impliciete als expliciete. Er bestaan reeds analysetools die deze regels reconstrueren, en daarna deze informatie benutten om schendingen van deze regels te vinden. Echter, de false positive rate en het gebrek aan proof-of-concept reproduceerders zorgt dat het nut beperkt blijft voor alledaags gebruik. Regels worden niet afgedwongen tijdens het schrijven van de code, en de analyse wordt behandeld als een bijzaak. Kortom, bestaande tools om de Linux kernel te beveiligen geven niet op tijd feedback, hebben een te grote overhead en steunen te veel op impliciete regels. Mijn hoofddoel is om te onderzoeken of ik ontwikkelaars van systeemsoftware sneller en meer praktische feedback kan geven over hun code, en zo de veiligheid van hun producten op lange termijn kan verbeteren. Mijn visie is om real-time feedback gedurende de ontwikkeling te geven in plaats van post-hoc analyse.

Datum:1 nov 2022 →  Heden
Trefwoorden:afleiden van beveiligingskritische regels uit bestaande code, automatische identificatie van kwetsbaarheden, kernel beveiliging
Disciplines:Taalprocessoren, Besturingssystemen, Computersysteembeveiliging, Systeemsoftware en middleware, Coderingstools en -technieken, testen en debuggen