Allgemein

Penetrationstest – Was es ist und wie ein Penetrationstest funktioniert

Penetrationstest – Was es ist und wie ein Penetrationstest funktioniert

Ein Penetrationstest (Pen-Test) ist ein autorisierter simulierter Angriff, der auf ein Computersystem durchgeführt wird, um dessen Sicherheit zu bewerten. Penetrationstester verwenden dieselben Tools, Techniken und Prozesse wie Angreifer, um die geschäftlichen Auswirkungen von Schwachstellen in einem System zu finden und zu demonstrieren. Penetrationstests simulieren normalerweise eine Vielzahl von Angriffen, die ein Unternehmen bedrohen könnten. Sie können prüfen, ob ein System robust genug ist, um Angriffen von authentifizierten und nicht authentifizierten Positionen sowie einer Reihe von Systemrollen standzuhalten. Mit dem richtigen Umfang kann ein Pentest in jeden Aspekt eines Systems eintauchen.

Was sind die Vorteile von Penetrationstests?

Im Idealfall wurden Software und Systeme von Anfang an mit dem Ziel konzipiert, gefährliche Sicherheitslücken zu beseitigen. Ein Pentest gibt Aufschluss darüber, wie gut dieses Ziel erreicht wurde. Pen-Tests können einer Organisation helfen

  • Finden Sie Schwachstellen in Systemen
  • Bestimmen Sie die Robustheit von Kontrollen
  • Unterstützung der Einhaltung von Datenschutz- und Sicherheitsbestimmungen (z. B. PCI DSS , HIPAA , GDPR )
  • Bereitstellung qualitativer und quantitativer Beispiele für die aktuelle Sicherheitslage und Budgetprioritäten für das Management

Wie viel Zugang wird Pentestern gewährt?

Abhängig von den Zielen eines Pen-Tests erhalten Tester unterschiedliche Informationen oder Zugriffe auf das Zielsystem. In einigen Fällen verfolgt das Pen-Testing-Team von Anfang an einen Ansatz und bleibt dabei. In anderen Fällen entwickelt das Testteam seine Strategie weiter, wenn sein Bewusstsein für das System während des Penetrationstests zunimmt. Es gibt drei Zugriffsebenen für Pentest.

  • Opaque box – Das Team weiß nichts über die interne Struktur des Zielsystems. Es verhält sich wie Hacker und sucht nach extern ausnutzbaren Schwachstellen.
  • Semi-opaque box – Das Team hat einige Kenntnisse über einen oder mehrere Sätze von Anmeldeinformationen. Es kennt auch die internen Datenstrukturen, den Code und die Algorithmen des Ziels. Penetrationstester konstruieren möglicherweise Testfälle basierend auf detaillierten Designdokumenten, wie z. B. Architekturdiagrammen des Zielsystems.
  • Transparent box – Pentester haben Zugriff auf Systeme und Systemartefakte, einschließlich Quellcode, Binärdateien, Container und manchmal sogar auf die Server, auf denen das System ausgeführt wird. Dieser Ansatz bietet das höchste Maß an Sicherheit in kürzester Zeit.

Was sind die Phasen von Pen-Tests?

Pentester simulieren Angriffe durch motivierte Gegner. Dazu folgen sie normalerweise einem Plan, der die folgenden Schritte umfasst:

Aufklärung

Sammeln Sie so viele Informationen über das Ziel wie möglich aus öffentlichen und privaten Quellen, um die Angriffsstrategie zu untermauern. Zu den Quellen gehören Internetsuchen, das Abrufen von Domänenregistrierungsinformationen, Social Engineering , nicht-intrusives Scannen von Netzwerken und manchmal sogar das Tauchen in Müllcontainern . Diese Informationen helfen Pentestern dabei, die Angriffsfläche des Ziels und mögliche Schwachstellen zu erkennen. Die Aufklärung kann je nach Umfang und Ziel des Pen-Tests variieren; Es kann so einfach sein wie einen Anruf zu tätigen, um die Funktionalität eines Systems durchzugehen.

Scannen

Pentester verwenden Tools, um die Zielwebsite oder das Zielsystem auf Schwachstellen zu untersuchen, einschließlich offener Dienste, Anwendungssicherheitsprobleme und Open-Source-Schwachstellen. Pentester verwenden eine Vielzahl von Tools, die auf dem basieren, was sie während der Erkundung und während des Tests finden.

Zugang bekommen

Die Motivation der Angreifer kann das Stehlen, Ändern oder Löschen von Daten umfassen; Geld bewegen; oder einfach den Ruf eines Unternehmens schädigen. Um jeden Testfall durchzuführen, bestimmen Pentester die besten Tools und Techniken, um Zugriff auf das System zu erhalten, sei es durch eine Schwachstelle wie SQL-Injection oder durch Malware, Social Engineering oder etwas anderes.

Zugriff aufrechterhalten

Sobald Penetrationstester Zugriff auf das Ziel erhalten, muss ihr simulierter Angriff lange genug verbunden bleiben, um ihre Ziele zu erreichen, Daten zu exfiltrieren, zu modifizieren oder Funktionen zu missbrauchen. Es geht darum, die möglichen Auswirkungen aufzuzeigen.

Welche Arten von Pentests gibt es?

Ein umfassender Ansatz für Pen-Tests ist für ein optimales Risikomanagement unerlässlich. Dazu müssen alle Bereiche in Ihrer Umgebung getestet werden.

  • Web-Apps – Tester untersuchen die Wirksamkeit von Sicherheitskontrollen und suchen nach versteckten Schwachstellen, Angriffsmustern und anderen potenziellen Sicherheitslücken, die zu einer Kompromittierung einer Web-App führen können.
  • Mobile Apps – Unter Verwendung sowohl automatisierter als auch erweiterter manueller Tests suchen Tester nach Schwachstellen in Anwendungsbinärdateien, die auf dem mobilen Gerät ausgeführt werden, und in den entsprechenden serverseitigen Funktionen. Zu den serverseitigen Sicherheitslücken gehören Sitzungsverwaltung, kryptografische Probleme, Authentifizierungs- und Autorisierungsprobleme und andere häufige Sicherheitslücken bei Webdiensten.
  • Netzwerke – Dieser Test identifiziert gemeinsame bis kritische Sicherheitslücken in einem externen Netzwerk und Systemen. Experten verwenden eine Checkliste, die Testfälle für verschlüsselte Transportprotokolle, Probleme bei der Festlegung des Umfangs von SSL-Zertifikaten, die Nutzung von Verwaltungsdiensten und mehr enthält.
  • Cloud – Eine Cloud-Umgebung unterscheidet sich erheblich von herkömmlichen lokalen Umgebungen. In der Regel werden die Sicherheitsverantwortlichkeiten zwischen der Organisation, die die Umgebung nutzt, und dem Anbieter von Cloud-Diensten geteilt. Aus diesem Grund erfordern Cloud-Penetrationstests eine Reihe spezialisierter Fähigkeiten und Erfahrungen, um die verschiedenen Aspekte der Cloud wie Konfigurationen, APIs, verschiedene Datenbanken, Verschlüsselung, Speicherung und Sicherheitskontrollen zu untersuchen.
  • Containers – Von Docker erhaltene Container weisen häufig Schwachstellen auf, die in großem Umfang ausgenutzt werden können. Fehlkonfigurationen sind auch ein häufiges Risiko im Zusammenhang mit Containern und ihrer Umgebung. Beide Risiken können mit fachkundigen Pen-Tests aufgedeckt werden.
  • Eingebettete Geräte (IoT) – Eingebettete / Internet of Things (IoT)-Geräte wie medizinische Geräte, Automobile, Haushaltsgeräte, Ausrüstung für Bohrinseln und Uhren haben aufgrund ihrer längeren Lebenszyklen, abgelegenen Standorte, Strombeschränkungen, regulatorischen Anforderungen und mehr einzigartige Anforderungen an Softwaretests . Experten führen eine gründliche Kommunikationsanalyse zusammen mit einer Client/Server-Analyse durch, um Fehler zu identifizieren, die für den jeweiligen Anwendungsfall am wichtigsten sind.
  • Mobile Geräte -Penetrationstester verwenden sowohl automatisierte als auch manuelle Analysen, um Schwachstellen in Anwendungsbinärdateien zu finden, die auf dem mobilen Gerät und den entsprechenden serverseitigen Funktionen ausgeführt werden. Schwachstellen in Anwendungsbinärdateien können Authentifizierungs- und Autorisierungsprobleme, Vertrauensprobleme auf Clientseite, falsch konfigurierte Sicherheitskontrollen und Probleme mit dem plattformübergreifenden Entwicklungsframework umfassen. Serverseitige Schwachstellen können Sitzungsverwaltung, kryptografische Probleme, Authentifizierungs- und Autorisierungsprobleme und andere allgemeine Schwachstellen in Webdiensten umfassen.
  • APIs – Sowohl automatisierte als auch manuelle Testtechniken werden verwendet, um die OWASP API Security Top 10-Liste abzudecken. Einige der Sicherheitsrisiken und Schwachstellen, nach denen Tester suchen, umfassen fehlerhafte Autorisierung auf Objektebene, Benutzerauthentifizierung, übermäßige Offenlegung von Daten, Mangel an Ressourcen / Ratenbegrenzung und mehr.
  • CI/CD-Pipeline – Moderne DevSecOps- Praktiken integrieren automatisierte und intelligente Code-Scanning-Tools in die CI/CD – Pipeline. Zusätzlich zu statischen Tools, die bekannte Schwachstellen finden, können automatisierte Pentest-Tools in die CI/CD-Pipeline integriert werden, um nachzuahmen, was ein Hacker tun kann, um die Sicherheit einer Anwendung zu gefährden. Automatisierte CI/CD-Penetrationstests können versteckte Schwachstellen und Angriffsmuster aufdecken, die beim statischen Code-Scannen unentdeckt bleiben.

Penetrationstests und Firewalls für Webanwendungen

Penetrationstests und WAFs sind exklusive, aber für beide Seiten vorteilhafte Sicherheitsmaßnahmen. Bei vielen Arten von Penetrationstests (mit Ausnahme von Blind- und Doppelblindtests) verwendet der Tester wahrscheinlich WAF-Daten wie Protokolle, um die Schwachstellen einer Anwendung zu lokalisieren und auszunutzen.

WAF-Administratoren wiederum können von Pentest-Daten profitieren. Nach Abschluss eines Tests können WAF-Konfigurationen aktualisiert werden, um sich vor den im Test entdeckten Schwachstellen zu schützen. Schließlich erfüllen Penetrationstests einige der Compliance-Anforderungen für Sicherheitsüberprüfungsverfahren, einschließlich PCI DSS und SOC 2 . Bestimmte Standards wie PCI-DSS 6.6 können nur durch die Verwendung einer zertifizierten WAF erfüllt werden. Dies macht Penetrationstests jedoch nicht weniger nützlich, da sie die oben genannten Vorteile und die Möglichkeit zur Verbesserung von WAF-Konfigurationen bieten.

Welche Arten von Pentest-Tools gibt es?

Es gibt kein einheitliches Tool für Pen-Tests. Stattdessen erfordern unterschiedliche Ziele unterschiedliche Tools für Port-Scanning, Anwendungs-Scanning, Wi-Fi-Einbruch oder direktes Eindringen in das Netzwerk. Im Großen und Ganzen lassen sich die Arten von Pen-Testing-Tools in fünf Kategorien einteilen.

  • Aufklärungstools zum Auffinden von Netzwerkhosts und offenen Ports
  • Schwachstellen-Scanner zur Erkennung von Problemen in Netzwerkdiensten, Webanwendungen und APIs
  • Proxy-Tools wie spezialisierte Web-Proxys oder generische Man-in-the-Middle-Proxys
  • Exploitation-Tools, um System-Standorte oder Zugriff auf Assets zu erreichen
  • Post-Exploit-Tools für die Interaktion mit Systemen, die Aufrechterhaltung und Erweiterung des Zugriffs und das Erreichen von Angriffszielen

Verschiedene Methoden von Penetrationstests

Externe Prüfung

Externe Penetrationstests zielen auf die im Internet sichtbaren Vermögenswerte eines Unternehmens ab, z. B. die Webanwendung selbst, die Unternehmenswebsite sowie E-Mail- und Domain-Name-Server (DNS). Ziel ist es, Zugang zu gewinnen und wertvolle Daten zu extrahieren.

Interne Prüfung

In einem internen Test simuliert ein Tester mit Zugriff auf eine Anwendung hinter seiner Firewall einen Angriff durch einen böswilligen Insider . Dies simuliert nicht unbedingt einen Schurkenmitarbeiter. Ein häufiges Ausgangsszenario kann ein Mitarbeiter sein, dessen Zugangsdaten aufgrund eines Phishing-Angriffs gestohlen wurden .

Blindtest

Bei einem Blindtest erhält ein Tester nur den Namen des Zielunternehmens. Dadurch kann das Sicherheitspersonal in Echtzeit sehen, wie ein tatsächlicher Angriff auf eine Anwendung ablaufen würde.

Doppelblindtest

Bei einem Doppelblindtest hat das Sicherheitspersonal keine Vorkenntnisse über den simulierten Angriff. Wie in der realen Welt haben sie keine Zeit, ihre Verteidigung vor einem versuchten Einbruch zu stärken.

Gezieltes Testen

In diesem Szenario arbeiten sowohl der Tester als auch das Sicherheitspersonal zusammen und halten sich gegenseitig über ihre Bewegungen auf dem Laufenden. Dies ist eine wertvolle Trainingsübung, die einem Sicherheitsteam Echtzeit-Feedback aus der Sicht eines Hackers liefert.

Wie unterscheiden sich Pen-Tests von automatisierten Tests?

Obwohl Penetrationstests hauptsächlich ein manueller Aufwand sind, verwenden Penetrationstester automatisierte Scan- und Testwerkzeuge. Aber sie gehen auch über die Tools hinaus und nutzen ihr Wissen über die neuesten Angriffstechniken, um eingehendere Tests als eine Schwachstellenbewertung (dh automatisierte Tests) bereitzustellen.

Manuelle Pen-Tests

Manuelle Penetrationstests decken Verwundbarkeiten und Schwächen auf, die nicht in populären Listen (z. B. OWASP Top 10 ) enthalten sind, und testen Geschäftslogik, die automatisierte Tests übersehen können (z. B. Datenvalidierung, Integritätsprüfungen). Ein manueller Penetrationstest kann auch dabei helfen, falsch positive Ergebnisse zu identifizieren, die von automatisierten Tests gemeldet wurden. Da Penetrationstester Experten sind, die wie Gegner denken, können sie Daten analysieren, um ihre Angriffe zu zielen und Systeme und Websites auf eine Weise zu testen, die automatisierte Testlösungen nach einer Skriptroutine nicht können.

Automatisiertes Pen-Testen

Automatisiertes Testen liefert Ergebnisse schneller und erfordert weniger spezialisierte Fachleute als ein vollständig manuelles Pen-Testing-Verfahren. Automatisierte Testwerkzeuge verfolgen die Ergebnisse automatisch und können sie manchmal an eine zentrale Berichtsplattform exportieren. Außerdem können die Ergebnisse manueller Penetrationstests von Test zu Test variieren, während die wiederholte Ausführung automatisierter Tests auf demselben System zu denselben Ergebnissen führt.

Was sind die Vor- und Nachteile von Pen-Tests?

Da die Häufigkeit und Schwere von Sicherheitsverletzungen von Jahr zu Jahr zunimmt, hatten Unternehmen noch nie einen größeren Bedarf an Transparenz darüber, wie sie Angriffen standhalten können. Vorschriften wie PCI DSS und HIPAA schreiben regelmäßige Pen-Tests vor, um mit ihren Anforderungen auf dem neuesten Stand zu bleiben. Unter Berücksichtigung dieses Drucks sind hier einige Vor- und Nachteile für diese Art der Fehlererkennungstechnik aufgeführt.

Vorteile von Pen-Tests

  • Findet Lücken in Upstream-Sicherheitspraktiken wie automatisierten Tools, Konfigurations- und Codierungsstandards, Architekturanalysen und anderen leichteren Aktivitäten zur Schwachstellenbewertung
  • Lokalisiert sowohl bekannte als auch unbekannte Softwarefehler und Sicherheitslücken, einschließlich kleinerer, die für sich genommen nicht viel Anlass zur Sorge geben, aber als Teil eines komplexen Angriffsmusters erheblichen Schaden anrichten könnten
  • Kann jedes System angreifen, indem es das Verhalten der meisten böswilligen Hacker nachahmt und einen realen Gegner so nah wie möglich simuliert

Nachteile von Pen-Tests

  • Ist arbeitsintensiv und kostspielig
  • Verhindert nicht umfassend, dass Bugs und Fehler in die Produktion gelangen

 

Pin It on Pinterest