Penetrationstests
Was ist Penetrationstesting?
Penetrationstests sind ein Prozess, der die Sicherheit eines Systems oder Netzwerks durch Simulation eines Cyberangriffs überprüft. Das Ziel von Penetrationstests ist es, potenzielle Schwachstellen in einem System sicher und legal zu identifizieren, sodass Schwächen behoben werden können, bevor sie von echten Angreifern ausgenutzt werden. Penetrationstester verwenden oft die gleichen Werkzeuge und Ansätze wie Angreifer und testen alle Aspekte des Systems, einschließlich Hardware, Software, physischer Sicherheit sowie Schulungen und Aktivitäten des Personals.
Auch als Pen-Tests bezeichnet, kann diese Art von Audit auf jeden Aspekt eines Systems oder Netzwerks angewendet werden, der sicher sein soll. Penetrationstests können nach ausnutzbaren Schwachstellen in Hardware (wie Servern, Routern, Laptops und Mobilgeräten), Netzwerken, der Nutzung von Cloud-Computing und -Speicher, Software- und Webanwendungen (einschließlich Internet of Things-Schnittstellen), Dateninteraktionen über APIs und individuellen Anmeldeinformationen suchen. Das Sicherheitsbewusstsein der Mitarbeiter kann auch durch Testen sowohl physischer als auch virtueller Aktivitäten bewertet werden – Dinge wie der Umgang mit einem phishing-Versuch oder ob es möglich ist, die Sicherheit zu umgehen und das physische Gebäude oder einen sicheren Raum zu betreten.
Warum ist Penetrationstesting wichtig?
Das Ziel von Penetrationstests ist es, die Schwachstellen eines Systems gegenüber externen Angriffen, internen Versuchen, über die erlaubten Zugriffsebenen hinauszugehen, oder einfachen Mitarbeiterfehlern zu finden. “Echte” Angriffe können zu data breaches, ransomware oder allgemeinen Störungen des Geschäftsbetriebs einer Organisation führen, daher sollen Penetrationstests einer Organisation ein besseres Bild von ungemilderten Schwachstellen liefern, zusammen mit einer Idee, wie diese priorisiert behoben werden können. Ohne Pen-Testing läuft eine Organisation Gefahr, eine Schwachstelle erst zu entdecken, nachdem sie von einem Angreifer ausgenutzt wurde.
Während einige Pen-Tests freiwillig sind, kann eine Organisation Vorschriften unterliegen, die den Nachweis erfordern, dass sensible Daten gesichert sind. DSGVO und HIPAA enthalten beide Anforderungen, dass jedes System, das sensible Daten enthält, regelmäßig getestet und bewertet werden muss, um eine angemessene Sicherheit zu gewährleisten. Pen-Testing wird als hervorragender Weg akzeptiert, um diese Anforderungen zu erfüllen. PCI DSS, ein globaler Standard, der für jede Organisation gilt, die Kreditkartendaten verarbeitet, verlangt speziell regelmäßiges Pen-Testing.
Werkzeuge, die bei Penetrationstests verwendet werden
Penetrationstests sind am effektivsten, wenn sie gründlich und umfassend sind, was besonders herausfordernd sein kann, wenn man mit komplexen oder großen Systemen zu tun hat. Um den großen Umfang einiger Pen-Testing-Situationen zu unterstützen, sind Softwarepakete verfügbar, die bei der Durchführung gut dokumentierter oder sich wiederholender Tests helfen. Softwarepakete werden oft mit einer Bibliothek von in der Vergangenheit von Angreifern verwendeten Exploits kombiniert und Methoden, um diese zu testen. Diese Pakete werden bemerkenswerterweise sowohl von Testern verwendet, um ein System zu testen, als auch von Hackern, um ein System anzugreifen.
Einige Pen-Tests können von Nicht-Spezialisten durchgeführt werden, die einen Teil dieser gleichen Softwarepakete verwenden. Komplexere Pen-Tests werden in der Regel von unabhängigen Drittparteien-Experten durchgeführt, die diese Werkzeuge möglicherweise als Hilfsmittel verwenden, sich jedoch nicht ausschließlich auf sie verlassen. Unabhängige Penetrationstester sind oft eine bessere Wahl gegenüber internem Personal, da sie nicht von Insiderkenntnissen oder einem falschen Gefühl der Sicherheit im System beeinflusst werden.
Arten von Penetrationstests
Ein Pen-Test kann eines von mehreren Szenarien sein, die sich darin unterscheiden, wie viele Informationen der Penetrationstester zu Beginn über das zu testende System hat:
- White-Box-Testing (auch transparentes oder offenes Testen genannt): Pen-Tester erhalten Informationen über das zu testende System, bevor sie mit dem Test beginnen. In einem White-Box-Test kann der Pen-Tester einen Testplan erstellen, der die Testziele erfüllt, sei es eine vollständige Abdeckung oder fokussiertes Testen auf einen bestimmten Aspekt des Systems. Das Vorwissen über das System kann die Aufgabe beschleunigen und etwas Zeit sparen, die sonst für die Untersuchung eines unbekannten Systems aufgewendet werden müsste.
- Black-Box-Testing (auch opakes oder geschlossenes Testen genannt): Pen-Tester erhalten im Voraus keine Informationen über das System. Black-Box-Testing simuliert eher einen echten Angriff und kann bessere Einblicke darin geben, wie ein Hacker das System angehen könnte.
- Gray-Box-Testing (auch semi-transparentes Testen genannt): Dem Pen-Tester werden begrenzte Informationen über das System zur Verfügung gestellt. So kann es beispielsweise sein, dass der Tester grundlegende Login-Daten erhält, um Zugang durch die erste Schutzebene des Systems zu erlangen. Dies ermöglicht es ihnen, sich auf die Prüfung der tieferen, möglicherweise sensibleren Schichten des Systems zu konzentrieren.
Das anfängliche Wissensniveau ist nicht die einzige Variable in einem Pen-Test-Szenario. Eine weitere Variable besteht darin, ob das interne Sicherheitsteam benachrichtigt wird, dass ein Penetrationstestereignis stattfindet. Das interne Sicherheitsteam wird möglicherweise nicht im Voraus informiert, was zu einem realen Test der Reaktionen des Sicherheitsteams auf eine Sicherheitsbedrohung führt. In einigen Situationen können der Penetrationstester und das interne Sicherheitsteam in einer Simulation zusammenarbeiten, die als Red Team vs. Blue Team bezeichnet wird. Dies ermöglicht Echtzeitreaktionen und schafft Lernmöglichkeiten für das interne Sicherheitsteam.
Phasen des Penetrationstests
Umfassende Penetrationstests können sehr umfangreich sein und erfordern ein gewisses Maß an Organisation, um effektiv zu sein. Typische Schritte eines Penetrationstests könnten wie folgt aussehen:
- Planung: Der Ausgangspunkt, an dem sich ein Penetrationstester ein Bild davon macht, wie das System aussieht und entscheidet, was getestet werden soll. Ein White-Box-Test liefert viele dieser Materialien, während ein Black-Box-Test eine unabhängige Aufklärung seitens des Testers erfordert.
- Scannen: In dieser Phase wird der Penetrationstester das System beobachten, lernen, wie es funktioniert, und mögliche Schwachstellen identifizieren, die Zugangsmöglichkeiten bieten könnten.
- Zugriff erlangen: Als Nächstes wird der Penetrationstester das Gelernte aus der Scanning-Phase nutzen, um Angriffe auf die identifizierten potenziellen Schwachstellen durchzuführen und zu versuchen, Zugriff auf das System zu erlangen.
- Zugriff aufrechterhalten: Wenn der Tester Zugriff erlangt, ist das nächste Ziel zu sehen, wie lange er den Zugriff aufrechterhalten kann. Bei einem realen Angriff wird ein Hacker versuchen, im System Fuß zu fassen, um mehr Schaden anzurichten, sich tiefer in sicherere Bereiche vorzuarbeiten oder über einen längeren Zeitraum Daten zu stehlen. Der Penetrationstester wird dieselben Aufgaben versuchen, um besser zu verstehen, was ein Hacker erreichen könnte.
- Analyse und Bericht: Der Penetrationstester wird einen Bericht für die Organisation erstellen, in dem offengelegte Schwachstellen und mögliche Abhilfemaßnahmen detailliert beschrieben werden. Der Tester muss auch jeglichen Code bereinigen, den er möglicherweise eingefügt hat, oder Logins entfernen, die im Rahmen seiner Infiltrationsaktivitäten erstellt wurden.
Wann wird Penetrationstesting durchgeführt?
Systeme entwickeln sich ständig weiter – neue Schwachstellen können durch neue Hardware, Software-Updates, das Hinzufügen neuer Benutzer oder das Ändern der Berechtigungen bestehender Benutzer und mehr eingeführt werden. Neue Bedrohungen tauchen auch auf, wenn neue Schwachstellen im vorhandenen Code entdeckt werden oder Hacker neue Werkzeuge entwickeln, um Systeme anzugreifen. Der Wert von Penetrationstests besteht darin, dass sie Schwachstellen erkennen und Wege zur Behebung aufzeigen können, bevor ein Hacker sie findet und viel größere Probleme verursacht.
Als Reaktion auf diese sich ständig ändernde Bedrohungslandschaft sollten Penetrationstests regelmäßig durchgeführt werden, wobei die Häufigkeit auf den Bedürfnissen und dem Budget einer Organisation basiert. Einige Vorschriften verlangen, dass Penetrationstests so oft wie vierteljährlich durchgeführt werden. Penetrationstests sind auch auf Ad-hoc-Basis hilfreich, wenn es eine signifikante Änderung in der Cyberumgebung gibt – intern oder extern. Ein kleiner Penetrationstest kann durchgeführt werden, um sich auf eine bestimmte neue Bedrohung zu konzentrieren.
Schützt mich Penetrationstests?
Obwohl Penetrationstests auf organisatorischer Ebene durchgeführt werden, schützen sie auch den Einzelnen. Websites, Apps und Datenbanken von Unternehmen, die häufig Penetrationstests durchführen, sind in der Regel besser gegen Bedrohungen durch Hacker geschützt. Das bedeutet, dass deine Daten und deine Online-Aktivitäten ebenfalls besser geschützt sind. Indem du dich entscheidest, Unternehmen zu verwenden und zu unterstützen, die häufig Penetrationstests durchführen (oder bestimmten Teststandards entsprechen müssen), und dies mit anderen persönlichen Schritten zum Schutz der Privatsphäre kombinierst, wie einem VPN und einem Datenschutz-Browser wie Brave, kannst du dazu beitragen, deine Sicherheit online zu verbessern.