350 likes | 541 Views
Einleitung/Historie. 1988: Morris Wurm, erste gro? angelegte Attacke basierend auf Buffer Overflows2001 verursachte Code Red gesch?tzte 2,5 Mrd. USD Schaden [17]2006: In den letzen Jahren wurden zwischen 40% und 60% aller Cert Advisories durch BOs verursacht. Das Problem. Dynamische Daten in stati
E N D
1. Buffer Overflow Attacken und Gegenmanahmen Ein Seminar von Tim Werthmann
Lehrstuhl fr Netz- und Datensicherheit
Ruhr Universitt Bochum
2. Einleitung/Historie 1988: Morris Wurm, erste gro angelegte Attacke basierend auf Buffer Overflows
2001 verursachte Code Red geschtzte 2,5 Mrd. USD Schaden [17]
2006: In den letzen Jahren wurden zwischen 40% und 60% aller Cert Advisories durch BOs verursacht
3. Das Problem Dynamische Daten in statische Puffer ohne Bounds-Checking schreibbar
Pufferberlauf (Buffer Overflow) bringt ein Programm in einen undefinierten Status
Angreifer knnen den Programmfluss:
Manipulieren (Variablen, Berechnungen etc.)
Unterbrechen (Denial of Service (DoS))
Umleiten (Shellcode)
4. Grundlagen (IA-32 Architektur) Es existieren folgende Speicher-Segmente:
Text (read-only, op-codes)
Data (initialisierte globale/statische Variablen)
BSS (nicht initialisierte globale/statische Var.)
Heap (fr dynamische Datenstrukturen)
Stack (fr lokale Variablen, LIFO)
5. Grundlagen (Segmente) IA-32 Segmentierung [14]
Der Stack wchst von hohen zu niedrigen Adressen
Aber: Arrays wachsen von niedrigen zu hohen Adressen
Die Heap wchst von niedrigen zu hohen Adressen
6. Grundlagen (Register)