Die "Software Security Library" von Gary McGraw, John Viega und Greg Hoglund besteht aus drei Bänden: "Building Secure Software: How to Avoid Security Problems the Right Way" von John Viega und Gary McGraw, "Exploiting Software: How to Break Code" von Greg Hoglund und Gary McGraw sowie "Software Security: Building Security In" von Gary McGraw.
Der erste Band, "Building Secure Software", behandelt die
Entwicklung sicherer Software. Die Themenzusammenstellung wirkt etwas
durcheinander gewürfelt. Dem Pufferüberlauf wird ein ganzes
Kapitel gewidmet, die nicht weniger gefährlichen
Formatstring-Schwachstellen werden auf 1 1/2 Seiten abgehandelt – das Buch
könnte eine Überarbeitung vertragen. Außerdem ist das Buch
aus dem Jahr 2002, und das merkt man an einigen Stellen. Wenn man schon ein altes
Buch als Teil einer Sammlung neu herausgibt, sollte man es zumindest
überarbeiten. Ein weiterer Kritikpunkt: Das Papier ist zu dünn.
Die Seiten lassen sich schlecht umblättern und neigen dazu,
einzureißen.
Fazit: Als Teil des Sets und als Grundlage für den dritten Band
akzeptabel, als Einzelband nicht zu empfehlen, da veraltet.
Das erste, was beim Aufschlagen des zweiten Bandes, "Exploiting
Software", auffällt: Anständiges, stabiles Papier. Auch der
Inhalt gefällt mir gut. Es geht um das Finden und Ausnutzen von
Schwachstellen. Angefangen wird mit einer allgemeinen Beschreibung von
Schwachstellen und Angreifern. Dann folgt ein Kapitel zum Reverse
Engineering, gefolgt von je einem Kapitel über das Ausnutzen von
Schwachstellen in Server- und Client-Software. Der Konstruktion
bösartiger Eingabedaten ist ein weiteres Kapitel gewidmet, ebenso der
Ausnutzung von Pufferüberlauf-Schwachstellen. Den Abschluss macht ein
Kapitel über Root-Kits. Was fehlt? Webanwendungen werden nur am Rande
erwähnt, aber dafür gibt es sowieso speziellere Literatur.
Fazit: Alles in allem ist dieses Buch aus dem Jahr 2004 sehr brauchbar.
"Software Security" ist im Januar 2006 erschienen und damit der
neueste Band des Sets. Das Buch ist auf demselben Papier gedruckt wie
"Exploiting Software". Es fährt da fort, wo die anderen
beiden Bände aufhören: Bei der Umsetzung der dort beschriebenen
Grundlagen in die praktische Entwicklung sicherer Software. Während
"Building Secure Software", auch als "White Hat Book"
bezeichnet, die Grundlangen sicherer Softwareentwicklung behandelt, geht
es in "Exploiting Software", auch als "Black Hat Book"
bezeichnet, um das Finden und Ausnutzen von Schwachstellen. Beide
Bücher behandeln also sozusagen zwei Seiten einer Medaille. Der dritte
Band, "Software Security", soll beide Seiten in ein gemeinsames
Ganzes vereinen. Das Buch ist in drei Teile unterteilt. Teil 1,
"Software Security Fundamentals", fasst die ersten beiden
Bücher zusammen. Teil 2, "Seven Touchpoints for Software
Security", beschreibt 'Best Practices' und liefert damit eine Reihe
praktischer Anleitungen. Der dritte und letzte Teil, "Software Security
Grows Up", soll bei der Einführung von Software-Sicherheit in
großen Unternehmen helfen. Nun, was für große Unternehmen
gilt, muss für kleine nicht schlecht sein und ist auch für diese
durchaus brauchbar. Das Buch enthält eine CD mit einer Demo-Version
der Fortify Sourcecode-Analysis-Suite, eine Anleitung befindet sich als
Anhang im Buch.
Fazit: Ein ebenfalls brauchbares Buch.
Gesamt-Fazit: Wer auf den ersten Band verzichten kann, kommt mit dem Einzelkauf der anderen beiden, empfehlenswerten Bücher etwas billiger davon. Ansonsten ist der erste Band eine akzeptable Zugabe.








