• EOL

Android. Hacker-Handbuch von Joshua J. Drake

Index: KSZ-03317

Übersetzung: Andrzej Stefanski . Verlag: Helion. Das Buch richtet sich an Personen, die ihr Wissen über die Sicherheit von Geräten erweitern möchten, die unter der Kontrolle von Android arbeiten.

Android. Hacker-Handbuch von Joshua J. Drake
6,62 €
6,30 € zzgl. MwSt.
Nicht zugänglich
Auslaufprodukt
PayPal Bezahlung
Hersteller: Helion

Warnung!

Der Verkauf des Produkts ist abgeschlossen. Sehen Sie sich andere Geräte in dieser Kategorie an .

Beschreibung

In den letzten Jahren hat sich Android zum führenden Betriebssystem für mobile Technologien entwickelt und seine Marktposition wächst weiter. Dies stellt ein Software-Sicherheitsrisiko für Systementwickler dar. Das Hackerhandbuch ist die erste umfassende Informationsquelle für Personen, die ihr Wissen über die Sicherheit dieses Systems erweitern möchten.

Das Buch stellt Android und seine gesamte Sicherheitsarchitektur vor. Während der Lektüre lernt der Leser, die Details der Sicherheitsimplementierung und die Komplikationen zu erkennen, die sich aus der Tatsache ergeben, dass Android ein offenes System ist. In den folgenden Kapiteln werden verschiedene Techniken und Angriffsebenen auf Android-Geräte analysiert. Das Buch zeigt, wie man sich gegen Hackerangriffe auf dieses beliebte System wehren kann.

Mit den Informationen in diesem Buch lernen Sie, wie Sie:

  • Erkennen Sie die Details der Sicherheitsimplementierung und die Komplikationen der Offenheit von Android.
  • Vermeiden Sie häufige Sicherheitsfallen und folgen Sie den neuesten Smartphone-Hacking-Strategien.
  • Analysieren Sie verschiedene Arten erfolgreicher Angriffe auf das Android-Betriebssystem.
  • Erhalten Sie vollen Zugriff auf das Gerät und erkennen Sie das Partitionslayout und den Startvorgang des Geräts.
  • Verstehen Sie die komplexe Natur des Android-Ökosystems, einschließlich der Bedeutung verschiedener Gerätehersteller und Softwareentwickler

Beispielprogramme, die im Buch verwendet werden, sind im Internet verfügbar . Ein Auszug aus dem Buch zum Online-Lesen .

Inhalt

Über die Autoren (13)

Über den sachlichen Korrektor (15)

Danksagungen (17)

Einführung (19)

  • Buch- und Technologieübersicht (20)
  • Wie dieses Buch aufgeteilt ist (20)
  • Wer sollte dieses Buch lesen (22)
  • Benötigtes Werkzeug (22)
  • Was ist auf der Website (23)
  • Viel Glück! (23)

Kapitel 1. Ein Blick auf das Ökosystem (25)

  • Android-Wurzeln (25)
    • Firmengeschichte (25)
    • Versionsgeschichte (26)
    • Verfügbare Geräte (28)
    • Offene (am häufigsten vorkommende) Quellen (29)
  • Android-Aktionäre (31)
    • Google (32)
    • Gerätehersteller (33)
    • Bediener (35)
    • Entwickler (35)
    • Benutzer (36)
  • Ein Bild der Ökosystemkomplexität (38)
    • Fragmentierung (38)
    • Kompatibilität (40)
    • Upgrade-Probleme (41)
    • Sicherheit versus Offenheit (43)
    • Veröffentlichung von Informationen (44)
  • Zusammenfassung (45)

Kapitel 2. Android-Sicherheitsdesign und -architektur 47

  • Android-Architektur (47)
  • Einschränkungen und Schutzmaßnahmen (49)
    • Isolierte Android-Umgebung (49)
    • Android-Berechtigungen (52)
  • Genauere Analyse der Schichten
    • Android-Apps (55)
    • Android-Framework (59)
    • Virtuelle Dalvik-Maschine (60)
    • Nativer Code des Benutzerbereichs
    • Kern (67)
  • Komplizierte Sicherheit, komplizierter Exploit 74
  • Zusammenfassung (75)

Kapitel 3. Gerät entsperren (77)

  • Partitionslayout (78)
    • Bestimmen eines Partitionslayouts
  • Der Systemstartvorgang (80)
    • Zugriff auf den Download-Modus (81)
  • Gesperrte und entsperrte Bootloader (82)
    • Originale und modifizierte Rettungsbilder (83)
  • Vollständigen Zugriff mit entsperrtem Bootloader erhalten (85)
  • Vollständigen Zugriff mit einem gesperrten Bootloader erhalten (87)
    • Zugriff auf ein laufendes System (88)
    • NAND-Sperren, Temporäre Root, Persistent Root (89)
    • Beständiger Softwarestamm 91
  • Geschichten bekannter Angriffe (92)
    • Kernel: Wunderbar / asroot (92)
    • Rettungsmodus: Volez (93)
    • Udev: Exploid (93)
    • Adbd: RageAgainstTheCage (94)
    • Zygote: Zimperlich und Zysploit (94)
    • Ashmem: KillingInTheNameOf und Pseudonym (95)
    • Vold: GingerBreak (95)
    • PowerVR: Levitator (96)
    • Libsysutils: zergRush (96)
    • Kernel: mempodroid (97)
    • Angriffe auf Dateiberechtigungen und symbolische Links
    • Adb-Wiederherstellung (98)
    • Exynos4: Exynos-Missbrauch (99)
    • Diag: lit / diaggetroot (99)
  • Zusammenfassung (100)

Kapitel 4. Überprüfung der Anwendungssicherheit 101

  • Häufige Fehler 101
    • Anwendungsberechtigungsprobleme (102)
    • Unsichere Übertragung sensibler Daten (103)
    • Speicherung ungesicherter Daten (104)
    • Informationen lecken durch Protokolle (105)
    • IPC Ungesicherte Terminierungen (106)
  • Fallstudie: Mobile Sicherheits-App (108)
    • Profilerstellung (108)
    • Statische Analyse (110)
    • Dynamische Analyse (124)
    • Angriff (132)
  • Fallstudie: SIP-Client (134)
    • Schneefräse (134)
    • Anerkennung (134)
    • Schnarchen (136)
    • Spritzen (138)
  • Zusammenfassung (140)

Kapitel 5. Androids Angriffsebenen 141

  • Grundbegriffe (141)
    • Angriffsvektoren (142)
    • Angriffsflugzeuge (143)
  • Angriffsflugzeugklassifizierung (144)
    • Ebeneneigenschaften 144
    • Die Klassifizierungsmethode (145)
  • Angriffsflugzeuge, auf die aus der Ferne zugegriffen werden kann (145)
    • Netzwerkprobleme (146)
    • Netzwerkstapel (150)
    • Gemeinsame Netzwerkdienste (151)
    • Mobile Technologien (152)
    • Benutzerseitiges Angriffsflugzeug
    • Google-Infrastruktur (158)
  • Physische Nachbarschaft (164)
    • Drahtlose Kommunikation (164)
    • Andere Technologien (170)
  • Lokale Angriffsflugzeuge (170)
    • Anzeigen des Dateisystems (171)
    • Suche nach anderen lokalen Angriffsflugzeugen 172
  • Physische Angriffsflugzeuge (176)
    • Gerät demontieren (177)
    • USB (178)
    • Andere physische Angriffsflugzeuge 181
  • Externe Modifikationen (182)
  • Zusammenfassung 182

Kapitel 6. Finden von Schwachstellen mit Fuzzing 183

  • Der Ursprung des Fuzzing (183)
    • Identifizieren eines Ziels 185
    • Erstellen von verzerrten Eingaben 185
    • Eingabedaten verarbeiten 186
    • Leistungsüberwachung (187)
  • Fuzzing in Android (187)
  • Nachrichtenempfänger fuzzing (188)
    • Zielidentifikation (189)
    • Eingabedaten generieren 190
    • Eingabedaten bereitstellen 190
    • Testüberwachung (191)
  • Fuzzing-Chrome für Android (193)
    • Auswahl eines Ziels (193)
    • Eingabedaten generieren 195
    • Eingabedaten verarbeiten 197
    • Testüberwachung (199)
  • Fuzzing von USB-Angriffsflugzeugen (201)
    • USB-Fuzzing-Herausforderungen
    • Modusauswahl (202)
    • Eingabedaten generieren 203
    • Eingabedaten verarbeiten 205
    • Testüberwachung (206)
  • Zusammenfassung (207)

Kapitel 7. Fehlersuche und Schwachstellenanalyse 209

  • Sammeln aller verfügbaren Informationen (209)
  • Toolkit-Auswahl (211)
  • Debuggen eines schlechten Endes 212
    • Systemprotokolle (212)
    • Grabstein (213)
  • Remote-Debugging (214)
  • Debuggen von Dalvik Virtual Machine Code 215
    • Debuggen der Beispielanwendung 216
    • Anzeigen des Android Framework-Quellcodes 218
    • Debuggen von vorhandenem Code 220
  • Debuggen von nativem Code 224
    • Debuggen mit dem NDK 224
    • Debuggen mit Eclipse 228
    • Debuggen mit AOSP
    • Zunehmende Automatisierung 235
    • Debuggen mit Symbolen 237
    • Debuggen eines nicht von AOSP unterstützten Geräts 243
  • Debuggen im gemischten Modus 244
  • Alternative Debugging-Techniken 244
    • Debugging-Ausdrücke 244
    • Debuggen auf dem Gerät
    • Dynamisch ändernde Binärdatei
  • Schwachstellenanalyse (247)
    • Bestimmung der Grundursache 247
    • Usability-Bewertung
  • Zusammenfassung (261)

Kapitel 8. Userland-Software verwenden 263

  • Die Grundlagen von Gedächtnisfehlern
    • Stapelpufferüberlauf
    • Heap-Nutzung
  • Historie öffentlich bekannter Exploits (274)
    • IngwerBreak (275)
    • ZergRush (278)
    • mempodroid (281)
  • Nutzung des Android-Browsers (282)
    • Den Fehler 283 verstehen
    • Heap-Steuerung
  • Zusammenfassung (288)

Kapitel 9. Rückkehrorientierte Programmierung 289

  • Geschichte und Begründung (289)
    • Separater Daten- und Anweisungscache 290
  • Die Grundlagen von ROP in ARM
    • Aufrufen von Subroutinen in ARM 293
    • Gadgets zu einer Kette verbinden (295)
    • Identifizieren potenzieller Gadgets (296)
  • Fallstudie: Android 4.0.1 Linker (297)
    • Ändern des Stapelzeigers 298
    • Ausführung von beliebigem Code aus zugewiesenem Speicher (300)
  • Zusammenfassung (304)

Kapitel 10. Den Kernel hacken und angreifen 317

  • Der Linux-Kernel in Android
  • Extrahieren des Kernels
    • Extrahieren von Firmware 319
    • Download vom Gerät (321)
    • Abrufen des Kernels aus dem Boot-Image
    • Entpacken des Kernels
  • Ausführen von modifiziertem Kernel-Code
    • Abrufen des Quellcodes (324)
    • Vorbereiten der Build-Umgebung
    • Konfigurieren des Kernels 328
    • Verwenden Ihrer eigenen Kernel-Module
    • Kompilieren eines modifizierten Kernels
    • Startbild erstellen (335)
    • Ausführen eines modifizierten Kernels
  • Kernel-Debugging
    • Kernel-Fehlerberichte
    • Hoppla verstehen (344)
    • Live-Debugging mit KGDB
  • Kernelnutzung (352)
    • Gängige Android-Kernel
    • Adressen extrahieren 354
    • Fallstudien (356)
  • Zusammenfassung (367)

Kapitel 11. Angriff auf RILs 311

  • Einführung in RIL
    • RIL-Architektur (312)
    • Smartphone-Architektur (313)
    • Android-Telefonstapel (313)
    • Anpassen des Telefonstapels (315)
    • RIL-Dienste (rild) (315)
    • API-Anbieter-Ril (318)
  • SMS (Kurznachrichtendienst) (319)
    • Senden und Empfangen von SMS-Nachrichten (319)
    • SMS-Format (319)
  • Kommunikation mit dem Modem (322)
    • Modem-Emulation für Fuzzing
    • Fuzzing-SMS in Android (324)
  • Zusammenfassung (331)

Kapitel 12. Begrenzungsmechanismen von Exploits 333

  • Bewertung (334)
  • Codesignierung (334)
  • Härtehalde (336)
  • Schutz vor Integer-Überlauf
  • Verhinderung der Datenausführung
  • Randomisieren des Adressraums 340
  • Sichern eines Stapels
  • Sicherheit für Formatzeichenfolgen
  • Schreibgeschützte Umzüge (345)
  • Isolieren der Umgebung (346)
  • Sicherung Ihres Quellcodes 346
  • Zugangskontrollmechanismen (348)
  • Sichern des Kernels
    • Zeiger und Protokollbeschränkungen
    • Nullseitenschutz (351)
    • Nur-Lese-Speicherbereiche (351)
  • Sonstige Sicherheit (352)
  • Zusammenfassung der Begrenzungsmechanismen von Exploits 354
  • Einschränkungen deaktivieren 356
    • Identitätswechsel (356)
    • Binäre Konvertierung 357
    • Ändern des Kernels 357
  • Überwindung der Grenzen von Exploits 358
    • Stapelsicherheit überwinden 358
    • Überwindung der ASLR (359)
    • Überwindung von Schutzmaßnahmen zur Verhinderung der Datenausführung 359
    • Überwindung von Kernel-Limits 359
  • Blick in die Zukunft (360)
    • Offiziell entwickelte Projekte (360)
    • Gemeinschaft, die den Hoden heilt 361
    • Ein bisschen Spekulation (362)
  • Zusammenfassung (362)

Kapitel 13. Hardware-Angriffe

  • Kommunikation mit Hardware
    • Serielle UART-Schnittstellen (364)
    • I2C-, SPI- und One-Wire-Schnittstellen (368)
    • JTAG (370)
    • Suchen von Debug-Schnittstellen 381
  • Komponentenidentifikation 392
    • Spezifikationserfassung
    • Schwierigkeiten beim Identifizieren von Komponenten 394
  • Datenerfassung, Überwachung und Einspeisung (395)
    • USB (395)
    • Serielle I2C-, SPI- und UART-Schnittstellen (399)
  • Daten- und Softwarediebstahl (404)
    • Diskreter Zugriff
    • Invasive Methoden für den Zugriff auf Software 407
    • Was tun mit dem Datendump? (410)
  • Fallen (414)
    • Ungewöhnliche Schnittstellen
    • Binäre Daten und geschlossene Protokolle
    • Defekte Debugging-Schnittstellen 415
    • Layout-Passwörter 415
    • Bootloader-Passwörter, Tastenkombinationen und stille Terminals (415)
    • Modifizierte Startsequenzen 416
    • Versteckte Adresszeilen (416)
    • Schutzharz (416)
    • Bildverschlüsselung, Verschleierung und Unterbrechung des Debugging
  • Zusammenfassung (417)

Anhang A. Werkzeuge

  • Entwicklungstools (419)
    • Android-SDK (419)
    • Android-NDK (420)
    • Sonnenfinsternis (420)
    • ADT-Stecker (420)
    • ADT-Paket (420)
    • Android Studio (420)
  • Werksseitige Firmware-Erfassungs- und Speichermodifikations-Tools (421)
    • Binwalk (421)
    • Schnellstart (421)
    • Samsung (421)
    • Nvidia (422)
    • LG (422)
    • HTC (423)
    • Motorola (423)
  • Native Android-Tools (424)
    • BusyBox (424)
    • setpropex (425)
    • SQLite (425)
    • spur (425)
  • Werkzeuge zum Anbringen und Modifizieren (425)
    • ADBI-Framework (425)
    • ldpreloadhook (426)
    • Rahmen XPosed (426)
    • Cydia-Substrat (426)
  • Statische Analysewerkzeuge 426
    • Smali und Baksmali (427)
    • Androwächter (427)
    • apktool (427)
    • dex2jar (427)
    • Gift (428)
    • JD-GUI (428)
    • JEB (428)
    • Radare2 (428)
    • IDA Pro und Hex-Rays Decompiler (429)
  • Anwendungstest-Tools (429)
    • Framework Drozer (Quecksilber) (429)
    • iSEC Intent Sniffer und Intent Fuzzer (429)
  • Hardware-Hacking-Tools (430)
    • Segger J-Link (430)
    • JTAGulator (430)
    • OpenOCD (430)
    • Saleae (430)
    • Buspirat (430)
    • GutFET (431)
    • TotalPhase Beagle USB (431)
    • Facedancer21 (431)
    • TotalPhase Erdferkel I2C (431)
    • Chip Quik (431)
    • Heißluftpistole (431)
    • Xeltek SuperPro (432)
    • IDA (432)

Anhang B. Open-Source-Repositories

  • Google (433)
    • AOSP (433)
    • Gerrit Codeprüfsystem (434)
  • SoC-Hersteller (434)
    • AlleGewinner (435)
    • Informationen (435)
    • Wunder (435)
    • Mediatek (435)
    • NVIDIA (436)
    • Texas Instruments (436)
    • Qualcomm (436)
    • Samsung (437)
  • Gerätehersteller (OEM) (437)
    • Asus (438)
    • HTC (438)
    • LG (438)
    • Motorola (439)
    • Samsung (439)
    • Sony Handy (439)
  • Quellen externer Projekte (440)
  • Andere Quellen (440)
    • Modifizierte Werksfirmware (440)
    • Linaro (441)
    • Replikant (441)
    • Code-Indizes (441)
    • Freiberufler (441)

Anhang C. Referenzen

Index (501)

Buch - Autor Joshua J. Drake, Zach Lanier, Collin Mulliner, Pau Oliva Fora, Stephen A. Ridley, Georg Wicherski
Buch - ISBN 978-83-246-9940-7
Buch - Bindung Sanft
Buchverleger Helion
PAKETBREITE 0.001 cm
PAKETHÖHE 0.001 cm
PAKETTIEFE 0.001 cm
PAKETGEWICHT 0.001 kg

Seien Sie der Erste, der eine Frage zu diesem Produkt stellt!

Kunden, die diesen Artikel gekauft haben, kauften auch:

Produkte aus der gleichen Kategorie: