Penetration Tests

Penetration Tests / Ethical Hacking

Was ist ein Penetrationstest?

Ein Penetrationstest, kurz auch Pentest genannt, ist die Prüfung der Sicherheit von Systemen und Anwendungen eines Netzwerks- oder Softwaresystems mit Mitteln und Methoden, die ein Angreifer („Hacker“) anwenden würde, um in das System einzudringen.

Ein Pentest hilft Ihnen, Schwachstellen in Ihrer Infrastruktur zu erkennen und somit in einem weiteren Schritt zu schliessen. Bestehende Sicherheitssysteme werden auf ihre Vollständigkeit und Funktionsfähigkeit hin überprüft.

Netzwerk Penetration Test

Bei einem Netzwerk Penetration Test wird dem Penetration Tester als Angriffsziel ein Netzwerk zugewiesen. Normalerweise handelt es sich dabei um eine Reihe von IP-Adressen. Der Penetration Tester identifiziert möglichst akkurat alle Dienste im Netzwerk und identifiziert Schwachstellen in diesen Diensten. Dabei kommen auch öffentlich verfügbare Informationsquellen zum Einsatz. Schwachstellen treten zum Beispiel auf bei schwachen Konfigurationen, voreingestellten Benutzeraccounts oder Fehlern in den Dienst-Programmen selber. In der Regel wird bei einem Netzwerk Penetration Test Augenmerk auf eine gewisse Breite gelegt. So wird im Zweifelsfall die verfügbare Testzeit nicht in die Ausnutzung einer einzelnen Schwachstelle investiert, sondern in ein Gesamtbild über die exponierten Dienste.

Applikations Penetration Test

Ein Applikations Penetration Test testet die Sicherheit einer ganz bestimmten Applikation. Dabei kann es sich um Web Applikationen (siehe auch Web Application Penetration Test) oder Web Services (siehe auch Web Service Penetration Test) handeln, oder aber auch um andere Client- und Serversoftware. Infrage für einen Penetration Test kommt eine Vielzahl von verschiedenen Protokollen oder Anwendungsfällen. Neben den klassischen internet-orientierten Applikationen kann auch fast jede Offline-Applikation einem Penetration Test unterzogen werden. Zum Beispiel kann bei Offline-Applikationen untersucht werden, ob diese ein Risiko für das Host-Betriebssystem darstellen oder wie gut die Applikation ihre sensitiven Daten schützt.

Web Applikations Penetration Test

Web Applikationen gehören zu den beliebtesten Einfallstoren für externe Angreifer. Dies mag wenig erstaunen, da ein Grossteil der kundenspezifischen Applikationen auf Web-Technologien bauen. Gerade bei den kundenspezifischen Applikationen spielt aus wirtschaftlichen Gründen die Sicherheit in der Entwicklung oft eine untergeordnete Rolle. Mit entsprechender Regelmässigkeit schleichen sich so teilweise frappante Sicherheitslücken in die Netzwerke von Kunden. Durch die Standardisierung von vielen Web-Technologien können Web Applikationen mit verhältnismässig geringem Aufwand einem Penetration Test unterzogen werden. Es existieren verschiedene Tools, um solche Prüfungen teilweise zu automatisieren. Diese Tools sind wertvolle Hilfsmittel, stellen aber keinen Ersatz für einen manuellen Penetration Test dar. Gewisse Typen von Schwachstellen können toolbasiert kaum detektiert werden. Ausserdem benötigen leistungsfähige Tools eine sorgfältige und pro Applikation individuelle Parametrierung und können erst im Verbund mit weiteren Tests zu einem sinnvollen Gesamtbild beitragen.

Web Service Penetration Test

Ein Web Service Penetration Test gleicht streckenweise einem Web Applikations Penetration Test. Spezifische Tests besitzen jedoch aufgrund der Unterschiede in Technologie und Anwendungsfällen eine andere Gewichtung.

white box / grey box / black box Penetration Test

Bei Penetration Tests wird unterschieden zwischen sogenannten white-box und black-box Penetration Tests. Bei einem black-box Penetration Test erhält der Penetration Tester vorgängig nur minimale Informationen zum Ziel. Er muss alle weiteren benötigten Informationen zum Ziel selber zusammentragen. Ein black-box Penetration Test simuliert einen Hackerangriff durch einen Angreifer ohne vorgängige Detailkenntnisse über die angegriffenen Systeme. Im Gegensatz dazu werden bei einem white-box Penetration Test dem simulierten Angreifer möglichst viele Informationen zu den Zielsystemen zur Verfügung gestellt. Zu diesen Informationen können zum Beispiel verwendete Technologien und Architekturen, gültige Benutzeraccounts und Quellcode gehören.

Irgendwo zwischen diesen Polen würde man einen grey-box Penetration Test ansiedeln. Dabei würde der Penetration Tester mit zusätzlichen Informationen unterstützt, ohne jedoch weitgehende Transparenz zu den angegriffenen Systemen herzustellen.

Grundsätzlich sind Penetration Tests nach dem white-box Prinzip zu bevorzugen. White-box Penetration Tests sind deutlich effizienter und effektiver als black-box Penetration Tests, weil der ethical Hacker bei einem whitebox Penetration Test weniger Zeit mit der Informationsgewinnung verbringen muss. Es sollte immer davon ausgegangen werden, dass ein Angreifer mit genügend Mitteln in der Lage ist, sich ein umfassendes Bild auch einer verschleierten Applikation zu machen. Eine Applikation sollte ihre Sicherheitsanforderungen auch dann noch erfüllen, wenn einem Angreifer sämtliche Informationen über die Applikation, abgesehen von geheimem Schlüsselmaterial, vorliegen. Ein white-box Penetration Test startet an dem Punkt, wo ein fortgeschrittener oder interner Angreifer früher oder später hinkommen wird. Besonders effizient ist die Kombination von klassischem Penetration Test und Quellcode-Audit, da alle Prüfpunkte so mit der jeweils effizienteren Methode durchgeführt werden können.

Ethical Hacking

Unter einem ethical Hacker (white hat Hacker) versteht man einen Hacker, der erlangte Zugänge und Daten nicht missbraucht und im legalen Rahmen operiert.

Ethical Hacker werden meist von Kunden beauftragt, deren Systeme auf Resilienz gegen bösartige Hackerangriffe zu testen.

Externer und interner Penetration Test

Unter einem externen Penetration Test versteht man gemeinhin einen Penetration Test aus dem Internet. Bei einem externen Penetration Test werden demnach in der Regel Angriffe getestet, wie sie jederzeit auch von Drittpersonen ausgeführt werden können.

Dem gegenüber steht ein interner Penetration Test, wo dem simulierten Angreifer bereits Zugriff auf interne Netzwerke gegeben wird. Ein interner Penetration Test kann zum Beispiel einen internen Angreifer wie einen frustrierten Mitarbeiter simulieren und herausfinden, wie schwierig es für solche Angreifer ist, sensitive Daten auszuleiten oder Systeme zu kompromittieren. Ein anderer Anwendungsfall für interne Penetration Tests sind Sicherheitsaudits von demilitarisierten Zonen (DMZ). In solchen Zonen stehen normalerweise die internetexponierten Dienste von Unternehmen. DMZ Dienste sind aufgrund ihrer direkten Internetverbindung naturgemäss einer erhöhten Gefährdung ausgesetzt. Ein interner Penetration Test in der DMZ hilft, die weiteren Möglichkeiten eines Angreifers abzuschätzen, sollte dieser bereits einen internetexponierten Dienst erfolgreich penetriert haben.