Das etwas sperrige Wort Penetrationstest (abgekürzt als Pentest) bezeichnet die legitimierte Überprüfung der Sicherheit eines IT-Systems aus der Perspektive eines Angreifers (umgangssprachlich oft als Hacker bezeichnet). Bei einem solchen Test werden ähnliche oder sogar die gleichen Methoden und Tools eingesetzt, die sich auch Hacker zunutze machen.
Ein Penetrationstest stellt dabei immer nur eine Momentaufnahme dar. Digitale Prozesse und die dazugehörigen Systeme befinden sich im stetigen Wandel. Einerseits werden ständig neue Sicherheitslücken gefunden, andererseits können durch Updates oder Weiterentwicklungen auch unbeabsichtigt neue Sicherheitsprobleme auftreten. Das Ergebnis eines Penetrationstests kann deshalb zu verschiedenen Zeitpunkten abweichende Ergebnisse liefern (sowohl positiver als auch negativer). Aus diesem Grund ist es wichtig zu verstehen, dass Penetrationstests nur eine von vielen notwendigen Maßnahmen sind, um die Sicherheit einer IT-Komponente zu erhöhen und niemals als einzige Maßnahme eingesetzt werden dürfen.
Ebenfalls zu beachten ist die Abgrenzung zu automatisierten Scans. Ist beispielsweise die Rede von einem Schwachstellenscan, ist damit kein Penetrationstest gemeint, sondern ein automatischer Prozess, in dem kein IT-Sicherheitsexperte involviert ist. Ein solcher Scan durchsucht ein oder mehrere Systeme auf Basis vorgegebener Parameter nach Sicherheitsproblemen und erstellt daraus einen automatischen Bericht.
Wieso ein Penetrationstest?
Ein Penetrationstest liefert zu einem bestimmten Zeitpunkt einen Überblick über den Stand der Informationssicherheit des Prüfgegenstands.
Einerseits soll überprüft werden, ob die bereits getroffenen Maßnahmen zur Sicherung der Qualität und Sicherheit ausreichend sind, andererseits sollen mögliche Schwachstellen aufgedeckt werden, die vielleicht nur aus Sicht eines Angreifers bestehen und aus einer anderen Perspektive womöglich übersehen wurden.
Der Aufbau und die Wartung von IT-Infrastrukturen ist immer ein sich wiederholender, zyklischer Prozess, der sich durch neue Technologien, Konzepte und Verfahren permanent verändert. Auch Penetrationstests sollten daher in regelmäßigen Abständen wiederkehrend durchgeführt werden.
Was kann getestet werden?
Prinzipiell kann alles getestet werden, was direkt oder indirekt mit IT-Systemen zu tun hat. In der Regel fokussieren sich solche Tests jedoch auf Anwendungen, die aufgrund ihrer Aufgabe und ihres Einsatzzweckes einer breiten Masse an Benutzern zugänglich und daher potenziell häufigen Angriffen ausgesetzt sind. Darunter fallen z. B.
- Intern oder extern erreichbare Server und Netze
- Webanwendungen
- Smartphone-Apps
- REST-/SOAP-APIs
- Drahtlose Zugänge und Verbindungen (WLAN, Bluetooth, RFID, 6LoWPAN)
Aber auch Social-Engineering wie beispielsweise die Durchführung von Phishing-Simulationen kann je nach Definition in den Bereich des Penetrationstests fallen.
Arten von Penetrationstests
Bei Penetrationstests wird zwischen Black-Box-, White-Box- und Grey-Box-Test unterschieden.
Bei einem Black-Box-Test werden vom Auftraggeber keinerlei Informationen über den Prüfgegenstand zur Verfügung gestellt. Dieses Verfahren kommt einem echten Hackerangriff am nähesten, da ein Hacker in der Regel auch „bei null anfangen“ muss. Der Nachteil ist allerdings, dass bestimmte Angriffsvektoren oder Funktionen übersehen werden können, wodurch vorhandene Sicherheitslücken im Rahmen eines solchen Tests möglicherweise nicht erkannt werden. Es ist sogar eher die Regel als die Ausnahme, dass bei einem Black-Box-Test keine hundertprozentige Testabdeckung erreicht wird und selbst wenn, werden sehr wahrscheinlich nicht alle Angriffsvektoren gefunden.
Anders ist dies beim White-Box-Test. Der Auftraggeber stellt alle vorhandenen Informationen über den Prüfgegenstand zur Verfügung. Simuliert werden soll ein Angriff eines ehemaligen Mitarbeiters oder einer anderen fachkundigen Person, die detaillierte Einblicke in den Testgegenstand hat oder hatte. Sinnvoll ist ein White-Box-Test beispielsweise bei Prüfgegenständen mit sehr hohem Schutzniveau, wo auf keinen Fall etwas übersehen werden darf. Je nach Test kann es sich bei den bereitgestellten Informationen beispielsweise um Netzpläne, IP-Adressbereiche, Benutzerkonten oder sogar Quellcode handeln. Dadurch können im Rahmen der Analyse ganz gezielte Angriffsvektoren ermittelt und anschließend überprüft werden.
Einen Mittelweg bietet der Grey-Box-Test. Dieser ähnelt einem Black-Box-Test, jedoch werden vom Auftraggeber nicht alle, sondern nur bestimmte Informationen zur Verfügung gestellt. Sinn eines solchen Tests ist einerseits, die Zeit für die Informationsbeschaffung zu reduzieren und andererseits dafür Sorge zu tragen, dass alle wichtigen Funktionen im Rahmen des Penetrationstests überprüft werden.
Wird beispielsweise eine Webseite mit einem versteckten Bereich für die Administration getestet, wird dieser bei einem Black-Box-Test vielleicht übersehen, während bei einem Grey-Box-Test gezielt darauf hingewiesen oder sogar ein Benutzerkonto zur Verfügung gestellt werden kann.
Welche Art Test letztendlich zum Einsatz kommt, liegt im Ermessen des Auftraggebers. Je mehr Informationen dem Penetrationstester zur Verfügung stehen, desto genauer und zielgerichteter kann der Pentetrationstest zwar durchgeführt werden, jedoch kann dies gleichzeitig auch die Objektivität des Testers beeinflussen. Es empfiehlt sich daher eine sorgfältige Abwägung der Vor- und Nachteile in Bezug auf den Schutzbedarf des Prüfgegenstands.
Rechtliche Rahmenbedingungen
Penetrationstests ähneln tatsächlichen Hackerangriffen stark. Es werden die gleichen Methoden und Ansätze verwendet, wie sie auch Hacker benutzen. Da Hacking grundsätzlich illegal ist, müssen für Penetrationstests rechtlich gültige Rahmenbedingungen geschaffen werden. Bereits vorbereitende Maßnahmen wie das Beschaffen von Informationen können einen Strafbestand darstellen (§ 202c StGB).
Der Testgegenstand muss deshalb exakt eingegrenzt und dazu entsprechende Einverständniserklärungen unterzeichnet werden. Erst danach kann ein Penetrationstest durchgeführt werden.
Dabei ist insbesondere bei Cloud-Lösungen und verteilten Infrastrukturen zu beachten, dass für jeden involvierten Drittanbieter eine Einverständniserklärung eingeholt werden muss. Nationale Gesetze und andere Besonderheiten oder Vorgaben des Anbieters sind ebenfalls zu beachten. Wird beispielsweise ein Cloud-Service wie Amazon Web Services (AWS) genutzt, müssen bestimmte Rahmenbedingungen eingehalten werden (siehe https://aws.amazon.com/de/security/penetration-testing/).
Ablauf eines Penetrationstests
Ein Penetrationstest besteht aus mehreren Phasen. Da es in diesem Bereich keine allgemeinen Standards gibt, können sich diese Phasen je nach Anbieter unterscheiden. Inhaltlich gibt es oft jedoch nur geringfügige Unterschiede.
Als in sich geschlossener Prozess kann ein Penetrationstest in dieser Form problemlos in bestehende Workflows oder Prozesse integriert werden und so das allgemeine Sicherheitsniveau eines Produkts in dessen Lebenszyklus nachhaltig steigern.
Vorbereitung
In der Vorbereitungsphase werden die Rahmenbedingungen und der Untersuchungsgegenstand des Penetrationstests mit dem Auftraggeber besprochen. Es muss detailliert festgehalten werden, was genau getestet werden soll und welche Methoden zum Einsatz kommen. Da nicht selten Produktivsysteme getestet werden, muss beispielsweise berücksichtigt werden, dass der Penetrationstest den regulären Betrieb nicht einschränkt. Auch ein Prüfzeitraum sollte vorab festgelegt werden.
Informationsbeschaffung
In dieser Phase beginnt die praktische Arbeit des Penetrationstests. Handelt es sich um einen White-Box-Test, werden die benötigten Informationen zum Testgegenstand vom Auftraggeber zur Verfügung gestellt. Findet ein Black-Box-Test statt, müssen die Informationen eigenständig mit geeigneten Tools oder vom Prüfer per Hand beschafft werden. In der Regel werden in dieser Phase sowohl automatisierte als auch manuelle Methoden verwendet.
Informationsbewertung
Die gesammelten Informationen werden bewertet und auf mögliche Angriffsvektoren untersucht. Diese Phase schafft die Grundlage für den weiteren praktischen Verlauf des Penetrationstests.
Praktische Tests
Diese Phase ist die Kernkomponente eines Penetrationstests. Theoretisch identifizierte Schwachstellen werden auf ihre Ausnutzbarkeit überprüft und weiterführende Tests durchgeführt. In der Regel gehen die praktischen Tests weit über die in den vorherigen Phasen identifizierten Angriffsvektoren hinaus und decken auch viele andere gängige Sicherheitsprobleme des Prüfobjekts ab.
Berichterstellung
In der letzten Phase wird ein Bericht für den Auftraggeber erstellt. Der Bericht enthält detaillierte Informationen zu den einzelnen Prüfpunkten, der eingesetzten Methodik und den gefundenen Sicherheitsproblemen. Gefundene Sicherheitsprobleme werden nach ihrer Kritikalität eingeordnet (z. B. niedrig, mittel, hoch und kritisch) und Empfehlungen zu ihrer Behebung ausgesprochen.
Nachtest (optional)
Ein Nachtest fokussiert sich nur auf die im Penetrationstest gefundenen Sicherheitsprobleme und soll evaluieren, ob die im Bericht dokumentierten Probleme ordnungsgemäß beseitigt wurden. Hierbei muss allerdings beachtet werden, dass das Beheben von Sicherheitsmängeln auch zu neuen Lücken führen kann. Bei umfangreicheren Änderungen ist deshalb immer ein neuer, vollständiger Penetrationstest empfehlenswert.
Sollten Sie weitere Fragen haben oder einen Penetrationstest beauftragen wollen, rufen Sie uns gerne unter +49 421 69 66 32 0 an.