Was ist ein Penetrationstest?

Was ist ein Penetrationstest (Pentest)?

Penetrationstests (oder kurz Pentests) sind eine Cybersicherheitsmaßnahme, bei der autorisierte Personen oder Unternehmen Cyberangriffe auf Computersysteme, Netzwerke und Anwendungen simulieren, um Schwachstellen zu identifizieren, die von böswilligen Hackern ausgenutzt werden könnten. Das Ziel solcher Pentests ist es, Schwachstellen in den Sicherheitsmaßnahmen eines Systems aufzudecken, bevor echte Angreifer sie ausnutzen können.

Penetrationstests, auch bekannt als „Pentests“, sind ein umfassender Prozess, der versteckte Schwachstellen in den Kontroll- und Sicherheitsmaßnahmen eines Systems aufdecken soll. Pentests werden in der Regel von einem autorisierten Dritten durchgeführt. Dabei werden unterschiedlichste Angriffe auf alle Elemente eines Systems simuliert, um auf diese Weise Schwachstellen zu entdecken, die von den Entwicklern des Systems und den Sicherheitsteams bislang übersehen wurden.

Wer führt Penetrationstests durch?

Pentests werden fast immer von Personen durchgeführt, die nicht an der Entwicklung des Zielsystems beteiligt waren. In der Regel arbeiten der oder die Tester nicht einmal für das Unternehmen, welches das System entwickelt hat. Dafür gibt es mehrere Gründe. Zum einen fehlt Mitgliedern der Entwicklungs-, QA- und Sicherheitsteams oft ein gewisser Abstand zu dem System, das sie entwickelt haben. Dadurch übersehen sie möglicherweise Sicherheitslücken, welche Außenstehenden, die unvoreingenommen auf das System blicken, schneller ins Auge fallen.

Darüber hinaus erfordern Pentests ganz besondere Kompetenzen und häufig auch speziell entwickelte Tools. Man muss in der Lage sein, wie ein Hacker zu denken – und tatsächlich sind einige Pentester ehemalige Black-Hat- oder kriminelle Hacker, die ihre Fähigkeiten jetzt für legitime Zwecke einsetzen. Wie ein altes englisches Sprichwort besagt: Man braucht einen Dieb, um einen Dieb zu fangen. Pentester können außerdem auch über spezielle Schulungen und Zertifizierungen verfügen – Qualifikationen, die den Mitarbeitern des Unternehmens, welches das System entwickelt hat, oft fehlen.

Pentester werden manchmal als „ethische Hacker“ bezeichnet, aber die beiden Rollen unterscheiden sich. Pentester hacken das Ziel im Grunde auf ethische Weise mit einem simulierten Angriff. Sie haben die Berechtigung, Sicherheitslücken „anzugreifen“ und aufzudecken, weil sie versichern, diese nicht ausnutzen zu wollen.

Der Unterschied ist teilweise strukturell bedingt. Pentests folgen in der Regel einem vordefinierten Prozess und haben einen disziplinierten Ansatz zur Identifizierung und Dokumentation von Sicherheitsproblemen. Ethisches Hacking hingegen ist tendenziell offener und freier. Ein ethischer Hacker könnte beispielsweise an einem Bug-Bounty-Programm teilnehmen und dafür belohnt werden, eine zuvor unbekannte Schwachstelle entdeckt zu haben. Dies ist jedoch nicht dasselbe wie ein gründlicher Pentest, bei dem die Befunde der Durchführung sorgfältig dokumentiert werden.

Phasen eines Pentests

Ein methodischer Pentest hat in der Regel fünf Phasen:

  1. Erkundung. Dieser Schritt dient der Informationserfassung und wird vom Tester vor Beginn des eigentlichen Penetrationstests durchgeführt. Dabei erkunden die Tester die Parameter des Zielsystems und erstellen einen Angriffsplan.
  2. Scannen. Die Tester scannen das Ziel, um zu ermitteln, wie die Systeme zur Informationssicherheit auf Versuche, die Kontrollen und Gegenmaßnahmen zu umgehen, reagieren werden. Diese Scans werden fast immer mithilfe automatisierter Pentest-Tools durchgeführt und dienen dazu, offene Ports, Server mit noch aktiven standardisierten Adminkonten, anfällige Fehlkonfigurationen und andere verborgene Wege in das Zielsystem zu finden.
  3. Zugriff. In diesem Schritt versuchen sich die Pentester auf Basis der Informationen, die während der Scan-Phase aufgedeckt wurden, Zugang zum Zielsystem zu verschaffen. Dabei können unter anderem Techniken wie SQL-Injection (SQLi) zum Einsatz kommen, um administrative Nutzeranmeldedaten aus einer (theoretisch sicheren) Datenbank abzurufen. Sobald es gelungen ist, in das System einzudringen, ermitteln die Pentester, wie viel Schaden ein Angreifer auf dieser Zugriffsebene anrichten könnte. Wenn sich die Tester beispielsweise vom ursprünglichen Ziel aus lateral durch die Netzwerkinfrastruktur bewegen und sich Zugriff auf eine Produktionsanwendung oder vertrauliche Daten verschaffen kann, so melden sie, dass ein Angreifer auch in diese Systeme eindringen könnte.
  4. Zugriff aufrechterhalten. Wenn die Pentester einen guten Job gemacht haben, können sie den Zugriff auf das Zielsystem aufrechterhalten. Dies simuliert die nur allzu häufige in der Realität auftretende Situation, in der Cyberkriminelle monatelang im Netzwerk des Opfers verweilen. Durch Aufrechterhaltung des Zugriffs können die Tester außerdem auch Advanced Persistent Threats (APTs) simulieren.
  5. Analyse und Verschleierung. Die Pentester schließen den Test ab, indem sie alle Spuren ihrer Anwesenheit aus dem Zielsystem tilgen. Auch hier handelt es sich um eine Simulation eines echten Cyberangriffs, bei dem die Erkennung von ausführbaren Dateien oder Protokollereignissen verhindert wird. Anschließend erstellen die Tester einen detaillierten Bericht, in dem die verwendeten Methoden, die aufgedeckten Sicherheitslücken und die möglichen Folgen eines Angriffs sowie weitere wichtige Informationen für das Sicherheitsteam dokumentiert werden.

Arten von Pentests

Die Ausrichtung des Pentest-Programms auf alle relevanten Systemtypen eines Unternehmens ist eine kluge Risikomanagement-Maßnahme. Jedes verbundene Gerät, jede Anwendung und jede Datenquelle kann Teil einer Angriffsfläche werden, daher ist es sinnvoll, sie alle mithilfe von Pentests auf Schwachstellen zu überprüfen, die ausgenutzt werden könnten. Im Allgemeinen ist es beispielsweise nicht sinnvoll, eine Webanwendung einem Pentest zu unterziehen, aber die dazugehörige Mobil-App auszusparen. Beide könnten von Cyberkriminellen als Einfallstor für einen Cyberangriff benutzt werden, von Phishing bis Social Engineering.

Pentests lassen sich grob in sechs Kategorien einteilen:

Anwendungen. Die Pentester verwenden automatisierte Tools und manuelle Tests, um Schwachstellen in Anwendungen und verbundenen Datenbanken zu finden. Dabei können sowohl die Binärdateien der Anwendung selbst sowie Autorisierungsprozesse, Verschlüsselung, das Potenzial für SQLi und vergleichbare Angriffsmethoden untersucht werden.

Netzwerke. Als (zumindest theoretischer) Sicherheitsperimeters des Unternehmens muss das Netzwerk besonders strengen Penetrationstests unterzogen werden. Der Prozess umfasst in der Regel eine systematische Untersuchung der administrativen Zugriffskontrollen, der Secure Socket Layer (SSL) sowie verschlüsselter Transportprotokolle, Zertifikate, Netzwerksegmentierung und mehr.

Cloud. In der Cloud nehmen die Pentester Systemkonfigurationen, APIs (Application Programming Interfaces) und Speicher unter die Lupe. Darüber hinaus suchen sie auch nach möglichen Cloudinstanzen, die abweichend von den Standardrichtlinien eingerichtet wurden. So etwas kommt häufiger vor, als man denkt. Zum Beispiel könnte ein wohlmeinender, aber schlecht informierter Entwickler eine Anwendung inklusive Datenbank auf einer Cloudplattform bereitstellen, ohne die nötigen Sicherheitskontrollen anzuwenden oder auch nur jemanden darüber zu informieren, dass diese Cloudinstanz existiert.

Softwareentwicklungsprozesse. Im Rahmen des DevOps-Workflow und der CI/CD-Pipeline (Continuous Integration/Continuous Deployment) kann es vorkommen, dass versehentlich Bugs und Programmierfehler in die Software gelangen, welche die Anwendung anfällig für Angriffe machen können. Indem sie DevOps und die CI/CD-Pipeline automatisierten Tests unterziehen, können die Tester versteckte Schwachstellen finden, die durch das statische Scannen des Codes nicht erkannt werden können. Darüber hinaus versuchen die Tester auch, in den Entwickler-Workflow einzudringen, um möglicherweise schädlichen Code in die Codebasis einzuschleusen. Ein ganz ähnliches Vorgehen bietet sich auch in Bezug auf Container, beispielsweise Docker, an.

Geräte. Hardware kann ebenso anfällig für einen Angriff sein wie ein Netzwerk oder eine Anwendung. Die Pentester versuchen, anhand von Schwachstellen in den Anwendungs-Binärdateien, Firmware und Betriebssystemsoftware in das Gerät einzudringen. Am häufigsten finden Pentester solche Schwachstellen bei Geräten, auf denen keine Sicherheitspatches installiert wurden.

APIs. Pentester kombinieren manuelle und automatisierte API-Testprozesse, um zu ermitteln, ob eine API eine der zehn wichtigsten Schwachstellen aufweist, die das Open Worldwide Application Security Project (OWASP) gesammelt hat, darunter etwa fehlerhafte Autorisierung auf Objektebene (Broken Object Level Authorization, BOLA). Zugleich wird auch analysiert, ob bei einer API eine fehlende Ratenbeschränkung oder Probleme mit der Nutzerauthentifizierung auftreten.

Vorteile von Pentests

Pentests bieten eine Vielzahl von Vorteilen gegenüber anderen Arten von Sicherheitstests. Dies bedeutet nicht, dass Komponententests, Funktionstests und weitere Prüfungen weniger wichtig oder notwendig wären. Pentests ermöglichen es jedoch, Sicherheitslücken zu finden, die andere Prozesse überhaupt nicht aufdecken können.

Darüber hinaus kann durch Pentests die gesamte Angriffskette aufgedeckt werden. Sie zeigen, wie der Angreifer die Schwachstelle entdeckt und ausgenutzt hat und wie er sich Zugriff verschaffen und diesen beibehalten konnte. Auf diese Weise können Sicherheitsteams mit Penetrationstests systemische Probleme beheben, die sonst unsichtbar bleiben würden. Ein effektiver Pentest zeigt auch, wie wirksam eine Kontrolle oder Gegenmaßnahme wirklich ist. Umso wichtiger ist dies im Hinblick auf die Einhaltung von Vorschriften wie PCI DSS und DSGVO.

Unterschiedliche Ansätze bei Pentests

Pentests unterscheiden sich je nach Ansatz in der Anzahl und Art der Angriffsziele, dem Umfang der Informationen, die den Testern zur Verfügung stehen oder von ihnen erfasst werden, und den Tools, Fähigkeiten und Ressourcen, die den Testern zur Verfügung stehen. Die unterschiedlichen Ansätze für Penetrationstests umfassen mehrere verschiedene mögliche Box-Tests:

Black-Box-Pentests: Wenn die Tester für den Pentest einen Black-Box-Ansatz (auch bekannt als Closed-Box- oder Single-Blind-Test) verfolgt, verfügen sie über keinerlei Vorkenntnisse des Zielsystems. Der Test wird aus einer rein externen Perspektive durchgeführt, um einen realen Angriff zu simulieren. Dabei nutzen die Tester die kreativsten und unvoreingenommensten Taktiken ohne jegliche Vorannahmen. 

White-Box-Pentests: Bei einem White-Box-Test (auch bekannt als Open-Box- oder Clear-Box-Ansatz) erhalten die Pentester vorab genehmigten Zugriff auf die Sicherheitsinformationen des Unternehmens. Sie führen den Test also von einer informierten Position aus durch. Dieser Ansatz erspart den Testern Zeit, die sie sonst mit Raten und Ausprobieren verbringen müssten, und ermöglicht es ihnen, möglicherweise mehr Risiken zu erkennen. Den Testern werden umfassende Informationen zum Zielsystem bereitgestellt, einschließlich Architekturdiagrammen, Quellcode und Funktionen. Dies ermöglicht eine gründliche und detaillierte Analyse, die auch tieferliegende Schwachstellen aufdecken kann, welche mit eingeschränkten Informationen möglicherweise nicht auffindbar wären. 

Gray-Box-Pentests: Bei einem Grey-Box-Ansatz kann das Hacking-Team bestimmte Informationen über das System des Unternehmens erhalten. Dies erhöht die Chance, dass sie Schwachstellen mit hohem Risiko identifizieren, damit diese anschließend behoben werden können.

Ein verdeckter oder Double-Blind-Ansatz liegt vor, wenn gewöhnliche Nutzer – einschließlich IT-Mitarbeitern – nicht wissen, dass ein Test stattfindet. Dies stellt auch die Fähigkeit des IT-Teams, in Echtzeit auf Sicherheitsverstöße zu reagieren, auf die Probe. Bei einem solchen Test kann es erforderlich sein, die Strafverfolgungsbehörden im Voraus zu informieren, damit keine Fehlalarme ausgelöst werden.

Pentests garantieren Geschäftskontinuität

Pentests sind eine wichtige Maßnahme zur Bewertung von Schwachstellen und tragen dazu bei, in jedem Unternehmen eine zuverlässige und effektive Netzwerksicherheit aufrechtzuerhalten. Unternehmen profitieren unter anderem durch:

  • Erkennen und Beheben von Sicherheitsproblemen, bevor ein externer Hacker sie ausnutzen kann
  • Identifizieren von Bereichen mit hohem Risiko in der IT-Infrastruktur, sodass das Sicherheitsbudget gezielt eingesetzt werden kann
  • Verbesserung von Wachsamkeit und Reaktionszeiten des internen IT- und Sicherheitspersonals
  • Schließen von Compliance-Lücken bei Datenschutz und Sicherheit
  • Minderung der Auswirkungen echter Sicherheitsverstöße, wenn sie auftreten

Sorgfältige Penetrationstests sind daher unerlässlich, um IT-Workloads und Kundendaten zu schützen und einen reibungslosen Betrieb zu gewährleisten.

Häufig gestellte Fragen

Als Unternehmen ist es unerlässlich, sich mit verschiedenen Tools für Sicherheitstests vertraut zu machen, darunter Schwachstellenscans und Penetrationstests.

Bei einem Schwachstellenscan sollen potenzielle Sicherheitslücken und anfällige Bereiche eines Netzwerks identifiziert werden. Dies kann auch die Überprüfung ganzer Router, Systemkonfigurationen, Server und Firewalls umfassen. Ein Angriffsvektor tritt häufiger bei Schwachstellenscans auf, da es sich im Wesentlichen um eine Zusammenstellung potenzieller Methoden handelt, sich Zugang zu einem Unternehmen zu verschaffen.

Penetrationstests sind im Vergleich dazu komplexer und proaktiver. Bei einem Penetrationstest führen ethische Hacker gezielt Sicherheitsverstöße durch, um potenzielle Sicherheitslücken und/oder Schwachstellen aufzudecken. Die Pentester entscheiden dabei, welche Angriffsfläche attackiert werden sollte, um die größtmögliche Wirkung zu erzielen. Penetrationstests sind eine ideale Möglichkeit, um herauszufinden, wie sicher die eigenen Systeme sind und auf welche Weise sie gehackt werden könnten.

Penetrationstests sollten mindestens ein bis zwei Mal pro Jahr durchgeführt werden, um Sicherheitslücken zu identifizieren. Je nach Größe und Reichweite eines Unternehmens können auch häufigere Penetrationstests notwendig sein. Angesichts der Zunahme von Cyberangriffen und Sicherheitsverletzungen in allen Branchen ist es unerlässlich, in Bezug auf digitale Schwachstellen proaktiv vorzugehen und regelmäßige Penetrationstests durchzuführen.

Die Dauer ist abhängig von den aktuellen Setups, API-Sicherheitsmaßnahmen und dem Umfang eines Unternehmens. In der Regel sollten für einen Penetrationstest ein bis zwei Wochen eingeplant werden. Die Zeit bis zum Abschluss des Tests variiert jedoch je nach Ausrüstung, Firewalls und Netzwerken, die ins Visier genommen werden sollen.

Warum entscheiden sich Kunden für Akamai?

Akamai ist das Unternehmen für Cybersicherheit und Cloud Computing, das das digitale Leben unterstützt und schützt. Unsere marktführenden Sicherheitslösungen, überlegene Bedrohungsinformationen und unser globales Betriebsteam bieten ein gestaffeltes Sicherheitskonzept, um die Daten und Anwendungen von Unternehmen überall zu schützen.

Verwandte Blogbeiträge

Schnellere Ergebnisse mit Zero Trust dank generativer KI, Teil 1: KI-Kennzeichnung
Im ersten Teil dieser vierteiligen Blogreihe stellen wir die KI-Kennzeichnung vor, eine neue, auf generativer KI basierende Funktion von Akamai, mit der Sie Ihre Zero-Trust-Ziele schneller erreichen.
5 Schritte, um Zero Trust erreichbar zu machen
Die Akamai Guardicore Platform bietet einen praktischen und effektiven Ansatz zur Zero-Trust-Implementierung. Erfahren Sie mehr über die 5 Schritte, mit denen Sie die Implementierung von Zero Trust ermöglichen.
Schnellere Ergebnisse mit Zero Trust dank generativer KI, Teil 2: Guardicore AI
Im zweiten Teil dieser vierteiligen Blog-Reihe konzentrieren wir uns darauf, wie Sie mit Guardicore AI Zero Trust umsetzen, ohne den für die Mikrosegmentierung erforderlichen manuellen Aufwand leisten zu müssen.

Entdecken Sie alle Akamai Security Solutions

Starten Sie Ihre kostenlose Testversion, und erleben Sie selbst die Vorteile der weltweit größten und renommiertesten Plattform für die Cloudbereitstellung.