Book description
Funktionsweisen, Exploits und Gegenmaßnahmen
Buffer Overflows und Format-String-Schwachstellen sind Ausgangspunkt für den Großteil aller Systemeinbrüche. Das Wissen über die Funktionsweise und die gezielte Ausnutzung dieser Software-Schwachstellen ermöglicht es Angreifern, in Systeme aller Art einzudringen und Schaden anzurichten.
Dieses Buch gibt einen umfassenden Überblick über diese beiden bedrohlichen Sicherheitslücken. Zunächst werden ihre Ursachen sowie entsprechende Angriffsmethoden detailliert erläutert:
klassische Stack-basierte Buffer Overflows
Off-By-Ones und Frame Pointer Overwrites
BSS Overflows und Heap Overflows
Return-into-Libc und Return-into-PLT
Zeigermanipulationen
One-Shot-Methode
Short-Write-Methode
Per-Byte-Write-Methode
Anschließend werden Gegenmaßnahmen vorgestellt und hinsichtlich ihrer jeweiligen Möglichkeiten und Grenzen untersucht:
Sichere Programmierung
Source Code Audit
Statische und dynamische Analysen
Fault Injection
Reverse Engineering
Compiler-Erweiterungen
Wrapper, non-executable Stack, PaX, ...
Die vermittelten Inhalte richten sich gleichermaßen an Programmierer, die ihre Software sicherer entwickeln wollen, als auch an Systemadministratoren und Sicherheitsverantwortliche, die hier erfahren, wie sie sich vor Einbrüchen über diese Software-Schwachstellen schützen können. Vorausgesetzt werden Kenntnisse der Programmiersprache C sowie der Funktionsweise von Unix-Betriebssystemen.
Alle Beispiele beziehen sich auf Unix-Betriebssysteme. Die vorgestellten Konzepte und Techniken lassen sich jedoch ohne weiteres auf andere Plattformen übertragen.
Table of contents
- Copyright
- Einleitung
-
1. Buffer Overflows
- 1.1. Einteilung und Klassifizierung
- 1.2. Prozess- und Speicherorganisation
-
1.3. Buffer Overflows der 1. Generation: Klassische Stack-basierte Buffer Overflows
- 1.3.1. Der Stack – Funktionsweise
- 1.3.2. Register
- 1.3.3. Der Stack – Steuerung
- 1.3.4. Funktionen
- 1.3.5. Schwachstelle
- 1.3.6. Angriffsmöglichkeit – Denial of Service
- 1.3.7. Angriffsmöglichkeit – Gezielte Modifikation des Programmflusses
- 1.3.8. Angriffsmöglichkeit – Ausführung eingeschleusten Programmcodes
- 1.4. Buffer Overflows der 2. Generation: Off-by-Ones und Frame Pointer Overwrites
- 1.5. Buffer Overflows der 3. Generation: BSS Overflows
- 1.6. Buffer Overflows der 4. Generation: Heap Overflows
-
2. Buffer Overflows – Gegenmaßnahmen
- 2.1. Gegenmaßnahmen – Verschiedene Ansätze
- 2.2. Ursachenbekämpfung
- 2.3. Gegenmaßnahme – Sichere Programmierung
- 2.4. Gegenmaßnahme – Source Code Audit
- 2.5. Gegenmaßnahme – Automatisierte Software-Tests
- 2.6. Gegenmaßnahme – Binary Audit
- 2.7. Bekämpfung der Auswirkungen
- 2.8. Gegenmaßnahme – Compiler-Erweiterungen
- 2.9. Gegenmaßnahme – Wrapper für »unsichere« Bibliotheksfunktionen
- 2.10. Gegenmaßnahme – Modifikation der Prozessumgebung
- 3. Format-String-Schwachstellen
-
4. Format-String-Schwachstellen – Gegenmaßnahmen
- 4.1. Gegenmaßnahmen – Verschiedene Ansätze
- 4.2. Ursachenbekämpfung
- 4.3. Gegenmaßnahme – Sichere Programmierung und Source Code Audit
- 4.4. Statische Analysen – Source Code Analyzer
- 4.5. Gegenmaßnahme – Binary Audit
- 4.6. Bekämpfung der Auswirkungen
- 4.7. Gegenmaßnahme – Wrapper für fehleranfällige Bibliotheksfunktionen
- 4.8. Modifikationen der Prozessumgebung
- 5. Weitere Möglichkeiten
- A. Assembler-Codes
- B. Shellcodes
- C. fosbi
- D. No-NOP-Technik
- E. flawfinder
- Literaturverzeichnis
Product information
- Title: Buffer Overflows und Format-String-Schwachstellen
- Author(s):
- Release date: September 2003
- Publisher(s): dpunkt
- ISBN: 9783898641920
You might also like
book
Penetration Testing mit Metasploit - Praxiswissen für mehr IT-Sicherheit
Penetrationstests mit Metasploit als effektiver Teil der IT-Sicherheitsstrategie Der komplette Workflow: Portscanning mit Nmap, Hacking mit …
book
Basiswissen für Softwarearchitekten, 4th Edition
Softwarearchitektur bildet einen wesentlichen Erfolgsfaktor für Softwareprojekte. Sie stellt im Sinne einer systematischen Konstruktion sicher, dass …
book
Basiswissen Testautomatisierung
Testautomatisierung ist ein mächtiges Werkzeug, um Tests wiederholbar zu machen und effizienter zu gestalten. Dieses Buch …
book
Die Kunst der agilen Entwicklung
Dieses Buch beschreibt umfassend und praxisorientiert die Grundlagen, Methoden und Praktiken agiler Softwareentwicklung. James Shore gibt …