Meine Filiale

Exploit!

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

Klaus Gebeshuber, Egon Teiniker, Wilhelm Zugaj

Buch (gebundene Ausgabe)
Buch (gebundene Ausgabe)
44,90
44,90
inkl. gesetzl. MwSt.
inkl. gesetzl. MwSt.
Sofort lieferbar Versandkostenfrei
Sofort lieferbar
Versandkostenfrei

Weitere Formate

gebundene Ausgabe

44,90 €

Accordion öffnen
  • Exploit!

    Rheinwerk

    Sofort lieferbar

    44,90 €

    Rheinwerk

eBook (ePUB)

39,90 €

Accordion öffnen

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

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..
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.

Produktdetails

Einband gebundene Ausgabe
Seitenzahl 519
Erscheinungsdatum 26.07.2019
Sprache Deutsch
ISBN 978-3-8362-6598-0
Reihe Rheinwerk Computing
Verlag Rheinwerk
Maße (L/B/H) 24,6/18/3,5 cm
Gewicht 1078 g
Auflage 1

Kundenbewertungen

Es wurden noch keine Bewertungen geschrieben.

  • Artikelbild-0


  •   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