Was ist ein Penetrationstest? Definition und Abgrenzung – ein Überblick
Ein Penetrationstest ist ein gezielter, erlaubter Versuch, in IT-Systeme einzudringen, um die IT-Sicherheit zu verbessern.
Inhalt
Das Ziel ist, Sicherheitslücken aufzudecken und dem Unternehmen Lösungsmöglichkeiten für eine erstklassige IT-Sicherheit aufzuzeigen.
Pentest ist eine Abkürzung für IT-Penetrationstest; „Penetration Testing“ ein Synonym bzw. der englische Begriff. Folgende Begriffe haben eine ähnliche Bedeutung: IT-Sicherheitsaudit, IT-Audit, Sicherheitstest, Sicherheitscheck, Ethical-Hacking.
Je nachdem, was getestet werden soll, unterscheidet man zwischen einem Infrastruktur-Penetrationstest und einem Webanwendungs-Penetrationstest.
Je nachdem, wie getestet werden soll, unterscheidet man zwischen Black-Box-Penetrationstest, White-Box-Penetrationstest und Grey-Box-Penetrationstest.
Und zuletzt, je nachdem, wo (von wo) ein IT-Penetrationstest stattfinden soll, kommen unterschiedliche Arten zum Zuge: externer Penetration Test und interner Penetration Test (ev. auch Red-Teaming).
Pentests ja, aber warum?
IT-Sicherheit ist ein Zustand, in dem Informationen und IT-Systeme hinsichtlich Vertraulichkeit, Verfügbarkeit und Integrität geschützt sind. Die IT-Sicherheit hängt von vielen Dingen ab, von denen die meisten leider nicht mit bloßem Auge erkennbar sind. Ist ein Haus mit einem gutem Schloss gesichert, lässt sich das schon mit einem Blick erkennen. Bei IT-Systemen ist dies nicht so einfach möglich. Bei einem Pentest agiert der Tester auf der Ebene von IT-Einbrechern (Hackern) und testet die Systeme.
Ohne Erlaubnis des Eigentümers ist ein IT-Penetrationstest ein illegales Unterfangen. Dafür sind, je nach Land, mehrjährige Gefängnisstrafen vorgesehen.
Diese Sicherheitstests sind eine sehr wirksame Maßnahme, um den Grad der Sicherheit festzustellen. Deshalb werden Sie auch von vielen unterschiedlichen Organisationen empfohlen, u.a.:
- PCI Security Standard Council (PCI), USA
- Bundesamt für Sicherheit in der Informationstechnik (BSI), BRD
- National Institut of Standards and Technology (NIST), USA
- SANS Institute, USA
Arten von IT-Penetrationstests
Was wird getestet?
IT-Infrastruktur-Penetrationstest
Das Testen von z.B. Server-Systemen, Firewalls, WLAN-Netzen, VPN-Zugängen oder Firewall auf Sicherheitslücken gehört in diese Kategorie.
Dabei handelt es sich um die ersten Pentests, die in der Geschichte der IT-Security angeboten wurden. Damals wurden oft von ehemaligen Hackern Tests an der IT-Infrastruktur durchgeführt. Einen IT-Penetrationstest von (ehemaligen) Hackern durchführen zu lassen, ist jedoch keine gute Idee. Wenn der ehemalige Hacker doch rückfällig wird, ist der Schaden groß. Das Risiko ist einfach zu hoch.
Heute noch sind Infrastruktur-Penetrationstests ein wichtiger Faktor, um die IT-Sicherheit bei vielen Systemen sicherzustellen.
Webanwendungs-Penetrationstest
Webanwendungen sind interaktive Anwendungen, die über das Web zugänglich sind. Meist kann mittels eines Browsers mit der Anwendung gearbeitet werden. Ein Beispiel für eine klassische Webanwendung ist ein Webshop. Weitere Webanwendungen finden sich in Portalen für Kundenverwaltung, Fotobuchsoftware im Web, Systemen zum Monitoren von Servern und Diensten uvm. Kennzeichnend für eine Webanwendung ist, dass Benutzer mit dem System plattformübergreifend interagieren können.
Unterschiede bestehen auch darin, ob jeder (eher beim Webshop) oder nur ein eingeschränkter Benutzerkreis (Akquise-Tool) darauf zugreifen darf. Je breiter der Zugriff, desto höher die Anforderungen an die IT-Sicherheit.
Ein weitere Spezialisierung sind Penetratio Tests von Webservices (Netzwerkdiensten). Webservices werden zum Austausch von Nachrichten in XML verwendet und sind nicht mit den klassischen „Netzwerkdiensten“, wie z.B. DHCP, DNS, Radius zu verwechseln. Webservices werden durch die „Web Services Description Language“ (WSDL) beschrieben und durch das Simple Object Access Protocol (SOAP) gesteuert. In der WSDL-Datei liegt die Definition, was der Webservice bietet und wie er zu verwenden ist.
Generell ist unterstützende Software, die dem Penetrations-Tester unter die Arme greift, notwendig. Prinzipbedingt ist es aber bei Webanwendungen nicht möglich, bestimmte Fehlerklassen allein über Software prüfen zu lassen. Manuelle Testverfahren sind unabdingbar bei:
- Fehlern in der Zutrittskontrolle
- Logischen Fehlern im Ablauf
- Angriffen, die verschiedene Eingabe-Parameter verändern
- Schwächen im Design der Web-Software
- Session-Injection-Angriffen, denn Testsoftware versteht die Bedeutung nicht
- Informationslecks
Wie wird getestet?
Black-Box-Penetrationstest
Hier weiß der Tester nicht, welche Systeme ihn erwarten. Er hat keine Kenntnisse über die IT-Infrastruktur. Der Pentester muss genauso wie Hacker vorgehen und sich selbst ein Bild über die Infrastruktur schaffen. Dies ist genau das Gegenteil zum White-Box-Penetrationstest.
White-Box-Penetrationstest
Hier weiß der Pentester alles über die IT-Infrastruktur: Welche Server, Betriebssysteme, Dienste und Anwendungen laufen, welche Ports offen sind/sein sollten. Da der Tester alle Informationen hat, ist die Effektivität viel höher als bei einem Black-Box-Penetrationstest. Es kann genau auf die bekannten Systeme hin getestet werden. Der Soll-Ist-Vergleich der IT-Sicherheit tritt hier am klarsten zu Tage.
Grey-Box-Penetrationstest
Hier weiß der Penetrationstester bereits etwas über die IT-Infrastruktur. Auch wird oft der Zweck der IT-Systeme schon beim Kundengespräch kurz angerissen. Es handelt sich um das häufigste Vorgehen, da oft zu testende IP-Bereiche festgelegt und möglicherweise bestimmte Systeme aus dem Test ausgeklammert werden.
Die Praxis zeigt, dass Kunden, die das erste Mal einen Sicherheitsaudit beauftragen, eher einen Black-Box-Penetrationstest bevorzugen. Kunden, die einen jährlichen Penetrationstest beauftragen, tendieren meist zu einem White-Box-Penetrationstest.
Wo (von wo) wird getestet?
Externer Pentest
Diese Vorgehensweise wird häufig gewählt. Unternehmen wollen wissen, wie sicher sie gegen Angriffe von außen sind.
Interner Pentest
Hat das zu testende Unternehmen eine gewisse Größe (ab etwa 50-100 Mitarbeitern), gewinnen interne Faktoren in der IT-Sicherheit an Wert. So ist das Vertrauen in die eigenen Mitarbeiter nicht mehr durch ein familiäres Umfeld gewährleistet. Die Gefahr eines internen Angriffs steigt mit der Größe des Unternehmens.
Bei einem internen IT-Penetrationstest wird ein Ziel definiert. Das kann z.B. der Test aller internen Systeme oder auch die Überprüfung der Sicherheit gegenüber internen Angreifern bei bestimmten Einbruchsszenarien sein. Schwerpunkte, wie z.B. Diebstahl der gehashten Passworte am Domaincontroller, können gesetzt werden.
Damit begibt man sich schon in die Nähe des Red-Teamings.
Red-Teaming
Üblicherweise ist das Red-Teaming etwas weiter gefasst, als ein Penetrations Test. Ein Red-Team (auch Tiger-Team) ist eine unabhängige Gruppe, die die Sicherheitsstrukturen durch Austesten verbessert. Üblicherweise werden Technologien (wie in Penetrationtests), Personen (über Social-Engineering) und auch physische Strukturen (Einbruch) getestet. Die Ausprägungen sind vielfältig.
Verwandte Begriffe zu Penetrationstest
IT-Audit
Das Audit untersucht Prozesse, ob Standards eingehalten werden.
IT-Sicherheitsaudit
Das Sicherheitsaudit umfasst Maßnahmen zur Risiko- und Schwachstellenanalyse. Bedrohungen oder Gefährdungen können sein (nach BSI Grundschutz): elementare Gefährdungen, höhere Gewalt, organisatorische Mängel, menschliche Fehlhandlungen, technisches Versagen, vorsätzliche Handlungen. Das Audit umfasst i.A. mehr Bereiche als ein Penetration Test, wobei dieser Test viel tiefer in den Bereich der technischen Sicherheit vordringt. Ein Pentest ergänzt das Audit in sinnvoller Art und Weise.
Sicherheitsaudits finden oft im Rahmen eines Qualitätsmanagements statt. Beispiele für Audits: Datenschutzaudit, Audit nach ISO 9001 oder Sicherheitsaudit nach ISO 27001.
IT-Sicherheitstest
Ähnlich wie ein Sicherheitscheck. Er kann auf der einen Seite für qualitativ hochwertige Pentests verwendet werden oder andererseits für einfach umzusetzende Maßnahmen wie Virenschutz. Die Ausprägungen sind hier sehr vielfältig.
Sicherheitscheck
Sammelsurium verschiedener Maßnahmen, z.B. Test, ob der Virenschutz aktuell und aktiv ist und ob Backup-Mechanismen funktionieren.
Ethical-Hacking
Ein Synonym zu Penetration Test, im Englischen häufiger gebräuchlich. Ethical-Hacking geht davon aus, dass ein Einbruchsversuch in IT-Systeme nur nach der Zustimmung des Eigentümers stattfindet und damit ethisch vertretbar ist.
Code-Review
Der Programm-Sourcecode wird geprüft. Dies geschieht häufig bei Webanwendungen, da die Firmware von Hardware meist nicht eingesehen werden kann (Closed Source im Gegensatz zu Open Source). Es wird auf Kriterien geachtet, wie typische Fehler, unsichere Programmierung usw. Die besten Ergebnisse liefert ein Sourcecode-Review eines menschlichen Entwicklers. Hingegen können automatisierte Tools viele Prüfungen in wenig Zeit abdecken. Dieser Review kann einen Pentest sinnvoll ergänzen.
Penetrationstests, aber wie? Eine Frage nach der Methode
Penetrationstests gehören noch zu einem relativ jungen Feld in der Informationstechnik und sind deshalb nicht genormt. Daher gibt es mehrere Versuche, die Leistungen zu standardisieren. Es existieren Richtlinien, wie solche Tests durchgeführt werden sollen.
Eine der wichtigsten wird vom ISECOM herausgegeben: das Open Source Security Testing Methodology Manual (OSSTMM). Es bietet einen guten Start zur grundsätzlichen Orientierung und wird einer stetigen Überarbeitung unterzogen. Die Guidelines für die Pentests sind daher möglichst aktuell und umfassend.
Das Deutsche Bundesministerium für Sicherheit in der Informationstechnik (BSI) hat 2003 auch eine Richtlinie für die Durchführung von Penetrationstests herausgegeben: „Durchführungskonzept für Penetrationstests“. Der Stand von 2003 ist schon etwas in die Jahre gekommen.
2016 wurde ein neuer Leitfaden unter dem Namen „Praxis-Leitfaden: IT-Sicherheits-Penetrationstest“ in der Version 1.2 veröffentlicht. In dem Leitfaden werden „IT-Sicherheits-Penetrationstest“ (IS-Penetrationstest) als bewährtes Mittel für die IT-Sicherheit beschrieben. Als Adressaten gelten Verantwortliche in Behörden, die Penetrationstests einsetzen wollen. Der Leitfaden gibt einen Überblick über IS-Penetrationstests und deren Ablauf.
Für Penetrationstests von Webanwendungen bietet das Open Web Application Security Project (OWASP) umfangreiche Materialien. Neben guten und informativen Unterlagen werden vom OWASP auch Tools entwickelt, die bei einem Pentest eingesetzt werden können.
Zum einen hilft das „OWASP Testing Project“ eine sehr gute Anleitung, welche Arten von Tests bei einem Penetrationstest von Webanwendungen durchgeführt werden sollen. Es wird beschrieben, worum es in den einzelnen Tests geht und wie getestet werden soll. Auch Abhilfen für die Sicherheitslücken werden aufgeführt.
Darüber hinaus bietet das OWASP auch für Entwickler ausgezeichnete Unterlagen an. Ein Dokument, das für Entwickler wertvoll sein dürfte, um sichere Webanwendungen zu erzeugen: „OWASP Developer Guide“.
Auch das „OWASP-Top-Ten-Project“ (OWASP-Top-10) soll noch erwähnt werden. Es bietet eine aktualisierte Liste der risikoreichsten Sicherheitslücken in Webanwendungen. Wenn bei Penetrationstests von Webanwendungen Sicherheitslücken gefunden werden, finden sich bestimmt einige davon auch in den Top-10 von OWASP. Diese Liste hat eine so weite Verbreitung gefunden, dass sogar Penetrationstests nach OWASP Top-10 angeboten werden.
Als Tool für Penetrationstester sei der Proxy ZAP (Zed Attack Proxy, früher WebScarab) angeführt. Dieser stellt für den aktiven Pentester eine gute Unterstützung dar.
Vom deutschen „Chapter“ des OWASP wurde 2009 ein Leitfaden für Penetrationstests von Webanwendungen erstellt. „Best Practice: Projektierung der Sicherheitsprüfung von Webanwendungen“ richtet sich an Betreiber von Webanwendungen, die eine Unterstützung im Prozess der Organisation und Planung des Penetrationstests erhalten wollen. Es wird auf die Arten der Tests und organisatorische Aspekte eingegangen. Inhaltlich bietet es Ähnliches wie der BSI-Leitfaden „IT-Sicherheits-Penetrationstest“.
Siehe auch:
- Penetrationstest in Österreich – Auf Herz und Nieren geprüft
- Penetrationstest – die Vorgehensweise