Penetrationstest - Penetration test

Ein Penetrationstest , umgangssprachlich als Pen-Test oder Ethical Hacking bekannt , ist ein autorisierter simulierter Cyberangriff auf ein Computersystem, der durchgeführt wird, um die Sicherheit des Systems zu bewerten ; dies ist nicht mit einer Schwachstellenanalyse zu verwechseln . Der Test wird durchgeführt, um Schwachstellen (auch als Schwachstellen bezeichnet) zu identifizieren, einschließlich der Möglichkeit, dass Unbefugte Zugriff auf die Funktionen und Daten des Systems erhalten, sowie Stärken, die eine vollständige Risikobewertung ermöglichen .

Der Prozess identifiziert typischerweise die Zielsysteme und ein bestimmtes Ziel, überprüft dann die verfügbaren Informationen und unternimmt verschiedene Maßnahmen, um dieses Ziel zu erreichen. Ein Penetrationstest-Ziel kann eine Whitebox sein (über die dem Tester im Voraus Hintergrund- und Systeminformationen bereitgestellt werden) oder eine Blackbox (über die nur grundlegende Informationen – falls vorhanden – außer dem Firmennamen bereitgestellt werden). Ein Grey-Box-Penetrationstest ist eine Kombination aus beiden (bei dem begrenzte Kenntnisse des Ziels mit dem Auditor geteilt werden). Ein Penetrationstest kann dabei helfen, die Anfälligkeit eines Systems für Angriffe zu identifizieren und abzuschätzen, wie anfällig es ist.

Sicherheitsprobleme, die der Penetrationstest aufdeckt, sollten dem Systembesitzer gemeldet werden. Penetrationstestberichte können auch potenzielle Auswirkungen auf die Organisation bewerten und Gegenmaßnahmen zur Reduzierung des Risikos vorschlagen.

Das britische National Cyber ​​Security Center beschreibt Penetrationstests als: "Eine Methode, um die Sicherheit eines IT-Systems zu gewährleisten, indem versucht wird, die Sicherheit dieses Systems ganz oder teilweise zu verletzen, wobei die gleichen Tools und Techniken verwendet werden, die ein Gegner möglicherweise könnte."

Die Ziele eines Penetrationstests variieren je nach Art der genehmigten Aktivität für ein bestimmtes Engagement, wobei das Hauptziel darauf ausgerichtet ist, Schwachstellen zu finden, die von einem schändlichen Akteur ausgenutzt werden könnten, und den Kunden über diese Schwachstellen zusammen mit empfohlenen Abwehrstrategien zu informieren.

Penetrationstests sind ein Bestandteil eines vollständigen Sicherheitsaudits . Beispielsweise erfordert der Payment Card Industry Data Security Standard Penetrationstests in regelmäßigen Abständen und nach Systemänderungen.

Für die Durchführung von Penetrationstests gibt es mehrere Standard-Frameworks und -Methoden. Dazu gehören das Open Source Security Testing Methodology Manual (OSSTMM), der Penetration Testing Execution Standard (PTES), die NIST Special Publication 800-115, das Information System Security Assessment Framework (ISSAF) und der OWASP Testing Guide.

Die Fehlerhypothese-Methodik ist eine Systemanalyse- und Penetrationsvorhersagetechnik, bei der eine Liste von hypothetischen Fehlern in einem Softwaresystem durch Analyse der Spezifikationen und Dokumentation für das System zusammengestellt wird. Die Liste der hypothetischen Fehler wird dann auf der Grundlage der geschätzten Wahrscheinlichkeit, dass ein Fehler tatsächlich existiert, und der Einfachheit seiner Ausnutzung bis zum Ausmaß einer Kontrolle oder eines Kompromisses priorisiert. Die priorisierte Liste wird verwendet, um das eigentliche Testen des Systems zu leiten.

Geschichte

Mitte der 1960er Jahre führte die wachsende Popularität von Timesharing- Computersystemen, die Ressourcen über Kommunikationsleitungen zugänglich machten, zu neuen Sicherheitsbedenken. Wie die Gelehrten Deborah Russell und GT Gangemi Sr. erklären: "Die 1960er Jahre markierten den wahren Beginn des Zeitalters der Computersicherheit."

Im Juni 1965 hielten beispielsweise mehrere der führenden Computersicherheitsexperten der USA eine der ersten großen Konferenzen zum Thema Systemsicherheit ab – veranstaltet vom staatlichen Auftragnehmer, der System Development Corporation (SDC). Während der Konferenz bemerkte jemand, dass es einem SDC-Mitarbeiter leicht gelungen war, verschiedene Systemsicherungen zu unterlaufen, die dem Timesharing- Computersystem AN/FSQ-32 der SDC hinzugefügt wurden . In der Hoffnung, dass weitere Studien zur Systemsicherheit nützlich sein würden, forderten die Teilnehmer "... Studien in Bereichen wie das Brechen des Sicherheitsschutzes im Time-Sharing-System." Mit anderen Worten, die Konferenzteilnehmer stellten einen der ersten formellen Anträge, die Computerpenetration als Werkzeug für das Studium der Systemsicherheit zu nutzen.

Auf der Gemeinsamen Computerkonferenz im Frühjahr 1967 trafen sich wieder viele führende Computerspezialisten, um Bedenken hinsichtlich der Systemsicherheit zu diskutieren. Während dieser Konferenz verwendeten die Computersicherheitsexperten Willis Ware , Harold Petersen und Rein Turn, alle von der RAND Corporation , und Bernard Peters von der National Security Agency (NSA), alle den Begriff "Penetration", um einen Angriff auf einen Computer zu beschreiben System. In einem Papier verwies Ware auf die fernzugänglichen Time-Sharing-Systeme des Militärs und warnte, dass "vorsätzliche Versuche, in solche Computersysteme einzudringen, zu erwarten sind". Seine Kollegen Petersen und Turn teilten die gleichen Bedenken und stellten fest, dass Online-Kommunikationssysteme "... anfällig für Bedrohungen der Privatsphäre sind", einschließlich "absichtlicher Penetration". Bernard Peters von der NSA machte dasselbe und bestand darauf, dass Computer-Input und -Output "... einem durchdringenden Programm große Mengen an Informationen liefern könnte". Während der Konferenz wurde die Computerpenetration offiziell als eine der Hauptbedrohungen für Online-Computersysteme identifiziert.

Die Gefahr , dass gestellt Computer Eindringen nächste in einem großen Bericht des organisierten skizziert wurde United States Department of Defense (DoD) Ende 1967 im Wesentlichen Willis Ware worden, DoD Beamten eine Task Force von Experten aus NSA, führen CIA , DoD, Hochschulen und Industrie, um die Sicherheit von Time-Sharing-Computersystemen formell zu bewerten. Indem sie sich auf viele auf der Gemeinsamen Computerkonferenz im Frühjahr 1967 vorgelegte Papiere stützte, bestätigte die Task Force weitgehend die Bedrohung der Systemsicherheit, die das Eindringen von Computern darstellte. Wares Bericht wurde zunächst klassifiziert, aber viele der führenden Computerexperten des Landes identifizierten die Studie schnell als das endgültige Dokument zur Computersicherheit. Jeffrey R. Yost vom Charles Babbage Institute hat den Ware-Bericht vor kurzem als "... die mit Abstand wichtigste und gründlichste Studie zu technischen und betrieblichen Fragen in Bezug auf sichere Computersysteme seiner Zeit" bezeichnet. Tatsächlich bestätigte der Ware-Bericht erneut die größte Bedrohung, die von der Computerpenetration für die neuen Online-Timesharing-Computersysteme ausgeht.

Um Systemschwächen besser zu verstehen, begannen die Bundesregierung und ihre Auftragnehmer bald damit, Penetrator-Teams, sogenannte Tiger-Teams , zu organisieren, um die Computerpenetration zum Testen der Systemsicherheit zu nutzen. Deborah Russell und GT Gangemi Sr. stellten fest, dass in den 1970er Jahren "...'Tiger-Teams' erstmals in der Computerszene auftauchten. Tiger-Teams waren von der Regierung und der Industrie gesponserte Teams von Crackern, die versuchten, die Abwehr von Computersystemen in einem Bemühungen, Sicherheitslücken aufzudecken und schließlich zu schließen."

Ein führender Wissenschaftler in der Geschichte der Computersicherheit, Donald MacKenzie, weist in ähnlicher Weise darauf hin, dass "RAND im Auftrag der Regierung einige Penetrationsstudien (Experimente zur Umgehung von Computersicherheitskontrollen) von frühen Time-Sharing-Systemen durchgeführt hat." Jeffrey R. Yost vom Charles Babbage Institute räumt in seiner eigenen Arbeit zur Geschichte der Computersicherheit auch ein, dass sowohl die RAND Corporation als auch die SDC "einige der ersten sogenannten "Penetrationsstudien" durchgeführt hatten, um zu versuchen, in die Computer einzudringen Timesharing-Systeme, um ihre Verwundbarkeit zu testen." In praktisch all diesen frühen Studien brachen Tiger-Teams erfolgreich in alle Zielcomputersysteme ein, da die Time-Sharing-Systeme des Landes über eine schlechte Verteidigung verfügten.

Von frühen Tiger-Team-Aktionen zeigten die Bemühungen der RAND Corporation die Nützlichkeit der Penetration als Instrument zur Bewertung der Systemsicherheit. Damals stellte ein RAND-Analyst fest, dass die Tests "... die Praktikabilität der Systemdurchdringung als Instrument zur Bewertung der Wirksamkeit und Angemessenheit implementierter Datensicherheitsvorkehrungen gezeigt haben". Darüber hinaus bestand eine Reihe der RAND-Analysten darauf, dass die Penetrationstest-Übungen alle mehrere Vorteile bieten, die ihre weitere Verwendung rechtfertigen. Wie sie in einem Artikel feststellten, "scheint ein Penetrator bei seiner Suche nach Betriebssystemschwächen und Unvollständigkeit eine teuflische Geisteshaltung zu entwickeln, die schwer nachzuahmen ist." Aus diesen und anderen Gründen empfahlen viele Analysten von RAND die kontinuierliche Untersuchung von Penetrationstechniken im Hinblick auf ihre Nützlichkeit bei der Bewertung der Systemsicherheit.

Vermutlich war der führende Computerpenetrationsexperte in diesen prägenden Jahren James P. Anderson, der mit der NSA, RAND und anderen Regierungsbehörden zusammengearbeitet hatte, um Systemsicherheit zu studieren. Anfang 1971 beauftragte die US Air Force Andersons private Firma, die Sicherheit ihres Time-Sharing-Systems im Pentagon zu untersuchen. In seiner Studie skizzierte Anderson eine Reihe wichtiger Faktoren, die an der Computerpenetration beteiligt sind. Anderson beschrieb eine allgemeine Angriffssequenz in Schritten:

  1. Finden Sie eine ausnutzbare Schwachstelle.
  2. Entwerfen Sie einen Angriff um ihn herum.
  3. Testen Sie den Angriff.
  4. Ergreifen Sie eine verwendete Leitung.
  5. Betrete den Angriff.
  6. Nutzen Sie den Eintrag für die Informationswiederherstellung.

Im Laufe der Zeit hat Andersons Beschreibung der allgemeinen Schritte zur Computerpenetration vielen anderen Sicherheitsexperten geholfen, die sich auf diese Technik verließen, um die Sicherheit von Time-Sharing-Computersystemen zu bewerten.

In den folgenden Jahren wurde die Computerpenetration als Werkzeug zur Sicherheitsbewertung immer ausgefeilter und ausgefeilter. In den frühen 1980er Jahren fasste der Journalist William Broad kurz die laufenden Bemühungen von Tiger-Teams zusammen, die Systemsicherheit zu bewerten. Wie Broad berichtete, hatte der vom DoD gesponserte Bericht von Willis Ware „... gezeigt, wie Spione aktiv in Computer eindringen, elektronische Dateien stehlen oder kopieren und die Geräte untergraben können, die normalerweise streng geheime Informationen schützen. Die Studie begann mehr als ein Jahrzehnt stiller Aktivität von Elitegruppen von Informatikern, die für die Regierung arbeiten und versucht haben, in sensible Computer einzudringen.

Während diese verschiedenen Studien darauf hindeuten mögen, dass die Computersicherheit in den USA nach wie vor ein großes Problem darstellt, hat der Gelehrte Edward Hunt in jüngerer Zeit eine umfassendere Untersuchung der Computerpenetration als Sicherheitswerkzeug gemacht. Hunt schlägt in einem kürzlich erschienenen Artikel über die Geschichte der Penetrationstests vor, dass das Verteidigungsestablishment letztendlich „... viele der Werkzeuge entwickelt hat, die in der modernen Cyberkriegsführung verwendet werden“, da es sorgfältig die vielen Möglichkeiten definierte und erforschte, wie Computerpenetratoren in gezielte Systeme hacken könnten .

Werkzeuge

Zur Unterstützung bei Penetrationstests steht eine Vielzahl von Tools zur Sicherheitsbewertung zur Verfügung, einschließlich kostenloser, kostenloser Software und kommerzieller Software .

Spezialisierte Betriebssystem-Distributionen

Mehrere Betriebssystem-Distributionen sind auf Penetrationstests ausgerichtet. Solche Distributionen enthalten normalerweise einen vorgefertigten und vorkonfigurierten Satz von Tools. Der Penetrationstester muss nicht jedes einzelne Tool ausfindig machen, was die Risikokomplikationen – wie Kompilierungsfehler, Abhängigkeitsprobleme und Konfigurationsfehler – erhöhen kann. Außerdem ist der Erwerb zusätzlicher Tools im Kontext des Testers möglicherweise nicht praktikabel.

Bemerkenswerte Beispiele für Penetrationstests für Betriebssysteme sind:

Viele andere spezialisierte Betriebssysteme erleichtern Penetrationstests – jedes ist mehr oder weniger einem bestimmten Bereich des Penetrationstests gewidmet.

Eine Reihe von Linux-Distributionen enthalten bekannte Betriebssystem- und Anwendungsschwachstellen und können als Angriffsziele bereitgestellt werden . Solche Systeme helfen neuen Sicherheitsexperten, die neuesten Sicherheitstools in einer Laborumgebung auszuprobieren. Beispiele sind Damn Vulnerable Linux (DVL), die OWASP Web Testing Environment (WTW) und Metasploitable.

Software-Frameworks

Phasen der Penetrationstests

Der Prozess des Penetrationstests kann in die folgenden fünf Phasen vereinfacht werden:

  1. Aufklärung: Das Sammeln wichtiger Informationen über ein Zielsystem. Diese Informationen können verwendet werden, um das Ziel besser anzugreifen. Open-Source-Suchmaschinen können beispielsweise verwendet werden, um Daten zu finden, die für einen Social-Engineering- Angriff verwendet werden können.
  2. Scanning: Verwendet technische Tools, um das Wissen des Angreifers über das System zu erweitern. Zum Beispiel Nmap kann für offene Ports scannen verwendet werden.
  3. Zugriff erlangen: Mit den in der Aufklärungs- und Scanphase gesammelten Daten kann der Angreifer eine Nutzlast nutzen, um das Zielsystem auszunutzen. Metasploit kann beispielsweise verwendet werden, um Angriffe auf bekannte Schwachstellen zu automatisieren.
  4. Aufrechterhaltung des Zugriffs: Um den Zugriff aufrechtzuerhalten, müssen die erforderlichen Schritte unternommen werden, um sich dauerhaft in der Zielumgebung aufhalten zu können, um so viele Daten wie möglich zu sammeln.
  5. Spuren verwischen: Der Angreifer muss jede Spur einer Kompromittierung des Opfersystems, jede Art von gesammelten Daten und Ereignisse protokollieren, um anonym zu bleiben.

Sobald ein Angreifer eine Schwachstelle ausgenutzt hat, kann er sich Zugang zu anderen Maschinen verschaffen, sodass sich der Vorgang wiederholt, dh er sucht nach neuen Schwachstellen und versucht, diese auszunutzen. Dieser Vorgang wird als Schwenken bezeichnet.

Schwachstellen

Zu den zulässigen Operationen, mit denen der Tester eine illegale Operation ausführen kann, gehören SQL-Befehle ohne Escapezeichen, unveränderte gehashte Passwörter in Projekten mit sichtbaren Quellen, menschliche Beziehungen und alte Hashing- oder kryptografische Funktionen. Ein einzelner Fehler reicht möglicherweise nicht aus, um einen kritischen Exploit zu ermöglichen. Es ist fast immer erforderlich, mehrere bekannte Fehler auszunutzen und die Nutzlast so zu gestalten, dass sie als gültige Operation erscheint. Metasploit bietet eine Ruby-Bibliothek für allgemeine Aufgaben und verwaltet eine Datenbank mit bekannten Exploits.

Wenn Sie unter Budget- und Zeitbeschränkungen arbeiten, ist Fuzzing eine gängige Technik, mit der Schwachstellen entdeckt werden. Es zielt darauf ab, einen unbehandelten Fehler durch zufällige Eingabe zu erhalten. Der Tester verwendet zufällige Eingaben, um auf die weniger häufig verwendeten Codepfade zuzugreifen. Ausgetretene Codepfade sind in der Regel fehlerfrei. Fehler sind nützlich , weil sie entweder mehr Informationen aussetzen, wie HTTP - Server abstürzt mit vollen Informationen Trace-backs-oder können direkt verwendet werden , wie zum Beispiel Pufferüberlauf .

Stellen Sie sich vor, eine Website hat 100 Texteingabefelder. Einige sind anfällig für SQL-Injections in bestimmten Strings. Wenn Sie für eine Weile zufällige Strings an diese Boxen senden, wird hoffentlich der fehlerhafte Codepfad erreicht. Der Fehler zeigt sich als defekte HTML-Seite, die aufgrund eines SQL-Fehlers halb gerendert wurde. In diesem Fall werden nur Textfelder als Eingabestreams behandelt. Softwaresysteme haben jedoch viele mögliche Eingabeströme, wie z. B. Cookie- und Sitzungsdaten, den hochgeladenen Dateistrom, RPC-Kanäle oder Speicher. In jedem dieser Eingabestreams können Fehler auftreten. Das Testziel besteht darin, zuerst einen nicht behandelten Fehler zu erhalten und dann den Fehler basierend auf dem fehlgeschlagenen Testfall zu verstehen. Tester schreiben ein automatisiertes Tool, um ihr Verständnis des Fehlers zu testen, bis er korrekt ist. Danach kann es offensichtlich sein, wie die Nutzlast verpackt werden muss, damit das Zielsystem ihre Ausführung auslöst. Wenn dies nicht praktikabel ist, kann man hoffen, dass ein weiterer Fehler, der vom Fuzzer erzeugt wird, mehr Früchte trägt. Die Verwendung eines Fuzzers spart Zeit, da keine geeigneten Codepfade überprüft werden, wenn Exploits unwahrscheinlich sind.

Nutzlast

Die illegale Operation oder Nutzlast in der Metasploit-Terminologie kann Funktionen zum Protokollieren von Tastenanschlägen , zum Erstellen von Screenshots, zum Installieren von Adware , zum Stehlen von Anmeldeinformationen, zum Erstellen von Hintertüren mit Shellcode oder zum Ändern von Daten umfassen. Einige Unternehmen unterhalten große Datenbanken bekannter Exploits und bieten Produkte an, die Zielsysteme automatisch auf Schwachstellen testen:

Standardisierte staatliche Penetrationstestdienste

Die General Services Administration (GSA) hat den "Penetrationstest"-Dienst als vorab geprüften Unterstützungsdienst standardisiert, um potenzielle Schwachstellen schnell zu beheben und Gegner zu stoppen, bevor sie Auswirkungen auf US-Bundes-, Landes- und Kommunalverwaltungen haben. Diese Dienste werden allgemein als Highly Adaptive Cybersecurity Services (HACS) bezeichnet und sind auf der US GSA Advantage-Website aufgeführt.

Durch diese Bemühungen wurden Schlüsseldienstanbieter identifiziert, die technisch überprüft und überprüft wurden, um diese fortschrittlichen Penetrationsdienste bereitzustellen. Dieser GSA-Dienst soll die schnelle Bestellung und Bereitstellung dieser Dienste verbessern, die Duplizierung von Verträgen mit der US-Regierung reduzieren und die US-Infrastruktur rechtzeitiger und effizienter schützen und unterstützen.

132-45A Penetrationstests sind Sicherheitstests, bei denen Service-Assessoren reale Angriffe nachahmen, um Methoden zur Umgehung der Sicherheitsfunktionen einer Anwendung, eines Systems oder eines Netzwerks zu identifizieren. HACS Penetration Testing Services testen in der Regel strategisch die Wirksamkeit der präventiven und detektivischen Sicherheitsmaßnahmen des Unternehmens, die zum Schutz von Vermögenswerten und Daten eingesetzt werden. Als Teil dieses Dienstes führen zertifizierte ethische Hacker typischerweise einen simulierten Angriff auf ein System, Systeme, Anwendungen oder ein anderes Ziel in der Umgebung durch, um nach Sicherheitsschwächen zu suchen. Nach dem Testen dokumentieren sie in der Regel die Schwachstellen und skizzieren, welche Abwehrmaßnahmen wirksam sind und welche umgangen oder ausgenutzt werden können.

Im Vereinigten Königreich werden Penetrationstestdienste durch Berufsverbände standardisiert, die mit dem National Cyber ​​Security Centre zusammenarbeiten.

Die Ergebnisse von Penetrationstests variieren je nach den verwendeten Standards und Methoden. Es gibt fünf Penetrationsteststandards: Open Source Security Testing Methodology Manual (OSSTMM), Open Web Application Security Project (OWASP), National Institute of Standards and Technology (NIST00), Information System Security Assessment Framework (ISSAF) und Penetration Testing Methodologies und Normen (PTES).

Siehe auch

Allgemeine Referenzen

  • Lange, Johnny (2011). Google Hacking für Penetrationstester , Elsevier
  • Der endgültige Leitfaden für Penetrationstests

Verweise