Samstag, 11. Februar 2012


Buch-Tipp

Buffer Overflows und Format-String-Schwachstellen

(Link zum Artikel: http://www.entwickler.de/jx//000383)
  • Autor/in: Tobias Klein
  • Verlag: dpunkt.verlag
  • Seiten: 658
  • erschienen: 2004
  • Preis: 54 Euro
  • ISBN: 3-89864-192-9

IT-Sicherheit ist zurzeit unzweifelhaft das Thema Nummer eins: Fast wöchentlich werden auf dem Buchmarkt Neuerscheinungen angekündigt. Aus der Flut der angepriesenen Titel hebt sich das Buch von Tobias Klein ab, denn dieser bemerkenswerte Band behandelt ein außerordentlich wichtiges Thema und schließt eine Lücke. Obwohl im Vorwort gesagt wird, dass zum Verständnis keine besonderen Kenntnisse notwendig seien, muss an dieser Stelle darauf hingewiesen werden, dass es von Vorteil ist, wenn Sie über C- und eventuell sogar Assembler-Kenntnisse verfügen. Natürlich können andere Leser wie Programmier-Einsteiger, IT-Entscheider, Administratoren etc. die Problematik in Grundzügen relativ leicht erfassen; die ganze Tragweite des Textes erschließt sich aber erst, wenn man die Beispiele hundertprozentig versteht. Klein geht richtig zur Sache und beschreibt akribisch die Vorgänge im Hauptspeicher.

Die Gliederung des Buches ist nachvollziehbar: Der Autor wirft ein Problem auf (Beispiel: unsichere C-Funktionen wie gets() und strcpy()) und geht anschließend, bewaffnet mit Compiler und Debugger, den Dingen nachhaltig auf den Grund. Im Anschluss daran werden effektive Gegenmaßnahmen vorgestellt. Das ist ein pragmatischer Ansatz und der Leser kann aus den zahlreichen Beispielen sofort einen unmittelbaren Nutzen ziehen.

Der erste Teil des Buches beschreibt die Problematik der Buffer Overflows ausführlich und liefert Beispiele für diese berüchtigte Schwachstelle. Im zweiten Teil wird der Leser an das neue Thema der Format-String-Schwachstellen herangeführt. Im Anhang finden sich weiterführende Informationen sowie Beispiele für Assembler- und Shellcodes inklusive Tipps zu den Tools. Fazit: Das Buch geht ohne Zweifel in die Tiefe und ist kenntnisreich geschrieben. Der Autor versteht es, eine hochbrisante und nach wie vor aktuelle Thematik plausibel darzustellen. Klein demonstriert zudem, wie leicht sich typische C-Fehler vermeiden lassen (die Ursachen dafür sind häufig im Design der Programmiersprache C zu suchen; keine Längenüberprüfung bei Strings etc.). Mit Sicherheit eignet sich der Band nicht für Programmiereinsteiger – als Zweitbuch ist es aber insbesondere für (angehende) C-Entwickler eine ausgezeichnete Wahl.

Der Text ist gut lesbar. Positiv hervorzuheben ist, dass der komplizierte Stoff durch Abbildungen und Code-Beispiele (C und Assembler) ergänzt wird: Das dient einerseits der Veranschaulichung und trägt andererseits zum besseren Verständnis bei. Das Preis-Leistungsverhältnis geht eingedenk der Fülle des angebotenen Materials in Ordnung. Viel Spaß beim Hacken.

von Thomas Kaufmann

Kommentare