Gebeshuber / Teiniker / Zugaj | Exploit! | Buch | 978-3-8362-6598-0 | sack.de

Buch, Deutsch, 519 Seiten, Format (B × H): 180 mm x 246 mm, Gewicht: 1078 g

Reihe: Rheinwerk Computing

Gebeshuber / Teiniker / Zugaj

Exploit!

Code härten, Bugs analysieren, Hacking verstehen. Das Handbuch für sichere Softwareentwicklung
1. Auflage 2019
ISBN: 978-3-8362-6598-0
Verlag: Rheinwerk Verlag GmbH

Code härten, Bugs analysieren, Hacking verstehen. Das Handbuch für sichere Softwareentwicklung

Buch, Deutsch, 519 Seiten, Format (B × H): 180 mm x 246 mm, Gewicht: 1078 g

Reihe: Rheinwerk Computing

ISBN: 978-3-8362-6598-0
Verlag: Rheinwerk Verlag GmbH


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

Gebeshuber / Teiniker / Zugaj Exploit! jetzt bestellen!

Weitere Infos & Material



  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 rheinwerk-verlag.de ... 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 i.Ftp-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


Gebeshuber, Klaus
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.

Teiniker, Egon
Dr. Egon Teiniker ist Professor für Software Engineering an der FH JOANNEUM in Kapfenberg (Österreich). Seine Schwerpunkte liegen im Bereich Software Design und Software Security. Weiters ist er seit vielen Jahren als Gastdozent an der Hochschule Bremen tätig, wo er Methoden zur Entwicklung komplexer Softwaresysteme und Sichere Softwareentwicklung lehrt. Sein Beitrag in diesem Buch erstreckt sich über fünf Kapitel, in denen er die Themenbereiche Sichere Softwareentwicklung (Implementierung und Design) sowie Reverse Engineering abdeckt.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.