Vulnerability Testing, Penetration Testing
Autor: Philipp Schaumann
Wenn ein Unternehmen wissen will, wie gut ihre IT-Sicherheit implementiert ist, so ist eine Penetrationstest eine oft gewählte Methode. Penetrationstests spielen einen Angriff nach und können nach verschiedenen Szenarien und Aufgabenstellungen durchgeführt werden. Dies können Angriffe von außen sein, aber auch Angriffe von innen, entweder von autorisierten Mitarbeitern oder von Gästen). (Experten schätzen, dass über 65% aller Sicherheitsverletzungen durch Insider passieren).
Zu bedenken ist auf jeden Fall, dass ein erfolgreich bestandener Penetrationstest kein Freibrief für eine sichere IT sein kann. Einmal ist es nur eine Momentaufnahme, jede Woche werden neue Verwundbarkeiten bekannt. Außerdem können viele Schwachstellen auf diese Weise nicht gefunden werden, z.B. ob Passworte im Unternehmen freizügig weitergegeben werden, ob ehemalige Mitarbeiter weiterhin Zugriff haben und ähnliches. D.h. jeder Penetrationstest muss ergänzt werden durch eine Ist-Aufnahme der übrigen Schwachstellen, vor allem der sicherheitsrelevanten Prozesse im Unternehmen.
Lösungsansatz
Folgende Szenarien können bei einem Penetrationstest durchgespielt werden:
- Externer Angriff vom Internet, ohne Authentisierung und Vorwissen
- Externer Angriff vom Internet, gezielter Angriff gegen Webdienste und Webserver
- Interner Angriff, als Mitarbeiter mit Standard-Rechten (Versuch der Erlangung stärkerer Rechte)
- Interner Angriff, mit Standard-Rechten, Zugriff zum Netzwerk auf der Basis des Standard-Desktops
- Interner Angriff, ohne Authentisierung, aber mit eigenem Rechner (Szenarium ist "als Gast im Netz oder in Besucherräumen")
- Interner Angriff, mit und ohne Authentisierung, Angriff gegen interne Anwendungen, Erlangung von höheren Rechten
- War driving, externer Angriff gegen WLAN
- War dialing, externer Angriff gegen Modems
- Angriff gegen Bluetooth-Geräte
Jeder Penetration Test beginnt mit den öffentlich verfügbaren Informationen. Dies ist nicht nur die Firmen Web-Site, sondern z.B. auch die Registrierung der IP-Netze bei der Domainname-Registrierungsstelle.
nmap
Der nächste Schritt ist das systematische Durchsuchen des Zielnetzes, entweder von außen oder auch von innen. Dabei wird das Tool nmap eingesetzt. Nmap ("Network Mapper") ist ein Tool für “network exploration” oder “security auditing”. Es wurde entwickelt, um auch große Netze schnell und effektiv durchsuchen zu können. Nmap nutzt “raw IP packets” auf kreative Weise um herauszufinden, welche Systeme in einem Netz zu finden sind, welche Ports dort jeweils offen sind, welche Betriebssysteme eingesetzt werden, welche “packet filters“ oder Firewalls genutzt werden und viele andere Charakteristiken.
An diesen nmap-Einsatz schließt sich ein systematischer Test der ausgewählten Ziele an. Die Auswahl der Ziele bestimmt sich aus dem vorher mit Ihnen vereinbarten Rahmen für den Test. Dies können Einzelsysteme, das gesamte Netz oder Teile des Netzes sein. Sie können auch ganz gezielt empfindliche Systeme, die durch das Testen beeinträchtigt werden können, für Teilaspekte der Tests ausschließen. Dabei werden nicht nur die Rechner selbst, sondern auch Infrastrukturelemente wie Firewalls, Router, Switches, Datenbanken, etc. getestet. Bei Datenbanken und natürlich auch bei anderen Systemen können über einen simulierten Dictionary-Attack schwache Passworte gefunden werden.
Durch die Benutzung von automatisierten Angriffswerkzeugen wie z.B. Nessus kann sichergestellt werden, dass zumindest für den jeweiligen Testzeitpunkt eine vollständige Erfassung aller Verwundbarkeiten und Eindringmöglichkeiten evaluiert wird.
Nessus
Copyright der Graphiken Lanifex, www.lanifex.com |
Nessus ist ein öffentlich und kostenlos verfügbarer Remote Security Scanner. Ein Remote Security Scanner ist eine Software, die es erlaubt, in einem vorgegebenen Netzwerk ein automatisiertes Sicherheitsaudit durchzuführen und die dabei feststellt, ob es Hackern gelingen würde, in die betroffenen Systeme einzudringen.
Eine der wichtigen Features von Nessus ist, dass es nicht davon ausgeht, dass bestimmte Services auf fest vorbestimmten Ports aktiviert sein müssen. D.h. Nessus wird einen Webservice auch dann überprüfen, wenn er nicht auf Port 80, sondern auf irgendeinem anderen Port aktiv ist. Diese Services werden auch dann erkannt, wenn mehrere gleiche Services auf einem Rechner aktiv sind.
Nessus wird von einer weltweiten Community von unabhängigen Entwicklern gewartet und betreut. Die Datenbank der Verwundbarkeiten der Systeme wird täglich aktualisiert. Die dabei eingesetzten Sicherheitstests (Angriffe) werden in einer speziellen Sprache, der NASL (Nessus Attack Scripting Language), geschrieben.
Dabei werden die Systeme auch auf Standard-Benutzernamen, schwache Passworte und ähnliche Verwundbarkeiten überprüft.
Nessus kann auf zwei Arten betrieben werden: im non-destructive mode ("safe checks") werden keine Tests ausgeführt, die zu einem Absturz eines Systems führen könnten. In diesem Fall wird lediglich über die Kennungen der Systeme und Applikationen überprüft, ob bestimmte Schwachstellen vorliegen könnten, ohne dass diese explizit verifiziert werden. Nessus erstellt detaillierte Reports, die nicht nur auflisten, welche Schwachstellen im Netzwerk gefunden wurden, sondern auch was getan werden muss, um diese Schwachstellen zu schließen. Jede der Schwachstellen wird nach einem einheitlichen Schema in ihrer Schwere bewertet. Diese Reports sollen sich in vielerlei Formate exportieren.
Philipp Schaumann, http://sicherheitskultur.at/
Copyright-Hinweis:
Das Copyright des Materials auf diesen Webseiten liegt, falls kein anderer Autor genannt wird, bei Philipp Schaumann.
Diese Texte sind lizensiert unter der Create Commons Attribution-Noncommercial-Share Alike 2.0 Austria Lizenz. Natürlich gelten auch die Regeln des Fair Use und über Ausnahmen bzgl. der Lizenz kann jederzeit mit den Autoren gesprochen werden.