Konferenzbeitrag
Analyse von WebAssembly-Binärprogrammen
Lade...
Volltext URI
Dokumententyp
Text/Conference Paper
Zusatzinformation
Datum
2023
Autor:innen
Zeitschriftentitel
ISSN der Zeitschrift
Bandtitel
Verlag
Gesellschaft für Informatik e.V.
Zusammenfassung
WebAssembly ist ein hardwarenaher, plattformunabhängiger Bytecode, der mächtige Webanwendungen ermöglicht, auf Servern und in unabhängigen Laufzeitumgebungen ausgeführt werden kann, und stark an Popularität gewinnt. Die neue Sprache bringt aber auch offene Fragen mit sich, insbesondere in Bezug auf Programmanalyse und Sicherheit, die diese Dissertation in fünf Teilprojekten beantwortet und Softwareentwickler mit konkreten Werkzeugen und Datensätzen unterstützt. Da WebAssembly-Programme häufig aus unsicheren Quellsprachen wie C++ kompiliert werden, widmet sich das erste Teilprojekt der Frage wie Code mit Speicherschwachstellen übersetzt wird, wobei wir fehlende Schutzmaßnahmen und neuartige Angriffe finden. Der zweite Teil stellt die Ergebnisse auf eine breitere Datenbasis mit WasmBench, dem bis dato größten Datensatz realistischer WebAssembly-Programme. Als vielfältiges Werkzeug für Softwareentwickler stellt der dritte Teil Wasabi vor, ein dynamisches Analyse-Framework basierend auf typ-korrekter statischer Instrumentierung. Zur Erkennung und Verhinderung von Schwachstellen entwickeln wir im vierten Teilprojekt einen Fuzzer und nachträgliche Härtung für WebAssembly. Im letzten Teilprojekt rekonstruieren wir schließlich mittels maschinellen Lernens detaillierte Datentypen aus WebAssembly- Binärprogrammen, um so Entwickler beim Verständnis und Reverse Engineering zu unterstützen.