Masterarbeit
Fuzzing the ACRN Hypervisor
Motivation
Um Schwachstellen in Softwarekomponenten zu finden hat das automatisierte Testen mit Fuzzern eine weite Verbreitung erlangt. Systemnahe Softwarekomponenten wie Hypervisoren sind in besonderem Maße sicherheitskritisch, weshalb das Fuzzing solcher Komponenten einen wichtigen Beitrag zur Erhöhung des Sicherheitsniveaus einer Plattform leisten kann. Gleichzeitig bringt das Fuzzing von systemnaher Software besondere Herausforderungen im Bezug auf die zu fuzzenden Schnittstellen, Feedbackkanäle, etc. mit sich.
Gegenstand
Ziel der Arbeit ist ein funktionierendes Fuzzing-Setup für den ACRN Hypervisor 1 zu erstellen und zu evaluieren. Hierfür sollen die Schnittstellen von ACRN analysiert und hinsichtlich Komplexität und Testbarkeit bewertet werden. Es soll dann ein Vergleich dafür geeigneter Fuzzer durchgeführt werden. Unter Verwendung der Ergebnisse der Analyse soll im letzten Schritt ein lauffähiges Fuzzing Setup für den ACRN Hypervisor erstellt werden. Dieses Setup soll iterativ um ACRN-spezifische Schnittstellen und Tests erweitert werden. Schließlich soll eine Evaluation der Arbeit hinsichtlich der Herausforderungen beim Fuzzing systemnaher Software erfolgen.
Anforderungen
• Vorerfahrung mit Betriebssystemkonzepten und Linux-basierten Betriebssystemen
• Kenntnisse im Bereich Virtualisierung
• Idealerweise Kenntnisse im Umgang mit Fuzzern, besonders kAFL oder Nyx
• Idealerweise Grundkenntnisse im Bereich Rechnerarchitektur
Diese Arbeit wird in Kooperation mit dem Lehrstuhl für Systemsicherheit der RUB ausgeschrieben.