Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Exploit!
Code härten, Bugs analysieren, Hacking verstehen. Das Handbuch für sichere Softwareentwicklung
Buch von Klaus Gebeshuber (u. a.)
Sprache: Deutsch

44,90 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

auf Lager, Lieferzeit 1-2 Werktage

Kategorien:
Beschreibung

Die Suche nach Exploits ist die Königsdisziplin für Entwickler. Neben viel Ausdauer und Spaß an Knobeleien müssen Sie zudem Wissen über Angriffsvektoren und Sicherheitsprobleme mitbringen. Hier lernen Sie die wichtigsten Techniken und Tools kennen und bekommen einen tiefgehenden Einblick in das Aufspüren, Ausnutzen und Verhindern von Exploits.

Aus dem Inhalt:

  • Sichere Software-Entwicklung: Prozesslayout, Memory Management und mehr
  • Reverse Engineering
  • Secure Coding: Encapsulation, Data Validation, Error Handling
  • Secure Design: Architectural Risk Analysis
  • Kryptografie
  • Lücken finden: Fuzzing, Codeanalyse und mehr
  • Buffer Overflows ausnutzen
  • Mitigations einsetzen: ASLR, SEHOP und mehr
  • Schutzmechanismen umgehen
  • Real Life Exploits: Heartbleed, Shellshock, Spectre & Meltdown und mehr

Die Suche nach Exploits ist die Königsdisziplin für Entwickler. Neben viel Ausdauer und Spaß an Knobeleien müssen Sie zudem Wissen über Angriffsvektoren und Sicherheitsprobleme mitbringen. Hier lernen Sie die wichtigsten Techniken und Tools kennen und bekommen einen tiefgehenden Einblick in das Aufspüren, Ausnutzen und Verhindern von Exploits.

Aus dem Inhalt:

  • Sichere Software-Entwicklung: Prozesslayout, Memory Management und mehr
  • Reverse Engineering
  • Secure Coding: Encapsulation, Data Validation, Error Handling
  • Secure Design: Architectural Risk Analysis
  • Kryptografie
  • Lücken finden: Fuzzing, Codeanalyse und mehr
  • Buffer Overflows ausnutzen
  • Mitigations einsetzen: ASLR, SEHOP und mehr
  • Schutzmechanismen umgehen
  • Real Life Exploits: Heartbleed, Shellshock, Spectre & Meltdown und mehr
Über den Autor
Dr. Klaus Gebeshuber ist FH-Professor für IT-Security an der FH JOANNEUM in Kapfenberg (Österreich). Er lehrt berufsbegleitend IT-Security im Studiengang IT & Mobile Security. Seine Schwerpunkte liegen im Bereich Netzwerksicherheit, Industrial Security, Security-Analysen und Penetration-Tests. Nach dem Studium der Elektrotechnik/Computertechnik an der Technischen Universität Wien war Dr. Gebeshuber 15 Jahre im Bereich der industriellen Softwareentwicklung und Automatisierungstechnik tätig. Er hält zahlreiche Industriezertifikate im Umfeld von IT-Security, Netzwerk-Sicherheit und Penetration Testing.
Zusammenfassung
Spectre & Meltdown, Heartbleed, Shellshock, Stagefright und mehr
Inhaltsverzeichnis
Materialien zum Buch ... 13
Geleitwort ... 15
1. Einleitung ... 17

1.1 ... Über dieses Buch ... 17

1.2 ... Zielgruppe ... 19

1.3 ... Wie Sie mit dem Buch arbeiten ... 20

1.4 ... Die Autoren ... 20

2. Exploit! So schnell führt ein Programmierfehler zum Root-Zugriff ... 21

2.1 ... Das Szenario ... 21

2.2 ... Die Vorbereitungsarbeiten, Informationssammlung ... 22

2.3 ... Analyse und Identifikation von Schwachstellen ... 23

2.4 ... Ausnutzung der XSS-Schwachstelle ... 25

2.5 ... Analyse und Identifikation weiterer Schwachstellen ... 26

2.6 ... Zugriff auf das interne Netzwerk ... 31

2.7 ... Angriff auf das interne Netz ... 35

2.8 ... Privilege Escalation am Entwicklungsserver ... 39

2.9 ... Analyse des Angriffs ... 42

3. Einführung in die sichere Softwareentwicklung ... 43

3.1 ... Ein Prozessmodell für sichere Softwareentwicklung ... 44

3.2 ... Die Praktiken der sicheren Softwareentwicklung ... 46

3.3 ... Fachwissen für sichere Softwareentwicklung ... 51

4. Grundlagenwissen für sicheres Programmieren ... 67

4.1 ... Praktiken der agilen Softwareentwicklung ... 68

4.2 ... Die Programmiersprache C ... 69

4.3 ... Die Programmiersprache Java ... 76

4.4 ... Versionierung von Quellcode ... 82

4.5 ... Debugging und automatisiertes Testen ... 84

4.6 ... Continuous Integration ... 91

4.7 ... Beispiele auf GitHub und auf [...] ... 94

5. Reverse Engineering ... 97

5.1 ... Analyse von C-Applikationen ... 97

5.2 ... Analyse von Java-Applikationen ... 129

5.3 ... Code Obfuscation ... 148

6. Sichere Implementierung ... 151

6.1 ... Reduzieren Sie die Sichtbarkeit von Daten und Code ... 151

6.2 ... Der sichere Umgang mit Daten ... 160

6.3 ... Der richtige Umgang mit Fehlern ... 176

6.4 ... Kryptografische APIs richtig einsetzen ... 182

6.5 ... Statische Codeanalyse ... 211

7. Sicheres Design ... 227

7.1 ... Architekturbasierte Risikoanalyse ... 227

7.2 ... Designprinzipien für sichere Softwaresysteme ... 232

7.3 ... Das HTTP-Protokoll ... 235

7.4 ... Sicheres Design von Webapplikationen ... 244

8. Kryptografie ... 281

8.1 ... Verschlüsselung ... 281

8.2 ... Hash-Funktionen ... 309

8.3 ... Message Authentication Codes und digitale Signaturen ... 321

8.4 ... NIST-Empfehlungen ... 327

9. Sicherheitslücken finden und analysieren ... 329

9.1 ... Installation der Windows-Testinfrastruktur ... 329

9.2 ... Manuelle Analyse der Anwendung ... 335

9.3 ... Automatische Schwachstellensuche mittels Fuzzing ... 340

9.4 ... Analyse des Absturzes im Debugger ... 343

9.5 ... Alternativen zum Fuzzing ... 344

9.6 ... Tools zur Programmanalyse ... 344

10. Buffer Overflows ausnutzen ... 357

10.1 ... Die Crash-Analyse des [...]-Clients ... 357

10.2 ... Offsets ermitteln ... 360

10.3 ... Eigenen Code ausführen ... 363

10.4 ... Umgang mit Bad Characters ... 368

10.5 ... Shellcode generieren ... 372

10.6 ... Exception Handling ausnutzen ... 377

10.7 ... Analyse unterschiedlicher Buffer-Längen ... 379

10.8 ... Buffer Offsets berechnen ... 382

10.9 ... SEH-Exploits ... 382

10.10 ... Heap Spraying ... 386

11. Schutzmaßnahmen einsetzen ... 391

11.1 ... ASLR ... 391

11.2 ... Stack Cookies ... 393

11.3 ... SafeSEH ... 395

11.4 ... SEHOP ... 396

11.5 ... Data Execution Prevention ... 396

11.6 ... Schutz gegen Heap Spraying ... 399

12. Schutzmaßnahmen umgehen ... 401

12.1 ... Was sind Reliable Exploits? ... 401

12.2 ... Bypass von ASLR ... 402

12.3 ... Bypass von Stack Cookies ... 418

12.4 ... Bypass von SafeSEH ... 419

12.5 ... Bypass von SEHOP ... 420

12.6 ... Data Execution Prevention (DEP) -- Bypass mittels Return Oriented Programming ... 423

12.7 ... DEP Bypass mittels Return-to-libc ... 449

13. Format String Exploits ... 451

13.1 ... Formatstrings ... 451

13.2 ... Die fehlerhafte Anwendung ... 454

13.3 ... Aufbau der Analyseumgebung ... 457

13.4 ... Analyse des Stack-Inhalts ... 459

13.5 ... Speicherstellen mit %n überschreiben ... 463

13.6 ... Die Exploit-Struktur ... 466

13.7 ... Die Ermittlung von Adressen und Offsets ... 468

13.8 ... Die Verifikation der Adressen im Debugger ... 471

13.9 ... Die erste lauffähige Version des Exploits ... 473

13.10 ... ASLR Bypass ... 477

14. Real Life Exploitation ... 485

14.1 ... Heartbleed ... 485

14.2 ... SSL OpenFuck ... 488

14.3 ... Shellshock ... 493

14.4 ... Eternal Blue ... 495

14.5 ... Spectre und Meltdown ... 504

14.6 ... Stagefright ... 509

Index ... 511
Details
Erscheinungsjahr: 2019
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Reihe: Rheinwerk Computing
Inhalt: 519 S.
ISBN-13: 9783836265980
ISBN-10: 3836265982
Sprache: Deutsch
Herstellernummer: 459/06598
Einband: Gebunden
Autor: Gebeshuber, Klaus
Teiniker, Egon
Zugaj, Wilhelm
Hersteller: Rheinwerk Verlag GmbH
Maße: 246 x 180 x 35 mm
Von/Mit: Klaus Gebeshuber (u. a.)
Erscheinungsdatum: 30.07.2019
Gewicht: 1,078 kg
Artikel-ID: 115936547
Über den Autor
Dr. Klaus Gebeshuber ist FH-Professor für IT-Security an der FH JOANNEUM in Kapfenberg (Österreich). Er lehrt berufsbegleitend IT-Security im Studiengang IT & Mobile Security. Seine Schwerpunkte liegen im Bereich Netzwerksicherheit, Industrial Security, Security-Analysen und Penetration-Tests. Nach dem Studium der Elektrotechnik/Computertechnik an der Technischen Universität Wien war Dr. Gebeshuber 15 Jahre im Bereich der industriellen Softwareentwicklung und Automatisierungstechnik tätig. Er hält zahlreiche Industriezertifikate im Umfeld von IT-Security, Netzwerk-Sicherheit und Penetration Testing.
Zusammenfassung
Spectre & Meltdown, Heartbleed, Shellshock, Stagefright und mehr
Inhaltsverzeichnis
Materialien zum Buch ... 13
Geleitwort ... 15
1. Einleitung ... 17

1.1 ... Über dieses Buch ... 17

1.2 ... Zielgruppe ... 19

1.3 ... Wie Sie mit dem Buch arbeiten ... 20

1.4 ... Die Autoren ... 20

2. Exploit! So schnell führt ein Programmierfehler zum Root-Zugriff ... 21

2.1 ... Das Szenario ... 21

2.2 ... Die Vorbereitungsarbeiten, Informationssammlung ... 22

2.3 ... Analyse und Identifikation von Schwachstellen ... 23

2.4 ... Ausnutzung der XSS-Schwachstelle ... 25

2.5 ... Analyse und Identifikation weiterer Schwachstellen ... 26

2.6 ... Zugriff auf das interne Netzwerk ... 31

2.7 ... Angriff auf das interne Netz ... 35

2.8 ... Privilege Escalation am Entwicklungsserver ... 39

2.9 ... Analyse des Angriffs ... 42

3. Einführung in die sichere Softwareentwicklung ... 43

3.1 ... Ein Prozessmodell für sichere Softwareentwicklung ... 44

3.2 ... Die Praktiken der sicheren Softwareentwicklung ... 46

3.3 ... Fachwissen für sichere Softwareentwicklung ... 51

4. Grundlagenwissen für sicheres Programmieren ... 67

4.1 ... Praktiken der agilen Softwareentwicklung ... 68

4.2 ... Die Programmiersprache C ... 69

4.3 ... Die Programmiersprache Java ... 76

4.4 ... Versionierung von Quellcode ... 82

4.5 ... Debugging und automatisiertes Testen ... 84

4.6 ... Continuous Integration ... 91

4.7 ... Beispiele auf GitHub und auf [...] ... 94

5. Reverse Engineering ... 97

5.1 ... Analyse von C-Applikationen ... 97

5.2 ... Analyse von Java-Applikationen ... 129

5.3 ... Code Obfuscation ... 148

6. Sichere Implementierung ... 151

6.1 ... Reduzieren Sie die Sichtbarkeit von Daten und Code ... 151

6.2 ... Der sichere Umgang mit Daten ... 160

6.3 ... Der richtige Umgang mit Fehlern ... 176

6.4 ... Kryptografische APIs richtig einsetzen ... 182

6.5 ... Statische Codeanalyse ... 211

7. Sicheres Design ... 227

7.1 ... Architekturbasierte Risikoanalyse ... 227

7.2 ... Designprinzipien für sichere Softwaresysteme ... 232

7.3 ... Das HTTP-Protokoll ... 235

7.4 ... Sicheres Design von Webapplikationen ... 244

8. Kryptografie ... 281

8.1 ... Verschlüsselung ... 281

8.2 ... Hash-Funktionen ... 309

8.3 ... Message Authentication Codes und digitale Signaturen ... 321

8.4 ... NIST-Empfehlungen ... 327

9. Sicherheitslücken finden und analysieren ... 329

9.1 ... Installation der Windows-Testinfrastruktur ... 329

9.2 ... Manuelle Analyse der Anwendung ... 335

9.3 ... Automatische Schwachstellensuche mittels Fuzzing ... 340

9.4 ... Analyse des Absturzes im Debugger ... 343

9.5 ... Alternativen zum Fuzzing ... 344

9.6 ... Tools zur Programmanalyse ... 344

10. Buffer Overflows ausnutzen ... 357

10.1 ... Die Crash-Analyse des [...]-Clients ... 357

10.2 ... Offsets ermitteln ... 360

10.3 ... Eigenen Code ausführen ... 363

10.4 ... Umgang mit Bad Characters ... 368

10.5 ... Shellcode generieren ... 372

10.6 ... Exception Handling ausnutzen ... 377

10.7 ... Analyse unterschiedlicher Buffer-Längen ... 379

10.8 ... Buffer Offsets berechnen ... 382

10.9 ... SEH-Exploits ... 382

10.10 ... Heap Spraying ... 386

11. Schutzmaßnahmen einsetzen ... 391

11.1 ... ASLR ... 391

11.2 ... Stack Cookies ... 393

11.3 ... SafeSEH ... 395

11.4 ... SEHOP ... 396

11.5 ... Data Execution Prevention ... 396

11.6 ... Schutz gegen Heap Spraying ... 399

12. Schutzmaßnahmen umgehen ... 401

12.1 ... Was sind Reliable Exploits? ... 401

12.2 ... Bypass von ASLR ... 402

12.3 ... Bypass von Stack Cookies ... 418

12.4 ... Bypass von SafeSEH ... 419

12.5 ... Bypass von SEHOP ... 420

12.6 ... Data Execution Prevention (DEP) -- Bypass mittels Return Oriented Programming ... 423

12.7 ... DEP Bypass mittels Return-to-libc ... 449

13. Format String Exploits ... 451

13.1 ... Formatstrings ... 451

13.2 ... Die fehlerhafte Anwendung ... 454

13.3 ... Aufbau der Analyseumgebung ... 457

13.4 ... Analyse des Stack-Inhalts ... 459

13.5 ... Speicherstellen mit %n überschreiben ... 463

13.6 ... Die Exploit-Struktur ... 466

13.7 ... Die Ermittlung von Adressen und Offsets ... 468

13.8 ... Die Verifikation der Adressen im Debugger ... 471

13.9 ... Die erste lauffähige Version des Exploits ... 473

13.10 ... ASLR Bypass ... 477

14. Real Life Exploitation ... 485

14.1 ... Heartbleed ... 485

14.2 ... SSL OpenFuck ... 488

14.3 ... Shellshock ... 493

14.4 ... Eternal Blue ... 495

14.5 ... Spectre und Meltdown ... 504

14.6 ... Stagefright ... 509

Index ... 511
Details
Erscheinungsjahr: 2019
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Buch
Reihe: Rheinwerk Computing
Inhalt: 519 S.
ISBN-13: 9783836265980
ISBN-10: 3836265982
Sprache: Deutsch
Herstellernummer: 459/06598
Einband: Gebunden
Autor: Gebeshuber, Klaus
Teiniker, Egon
Zugaj, Wilhelm
Hersteller: Rheinwerk Verlag GmbH
Maße: 246 x 180 x 35 mm
Von/Mit: Klaus Gebeshuber (u. a.)
Erscheinungsdatum: 30.07.2019
Gewicht: 1,078 kg
Artikel-ID: 115936547
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte