Use-After-Free
Use-after-free ist das Dereferenzieren eines Zeigers auf bereits freigegebenen Speicher, wodurch angreiferkontrollierte Daten gelesen oder Codeausführung erreicht werden kann.
Zweck
Die Mechanik von UAF-Schwachstellen und ihre Abwehr verstehen; eine häufige Schwachstelle mit hoher Schwere in C/C++-Browsern und -Kerneln.
Mechanismus
Nach dem free wird der Zeiger nicht genullt; spätere Dereferenzierungen greifen auf zurückgewonnenen Speicher zu. Kann ein Angreifer diesen Inhalt per Heap-Spraying kontrollieren, fälscht er Objekt-vtables, um Code auszuführen. Abwehr: Zeiger nullen, Smart Pointer, Heap-Isolation.
Anwendungsfälle
- Analyse von Browserschwachstellen
- Kernel-Sicherheitsaudit
- Speichersicherheit