Schwachstellen
Pufferüberlauf
Auch bekannt als: Buffer Overrun
Definition
Speicher-Sicherheitslücke, bei der ein Programm über das Ende eines allokierten Puffers hinausschreibt, benachbarten Speicher überschreibt und häufig Codeausführung ermöglicht.
Beispiele
- CVE-2014-0160 (Heartbleed): Speicherlesefehler in OpenSSL.
- Morris-Wurm (1988) nutzte einen Stack-Überlauf in fingerd.
Verwandte Begriffe
Stack-Overflow-Schwachstelle
Pufferüberlauf auf dem Programm-Stack, der typischerweise die gespeicherte Rücksprungadresse oder lokale Funktionspointer überschreibt, um die Ausführung umzulenken.
Heap-Overflow
Pufferüberlauf in dynamisch allokiertem Speicher, der häufig Allokator-Metadaten, Funktionspointer oder virtuelle Tabellen von Objekten überschreibt.
Speicherkorruption
Sammelbegriff für Schwachstellen, bei denen ein Programm außerhalb der vorgesehenen Speichergrenzen schreibt und so Typsicherheit, Kontrollfluss oder Datenintegrität untergräbt.
Use-After-Free
Speicher-Sicherheitsfehler, bei dem ein Programm Speicher weiterhin nutzt, nachdem dieser bereits freigegeben wurde – ermöglicht oft Kontrolle über Objektzustand und Kontrollfluss.
Secure Coding
Secure Coding — definition coming soon.
Fuzz-Testing
Automatisierte Testtechnik, die ein Programm mit großen Mengen fehlerhafter, zufälliger oder unerwarteter Eingaben füttert, um Crashes, Speicherkorruption und Sicherheitslücken aufzudecken.