Im Rahmen unserer Securitywoche erklären wir Ihnen heute was genau ein Pentest ist, welche Möglichkeiten der Herangehensweisen es gibt und wieso Sie für Ihr Unternehmen über eine Notwendigkeit zumindest nachdenken sollten.
Beim Penetrationstest, kurz Pentest, werden Schwachstellen und Sicherheitslücken gezielt geprüft und ausgenutzt. Hierbei gibt es verschiedene Möglichkeiten der Herangehensweisen, von Portscans bis hin zu Code Reviews und Social Engineering. Dabei werden Angriffe von außen simuliert, Berechtigungen und Freigaben überprüft und bekannte Probleme ausgenutzt, um die Sicherheit Ihrer Daten zu überprüfen.
Vor jedem geplanten Penetrationstest werden die Rahmenbedingungen abgeklärt. Hierzu gehören der Testrahmen, Testzeitraum und die eingesetzten Mittel sowie die zu testenden Systeme.
Die aufgedeckten Schwachstellen und Sicherheitslücken werden dabei nach Schweregrad bewertet, sodass eine Abwägung der resultierenden Schritte priorisiert durchgeführt wird.
Bei externen Angriffen wird überprüft, ob es möglich ist vom Internet aus auf Systeme zuzugreifen, um beispielsweise Schadcodes auszuführen oder Daten zu stehlen oder zu verschlüsseln.
Hierbei werden Portscans durchgeführt. Diese werden im Idealfall durch eine Firewall blockiert. Offene Ports werden überprüft auf Betriebssystem, Versionsdetails, fehlende Sicherheitspatches und bekannte Schwachstellen.
Bei internen Angriffen gibt es drei Varianten.
Es kann ein blinder Angriff simuliert werden, bei dem der Tester keine Netzwerkbereiche vorgegeben bekommt, keine Anmeldedaten und kein Wissen über den Kunden hat. Er greift somit blind an und versucht so viel „Schaden“ anzurichten wie nur möglich. Es wird dem Tester lediglich ein Gerät im Netzwerk zur Verfügung gestellt.
Die gegenteilige Methode wäre die, dass der Tester vorab die Informationen erhält, die er für die Angriffe braucht. Er bekommt die Netzwerkbereiche, die Systeme und in Ausnahmen einige Kennwörter bereitgestellt. Dabei wird getestet, wie sicher die Systeme sind, die er bei einem blinden Angriff nicht gefunden hätte.
Dabei kann es auch zu einer Vermischung beider Vorgänge kommen, bei dem nur bestimme Systeme oder Netzwerkbereiche getestet werden dürfen, jedoch keine Systeme und Anmeldedaten bereitgestellt werden.
Mitarbeiter sind ebenfalls ein beliebtes Angriffsziel. Beim Social Engineering wird beispielsweise die Unwissenheit oder Unachtsamkeit der Mitarbeiter ausgenutzt. Ein Anruf, bei dem sich der Tester als IT-Dienstleister ausgibt und versucht über bekannte Fernwartungssoftware auf das System des Opfers zuzugreifen oder sich der Tester in gelber Weste und Leiter unter dem Arm in das Gebäude selbst begibt und physisch versucht sich Zugriff auf Systeme zu ermöglichen, sind hierbei gängige Methoden. Dabei werden unter anderem präparierte USB-Sticks verwendet, um Schadsoftware oder Befehle auszuführen, um Zugriff zu erhalten oder nicht gesperrte und gesicherte Geräte in Abwesenheit des Opfers manipulieren zu können.
Gegen Social Engineering hilft ein offener Umgang mit dem Thema und Mitarbeiterschulungen.
Hierbei wird der Code von Programmen auf Lücken überprüft, die zu Sicherheitsproblemen führen könnten. Bekannte Beispiele sind hier Code-Injections, bei denen manipulierte Codes an ein Ziel gesendet werden, sodass ein Fehler provoziert wird und eine falsche Ausführung eines Befehls erzwungen wird. Hierbei ist es Angreifern unter anderem möglich, Accounts zu erstellen und administrative Rechte zu erlangen.
Für die Bewertung der Schwachstellen wurde vom National Infrastructure Advisory Councils (NIAC) in Zusammenarbeit mit dem Forum of Incident Response and Security Teams (FIRST) das CVSS als Standard der Bewertung der Schwere einer Sicherheitslücke oder Verwundbarkeit erstellt. Hier stellt die 0 als Wertung die Abwesenheit von Sicherheitslücken da und die Wertung 9,0 – 10.0 kritische Sicherheitslücken. Dadurch kann bei der Eliminierung der Sicherheitslücken strategisch und geplant vorgegangen werden.