Zum Inhalt springen

Von UB zu RCE: C++ Memory Safety aus Angreifersicht (Vortrag&Demo, N.Baumstark)

Foto von DavidFarago
Hosted By
DavidFarago
Von UB zu RCE: C++ Memory Safety aus Angreifersicht (Vortrag&Demo, N.Baumstark)

Details

Inhalt des 18. Info-Treffs:

Von Undefined-Behavior zu Remote-Code-Execution: C++ Memory Safety aus der Angreifersicht

Vortrag und Demo von Niklas Baumstark, der Teil des Capture-The-Flag-Teams des KIT und einer der Gewinner des letzten Pwn2Own-Wettbewerbs ist (siehe https://youtu.be/SuDej3Ged8A?t=1m37s).

Abstract:

Segmentation fault (core dumped)

Diese Fehlermeldung kennt wirklich jeder C++-Entwickler, und sie dürfte dem ein oder anderen schon stundenlange Debugging-Sessions oder gar Alpträume bereitet haben. Für Vulnerability Researcher, die sich mit dem Auffinden von Sicherheitslücken in Software beschäftigen, bedeutet sie eine Offenbarung: Möglicherweise verbirgt sich hinter diesem Crash eine ausnutzbare Schwachstelle.

In diesem Vortrag werde ich zeigen wie Undefined Behaviour in C und C++ zu sogenannten Memory-Corruption-Bugs führen kann, die in vielen Fällen mit einem Exploit gezielt dazu benutzt werden können beliebigen Angreifercode in ein Programm einzuschleusen. Dabei werde ich auf die gängigsten Typen von Problemen wie Use-after-Frees, Type Confusions und Heap-Buffer Overflows eingehen und erläutern, wie diese trotz moderner Exploit Mitigations auch heute noch erfolgreich exploited werden können, zum Beispiel in Webbrowsern oder Betriebssystemen. Um den Prozess der Exploitentwicklung zu demonstrieren, werde ich im Anschluss für ein verwundbares Beispielprogramm unter Linux einen simplen Exploit schreiben und vorführen.

Die Sicherheit eines Systems lässt sich meist nur aus der Sicht eines Angreifers gut einschätzen. Dieser Vortrag soll einen Beitrag dazu leisten diese näherzubringen und die Zuhörer in die Lage versetzen besonders kritische Fehlerquellen in ihren eigenen Programmen frühzeitig zu vermeiden.

Anfahrt:

Das Informatik-Gebäude 50.34 des Karlsruher Institut für Technologie befindet sich Am Fasanengarten 5 in 76131 KA.

Die meisten Parkplätze gibt es am Waldparkplatz am Adenauer Ring.

Die nächstgelegenen Straßenbahnhaltestellen sind Durlacher Tor und Karl-Wilhelm-Platz.

Google-Maps Informatik-Gebäude: https://www.google.de/maps/place/Fachschaft+Informatik+am+KIT/@49.0153627,8.4102062,15z/data=!4m8!1m2!2m1!1sinformatik+am+KIT!3m4!1s0x0:0xe44641cbc8078b10!8m2!3d49.0139346!4d8.419379

Google-Maps Waldparkplatz: (https://www.google.de/maps/place/Waldparkplatz/@49.0153455,8.4167723,17z/data=!4m12!1m6!3m5!1s0x479706337e8fb5c3:0x9a20a2b44887dc52!2sWaldparkplatz!8m2!3d49.015342!4d8.418961!3m4!1s0x479706337e8fb5c3:0x9a20a2b44887dc52!8m2!3d49.015342!4d8.418961 (https://www.google.de/maps/place/Waldparkplatz/@49.0153455,8.4167723,17z/data=%214m12%211m6%213m5%211s0x479706337e8fb5c3:0x9a20a2b44887dc52%212sWaldparkplatz%218m2%213d49.015342%214d8.418961%213m4%211s0x479706337e8fb5c3:0x9a20a2b44887dc52%218m2%213d49.015342%214d8.418961))In

Photo of C++ User Group Karlsruhe group
C++ User Group Karlsruhe
Mehr Events anzeigen