Marc Ruef
Buch: Vulnerability Scanner Design (VSD)
Deutsch English
"Some of my clients are very awesome. And I like that ;)" - @mruef vor 5 Jahren via Twitter


Zusammenfassung

Ein wichtiges Instrument zur Überprüfung der Sicherheit vernetzter Computersysteme ist der Prozess des Vulnerability Scannings. Bei diesem wird sich durch entsprechende Scanning-Lösungen um das Identifizieren etwaiger Schwachstellen und existenter Sicherheitslücken bemüht. Durch das Zusammentragen der Resultate in einem Report soll den Administratoren sowie den Entscheidungsträgern die Möglichkeit eingeräumt werden, die drohenden Risiken mit flankierenden Massnahmen adressieren zu können.

Dieses Buch bespricht in umfassender Weise eine ideale Implementierung eines solchen Vulnerability Scanners. Als erstes werden architektonische Empfehlungen ausgesprochen, um sich dann den jeweiligen Komponenten annehmen zu können. Im Detail werden sodann das Design der Datenbank sowie die Umsetzung etwaiger Scanning-Prozesse beschrieben. Zum Schluss werden ebenfalls die Wichtigkeit und Möglichkeit des Reportings aufgezeigt.

Das Buch richtet sich in erster Linie an Sicherheitsberater, die mit derartigen Produkten umgehen müssen oder wollen. Durch das Erarbeiten einer umfassenden Lösung werden die einzelnen Problembereiche und Möglichkeiten aufgezeigt. Dies erlaubt es, dass bei zukünftigen Tests die Schwächen und Vorteile der jeweiligen Produkte besser verstanden und diese damit effizienter eingesetzt werden können. Ebenso ist das Buch aufgrund der umfassenden Mitentwicklung einer Lösung für Programmierer interessant, die sich mit der Implementierung eines solchen Produkts auseinandersetzen wollen.

Inhaltsverzeichnis

1. Einführung
1.1 Für wen dieses Buch geschrieben wurde
1.2 Prinzip des Vulnerability Scannings
1.3 Übersicht der Produkte
1.4 Entwicklung einer eigenen Lösung
2. Architektur
2.1 Multi-Tier Modell
2.2 Frontend
2.3 Datenbank
2.4 Agents und Scanning-Module
2.5 Report-Engine
3. Datenbank
3.1 Grundlegendes Design
3.2 Hosts
3.3 Daten
3.4 Plugins
3.5 Scans
4. Scan-Module
4.1 Mapping
4.2 Portscan
4.3 OS-Fingerprinting
4.4 Application Mapping
4.5 Application Fingerprinting
5. Plugins
5.1 Datenfelder
5.2 Attack Scripting Language (ASL2)
5.3 Attack Markup Language (AML2)
5.4 Update-Funktionalität
5.5 Externe Daten und Tools
6. Exploiting
6.1 Exploit-Plugins
6.2 Extern eingebundene Exploits
6.3 Fuzzing-Module
7. Konfiguration
7.1 Scan-Einstellungen
7.2 Globale Plugin-Einstellungen
7.3 Individuelle Plugin-Einstellungen
7.4 Benutzer- und Gruppenrechte
8. Reporting
8.1 Korrelation und Filter
8.2 Delta-Analysen
8.3 Grafische Auswertungen
8.4 Report Generation
8.5 Datenexport

Details

1. Einführung
Das einführende Kapitel bespricht grundlegende Aspekte des Buchs und des darin enthaltenen Themas. So soll in das Prinzip des Vulnerability Scannings und die Entwicklung entsprechender Lösungen eingeführt werden.

2. Architektur
Zuerst wird die grundlegende Architektur einer professionellen Lösung vorgestellt. Hierbei soll ein Multi-Tier Modell eingeführt werden, welches sich in modularer Weise in grösseren Netzwerken nutzen lässt. Dabei wird eine grundlegende Unterscheidung zwischen Frontend, Scanning-Modul, Datenbank und Report-Engine vorgenommen. Die einzelnen Teile werden im Detail in späteren Kapiteln zusammen mit dem Leser erarbeitet und verfeinert.

3. Datenbank
Das zentrale Element der Datensammlung bildet die Datenbank. In dieser werden alle zusammengetragenen Informationen der Sicherheitsüberprüfung zwischengespeichert. Dieses Kapitel widmet sich sodann dem Design der Datenbank. Dabei werden die einzelnen Tabellen und Felder sowie die Verknüpfungen miteinander besprochen.

4. Scan-Module
Für das Zusammentragen der Daten der Zielsysteme zeichnen sich die Scan-Module verantwortlich. Diese werden den jeweiligen Aufgaben entsprechend unterteilt in Mapping, Portscanning, Application Mapping, Application Fingerprinting und OS-Fingerprinting. Mit den durch diese Module zusammengetragenen Informationen wird die Grundlage für die Identifikation von Schwachstellen und Sicherheitslücken geschaffen.

5. Plugins
Das effektive Identifizieren von Sicherheitslücken findet durch Plugins statt. Hierbei handelt es sich um kleine Module, die für das Ausmachen eines spezifischen Problems entwickelt werden. In diesem Kapitel wird sodann die Plugin-Architektur sowie die Attack Scripting Language 2.0 (ASL) sowie die Attack Markup Language 2.0 (AML) zur Entwicklung der einzelnen Tests vorgestellt.

6. Exploiting
Zusätzlich soll der entwickelte Vulnerability Scanner die Möglichkeit der Einbindung von Exploiting-Module bieten. Durch diese sollen Sicherheitslücken ausgenutzt, ihre wahre Existenz bewiesen sowieo die Tragweite ausgemacht werden. Ebenso wird hierbei die Umsetzung von Fuzzy-Modulen für einzelne Dienste, durch diese sollen komplett neue Schwachstellen ausgemacht werden können, diskutiert.

7. Konfiguration
Die Datensammlung und -analyse kann durch den Benutzer mittels einer dynamischen Konfiguration beeinflusst werden. So sollen sich einzelne Prüfungen deaktivieren und bezüglich ihres Verhaltens verändern lassen.

8. Reporting
Das letzte Kapitel widmet sich dem Reporting-Modul, welches für die Zusammenstellung und Generierung der Report-Dokumente verantwortlich ist. Hierbei werden Filter-Möglichkeiten, statistische Auswertungen und verschiedene Export-Formate behandelt.