Kernel Hacking
Autoři
Více o knize
Jede Anwendung benötigt zum Ablauf ein Betriebssystem. Wenn ein Angreifer Vollzugriff auf das Betriebssystem hat, gelangt er auch an die Anwendungsdaten. Diesen Zugriff verschaffen sich Hacker über Schwachstellen im Kernel. Die Entwicklung von Kernelexploits ist sowohl eine Kunst als auch eine Wissenschaft. Jedes Betriebssystem weist seine Eigenheiten auf, weshalb ein Exploit so gestaltet werden muss, dass er die Besonderheiten des Ziels vollständig ausnutzt. In diesem Buch werden die am weitesten verbreiteten Betriebssysteme behandelt – UNIX-Derivate, Mac OS X und Windows – und es wird gezeigt, wie man die Kontrolle darüber gewinnen kann. Für alle, die Kernelarchitekturen verstehen wollen Im ersten Kapitel widmet sich das Autorenteam dem Betriebssys-temkernel aus Sicht eines Exploit-Entwicklers. Danach werden die verschiedenen Arten von Schwachstellen und Bugs in Kategorien eingeteilt und ihre Gemeinsamkeiten vorgestellt. Die verschiedenen Betriebssysteme implementieren ihre Teilsysteme zwar jeweils auf ihre eigene Weise, aber in diesem Kapitel stellen die Autoren Vorgehensweisen vor, die sich auf verschiedene Kernels und sogar auf verschiedene Architekturen anwenden lassen. Schritt für Schritt wird die Entwicklung eines zuverlässigen direkten Remote-Exploits für eine echte Schwachstelle vorgestellt, nämlich eines Bugs im SCTP-Teilsystem des Linux-Kernels. Aus dem Inhalt: Kernelland- und Userland- Exploits im Vergleich Open-Source- und Closed-Source-Betriebssysteme Der Kernel aus der Sicht eines Exploit-Autors Klassifizierung von Kernelschwachstellen Der Weg zum erfolgreichen Kernel-Hacking Speicherbeschädigung Die UNIX-Familie, Mac OS X und Windows Exploits für den Speicherallokator Windows-Hacking in der Praxis Remote-Exploits Schwachstellen über das Netz angreifen Remote-Payloads Kernelschutzmechanismen Virtualisierung „Das Schreiben von Exploits und insbesondere von Kernelexploits besteht nicht nur aus Tricks und Exploit-Kung-Fu, sondern ist Ingenieurskunst, die ein tiefes Verständnis der Grundlagen von Betriebssystemen erfordert. Dafür ist dieses Buch sehr hilfreich. Es füllt die Lücke zwischen all den Kernel- und Treiberprogrammierbüchern in einem Regal.“ (Sebastian Krahmer, Systemprogrammierer und Exploit-Ingenieur)