Security Testing - Von der Hypothese zum Experiment

Security Testing

Von der Hypothese zum Experiment

Tomaso Vasella
von Tomaso Vasella
am 18. April 2024
Lesezeit: 15 Minuten

Keypoints

Das ist Security Testing

  • Security Testing ist die methodische, gezielte Suche nach Schwachstellen
  • Dadurch wird das tatsächliche Sicherheitsniveau des Untersuchungsgegenstands bestimmt
  • Ein Security Test ist ein Experiment, das Fragen beantwortet und Hypothesen bestätigt oder widerlegt
  • Welche Fragen durch einen Security Test zu beantworten sind, muss im Voraus geklärt sein

Penetration Testing oder allgemein Security Testing ist die gezielte Suche nach Schwachstellen, um das Sicherheitsniveau einer IT-Umgebung einzuschätzen und entsprechend informierte Entscheidungen treffen zu können. Was so einfach und einleuchtend klingt, ist in der Praxis oft viel komplexer und häufig bei weitem nicht so klar definiert, wie es den Anschein machen kann.

Penetration Tests sind eine etablierte und bekannte Praxis im Gebiet der Informationssicherheit. In vielen Sicherheitsprogrammen sind sie ein fester Bestandteil und verschiedene Branchenstandards und Aufsichtsbehörden schreiben die regelmässige Durchführung von Penetration Tests vor. Dies ist erfreulich, weil damit ein sehr effektives Mittel zur Steigerung des Sicherheitsniveaus allgemeine Verbreitung gefunden hat, gleichzeitig besteht die Gefahr, durch einen Gewöhnungseffekt Penetration Tests nicht mit der nötigen Sorgfalt zu betrachten oder nur als reine Compliance-Aufgabe zu sehen.

Dieser Beitrag geht auf ein paar einfache, aber essenzielle Punkte ein, die massgeblich zum Erfolg und zum Nutzen von Security Tests beitragen. Im Bereich der offensiven Informationssicherheit sind viele Begriffe wie Penetration Testing, Ethical Hacking, Red Teaming usw. anzutreffen. Für diesen Beitrag wird der Begriff Security Testing allgemein verwendet und bezieht sich auf das ganze Spektrum des offensiven Sicherheitstestens.

Wozu Security Testing?

Einfach gesagt: Um das tatsächliche Sicherheitsniveau eines IT-Systems, einer IT-Umgebung oder gar einer ganzen Organisation zu bestimmen. Es geht darum, mit möglichst grosser Realitätsnähe herauszufinden, was bei echten Angriffen geschehen kann, wie weit ein Angreifer kommen könnte und was die daraus erwachsenden Schäden sein können. Es werden also die effektiv vorhandenen Sicherheitsmassnahmen einer Realitätsprüfung unterzogen, wodurch Schwachstellen und potenzielle Lücken ermittelt werden, die von echten Angreifern ausgenutzt werden könnten.

Mit den so gewonnenen Erkenntnissen können Risiken realistisch eingeschätzt werden und Entscheidungen über zu treffende Massnahmen werden unterstützt, womit eine Organisation ihr Sicherheitsniveau optimieren kann. Regelmässig durchgeführtes Security Testing kann einen wesentlichen Beitrag zur Reduktion der Gefahr von Sicherheitsvorfällen und Datenlecks leisten.

Man kann die Frage stellen, wozu es heutzutage angesichts der riesigen Zahl an Sicherheitsprodukten und Services überhaupt noch Security Testing braucht. Die Antwort ist einfach: Die Effektivität von Sicherheitsmassnahmen kann nicht ausreichend beurteilt werden, ohne sie getestet zu haben. Ausserdem ist die IT in besonderem Mass ständigem Wandel unterworfen, dementsprechend müssen Sicherheitsvorkehrungen laufend angepasst und geprüft werden. Die Redewendung “Vertrauen ist gut, Kontrolle ist besser!” gilt ganz besonders für die Informationssicherheit.

Hypothese und Experiment

Die klassische Vorgehensweise der wissenschaftlichen Methode mit den Definitionen von Hypothese und Experiment lassen sich sehr gut auf das Security Testing anwenden. Dies ist wertvoll, weil damit Voraussetzungen und Erfolgsfaktoren besser hervortreten.

Wissenschaftliche Methode

Eine Hypothese ist eine unbewiesene Aussage oder Annahme von Tatsachen oder Gesetzmässigkeiten. Eine Hypothese ist meistens aus einer Theorie abgeleitet, im betrachteten Kontext beispielsweise: Sichere Entwicklungsprozesse bedeuten sichere Software, Best Practices funktionieren, Sicherheitsprodukte schützen ausreichend, Compliance bedeutet Sicherheit und so weiter. Entsprechende Hypothesen können sein: Es sind ausreichend Sicherheitsmassnahmen umgesetzt, deshalb ist die Umgebung sicher, das eingekaufte Produkt ist sicher, die Organisation ist sicher, weil sie compliant ist, das System ist so abgeschottet, dass es für Angreifer unerreichbar ist.

Ein Experiment ist eine methodisch angelegte Untersuchung zur empirischen Gewinnung von Informationen. Das ist genau der Anspruch eines Penetration Tests. Der Wert eines Experiments bemisst sich durch die Korrektheit, Verwendbarkeit und Nützlichkeit der gewonnenen Informationen. Mit diesen Informationen werden Fragen beantwortet, das heisst, sie bestätigen oder widerlegen die aufgestellte Hypothese. Damit wird unmittelbar klar, dass alles mit der geeigneten Fragestellung beginnt.

Geeignete Fragen im Zusammenhang mit Security Tests können sein:

Beim Planen von Penetration Tests wird dies gerne zu wenig berücksichtigt. Oft ist nicht ausreichend geklärt, welche Fragen ein Security Test beantworten soll und wozu die Antworten dienen sollen. Der Vorbereitungs- und Planungsphase hat deshalb beim Security Testing einen besonders hohen Stellenwert und darf nicht vernachlässigt werden. Es kann für einen Auftraggeber herausfordernd sein zu wissen, welche Möglichkeiten bestehen, welche Einschränkungen vorhanden sind und welche Punkte beachtet werden müssen. Wird dies zu wenig beachtet oder zu ungenau abgemacht, besteht die Gefahr, dass Geld für einen zu wenig nützlichen Test ausgegeben wird oder die Ressourcen nicht zielführend eingesetzt werden können oder der Test wiederholt werden muss. Ein erfahrener Dienstleister unterstützt und berät in dieser Phase neutral und sachlich und sorgt dafür, dass vor der Beauftragung gemeinsam geklärt ist, welche Fragen der Test beantworten soll und welche Mittel dafür angewendet werden.

Schliesslich ist ein Penetration Test nur ein Mittel zum Zweck, nämlich Erkenntnisse zu gewinnen, mit denen Entscheidungen getroffen werden können. Üblicherweise werden diese Erkenntnisse vom Dienstleister, soweit es für ihn möglich ist, interpretiert, d.h. mit Schweregraden bewertet und es werden geeignete Massnahmen empfohlen, um die mit den Feststellungen verbundenen Risiken zu begrenzen. Anschliessend ist der Auftraggeber gefordert und muss entscheiden, was die gewonnen Erkenntnisse für ihn bedeuten und wie er damit umgeht.

Die Wichtigkeit, sich über die zu beantwortenden Fragen klar zu sein, sei nochmals betont. In diesem Zusammenhang werden nachfolgend ein paar der gängigsten Ansätze im Security Testing einander gegenübergestellt, um aufzuzeigen, welche Fragestellungen damit beantwortet werden können.

Gegenüberstellung dreier häufiger Security Testing Ansätze

Untenstehend erläutern wir nun näher verschiedene Security Testing Ansätze, darunter Penetration Testing und Red Team Testing, wie auch die Hauptunterschiede zwischen Penetration Testing und einem Bug Bounty.

Penetration Testing und Red Team Testing

Penetration Tests werden üblicherweise durchgeführt, um die Sicherheit eines Prüfobjektes mit definiertem Scope aus Sicht eines realen Angreifers zu untersuchen. Es wird geprüft, ob die im Scope befindlichen Netzwerke, Plattformen, Anwendungen, Systeme, usw. für einen Angreifer ausnutzbare Schwachstellen aufweisen. Dabei wird darauf geachtet, im Rahmen des vereinbarten Aufwands eine möglichst vollständige Untersuchung des Prüfgegenstands durchzuführen. Beispielsweise wird für Webapplikationen meist der OWASP Testing Guide verwendet, der alle für die Sicherheit von Webapplikationen relevanten Themen beinhaltet. Damit wird eine umfassende Testabdeckung angestrebt, um Teilaussagen mit eingeschränktem Nutzen zu vermeiden. Penetration Tests dienen der breiten Untersuchung eines gegebenen Scope und sind normalerweise nicht darauf ausgerichtet, unbemerkt vonstattenzugehen oder die Detektionsmöglichkeiten eines SOC zu testen.

Im Rahmen von Red Team Tests wird versucht, ausgehend von einem vereinbarten Startpunkt ein definiertes Ziel zu erreichen, beispielsweise Zugriff auf sensitive Daten oder Systeme zu erlangen. Im Unterschied zu einem Penetration Test wird hier aber der Fokus darauf gelegt, einen Angreifer zu simulieren, der sich sämtlicher sachdienlicher Mittel und Methoden bedient, um das definierte Ziel zu erreichen und dabei möglichst unentdeckt zu bleiben. Es geht also nicht darum, möglichst alle Schwachstellen eines Scope zu identifizieren, sondern Schwachstellen zu finden, die dem Vorwärtskommen hinsichtlich Zielerreichung dienen. Dementsprechend wird bei Red Team Tests das SOC oder das Blue Team in der Regel nicht vorinformiert, womit auch Aussagen über das Detektions- und Reaktionsvermögen des Auftraggebers gegenüber fortgeschrittenen Angriffen getroffen werden können. Red Team Tests sind dann sinnvoll, wenn die getestete Organisation bereits über eine gewisse Maturität in der Informationssicherheit verfügt.

Aspekt Penetration Testing Red Team Testing
ZielIdentifizieren und eventuell Ausnutzen von Schwachstellen in einem definierten Zielsystem, Netzwerk oder einer Anwendung.Simulation realer Angriffe, um das Sicherheitsdispositiv und die Widerstandsfähigkeit einer Organisation zu bewerten.
ScopeFokus auf spezifische Prüfobjekte, die während der Beauftragung im Scope vereinbart werden. Ein Angriffsziel wird umfassend untersucht.Im Scope sind alle aus Angreifersicht nützlichen Angriffsziele (innerhalb der vereinbarten Spielregeln), um das definierte Ziel zu erreichen. Potenziell viele Angriffsziele werden berührt und auf ihre Verwendbarkeit hinsichtlich Zielerreichung untersucht, aber nicht notwendigerweise umfassend geprüft.
VorgehensweiseTypischerweise anhand eines definierten Prüfkatalogs, beispielsweise einer Checkliste aller relevanten Testpunkte.Verwendung von Angriffsmethoden echter Angreifer. Kreatives, exploratives Vorgehen ohne im Voraus abschliessend definierte Methoden und Werkzeuge.
ZeitraumPunktuell, ein definierter Scope wird im Rahmen eines Tests zu einem bestimmten Zeitpunkt untersucht. Liefert eine umfassende Momentaufnahme.Red Team Tests werden oft über einen längeren Zeitraum ausgedehnt, beispielsweise um nicht entdeckt zu werden. Je nach Start- und Zieldefinition beträchtlich höherer Aufwand als ein Penetration Test.
HäufigkeitMeistens aufgrund eines bestimmten Auslösers, beispielsweise ein neu entwickeltes System oder eine Compliance-Anforderung. Kann relativ häufig stattfinden.Aufgrund des vergleichsweise hohen Aufwands und der Menge an durch den Auftraggeber zu verarbeitenden Erkenntnisse, werden Red Team Tests meistens weniger häufig durchgeführt.
EignungUmfassende Bestimmung des Sicherheitszustands eines Prüfobjekts. Die Ergebnisse helfen dabei, einen bestimmten Untersuchungsgegenstand sicherer zu machen. Breite Abdeckung eines vergleichsweise kleinen Scope.Ganzheitlicher Ansatz, um eine reale, fortgeschrittene Bedrohung auf eine Organisation zu simulieren. Die Ergebnisse helfen dabei, das Sicherheitsniveau einer Organisation insgesamt zu erhöhen. Tiefgehende Abdeckung eines vergleichsweise grossen Scope.

Die in Penetration Tests und Red Team Tests verwendeten Methoden und Werkzeuge sind in vielen Fällen ähnlich oder sogar gleich. Bei Red Team Tests steht die Widerstandsfähigkeit einer Organisation gegenüber realen, fortgeschrittenen Angriffen im Fokus während Penetration Tests sich in der Regel auf einzelne Systeme oder Bereiche beziehen.

Penetration Testing und Bug Bounty

In den letzten Jahren haben Bug Bounty Programme zunehmend an Popularität gewonnen. Richtig aufgesetzt, können dadurch mit definiertem Maximalaufwand und in vergleichsweise kurzer Zeit wichtige Erkenntnisse gewonnen werden. Die wichtigsten Unterschiede zwischen Penetration Tests und Bug Bounties sind einander in der folgenden Tabelle gegenübergestellt.

Aspekt Penetration Testing Bug Bounty
ScopeGrundsätzlich auf alle Arten von Testobjekten anwendbar. Auch nicht im Internet erreichbare Anwendungen und Dienste und Aspekte wie physische Sicherheit sind gut testbar.Oft werden direkt oder indirekt im Internet erreichbare Anwendungen getestet. Rahmenbedingungen wie besonders abgeschottete Anwendungen können übliche Bug Bounty Vorgehensweisen erschweren oder verunmöglichen.
InteraktionWährend dem Test ist direkter Kontakt zwischen den Testern und dem Auftraggeber üblich. Eine Vorstellung der Resultate oder eine Abschlusspräsentation und Beantworten von Fragen zu Schwachstellen und empfohlenen Massnahmen ist häufig. Auch nach abgeschlossenem Penetration Test sind die Tester in der Regel für Rückfragen verfügbar.In der Regel wenig bis keine direkte Interaktion zwischen Testern und Auftraggeber möglich, nur über die Bug Bounty Plattform.
TestfälleVollständige Testabdeckung eines Gebiets, beispielsweise OWASP im Webbereich.Fokus auf diejenigen Themen und Schwachstellen, die den Bounty Huntern bekannt und geläufig sind und die rasch Bounties versprechen (Low Hanging Fruits). Es kann das Risiko unvollständiger Testabdeckung auftreten.
ZeitraumPunktuell, ein definierter Scope wird im Rahmen eines Tests zu einem bestimmten Zeitpunkt untersucht. Liefert eine umfassende Momentaufnahme.Je nach Ausprägung des Programms wird kontinuierlich getestet. Das kann die Form einer laufenden Sicherheitsprüfung annehmen. Gefundene Schwachstellen werden automatisch gemeldet, was ein Vorteil sein kann.
ReportingUmfassender, zielgruppengerechter Bericht mit Management Summary, Einstufung der Schweregrade und allen technischen Details sowie konkrete technische Empfehlungen geeigneter Massnahmen. Es werden auch diejenigen durchgeführten Tests dokumentiert, die keine Schwachstellen zeigen.Reporting von Schwachstellen und Empfehlungen. Keine Dokumentation von Tests, die nicht zu Schwachstellen führten.
FinanziellesDefinierte Kosten gemäss Scope.Abwägen zwischen Attraktivität für die Bounty Hunter und Kosten. Ausgaben meistens abhängig von Anzahl und Art der Schwachstellen, die man nicht im Voraus kennt. Die Höhe der bezahlten Prämien hat direkten Einfluss auf das Interesse der Tester.
EignungFür einen initialen Test, beispielsweise vor einem Go-Live und bei neuen, noch wenig erprobten oder wenig ausgereiften Testobjekten ist ein individueller, auf die Anwendung abgestimmter Penetration Test zu empfehlen. Damit wird vollständige Testabdeckung erreicht. In einem Penetration Test besteht eine hohe Wahrscheinlichkeit, diejenigen Schwachstellen zu entdecken, die in einem Bug Bounty Programm hohe Kosten verursachen könnten.Nach erfolgtem umfassendem Initialtest kann die Sicherheit kontinuierlich gefördert werden durch ein Bug Bounty Programm. Dies reduziert die anfängliche Ungewissheit über die Anzahl Schwachstellen und damit die unberechenbaren Kosten. Bug Bounty Programme sind geeignet für die kontinuierliche Überprüfung von Testobjekten, die bereits ein gewisses Sicherheitsniveau und eine relativ gute Maturität besitzen.

Bug Bounty Programme und Penetration Tests verfolgen beide das Ziel, Schwachstellen zu identifizieren, unterscheiden sich aber in ihren Beauftragungsmodellen, Anreizen und Schwerpunktbereichen. Bug Bounty Programme nutzen das Fachwissen einer Vielzahl von Testern, bieten finanzielle Belohnungen für die Meldung von Schwachstellen und können schnelle, aber vielleicht nicht immer umfassende Ergebnisse liefern. Penetration Tests folgen einem ganzheitlichen Ansatz, bieten einfachere Interaktionsmöglichkeit mit den Testern und werden durch wenige, dedizierte Experten durchgeführt.

Fazit

Ein Security Test ist ein Experiment, das Informationen liefert und damit Fragen beantwortet. Es ist deshalb sehr wichtig, dass für den Auftraggeber und für den Auftragnehmer vor Beginn eines Security Tests Klarheit darüber gewonnen wird, welche Fragen durch den Test beantwortet werden sollen und wozu die Ergebnisse verwendet werden sollen. Dies trifft als allgemeine Feststellung auf die verschiedenen Arten von Security Tests gleichermassen zu. Ein erfahrener Dienstleister unterstützt und berät in dieser Phase neutral und sachbezogen und sorgt dafür, dass geklärt ist, welche Fragen der Test beantworten soll und welche Mittel dafür angewendet werden.

Über den Autor

Tomaso Vasella

Tomaso Vasella hat seinen Master in Organic Chemistry an der ETH Zürich abgeschlossen und ist seit 1999 im Bereich Cybersecurity aktiv. Positionen als Berater, Engineer, Auditor und Business Developer zählen zu seinen Erfahrungen. (ORCID 0000-0002-0216-1268)

Links

Ihr Blue Team braucht Unterstützung?

Unsere Spezialisten kontaktieren Sie gern!

×
Das neue NIST Cybersecurity Framework

Das neue NIST Cybersecurity Framework

Tomaso Vasella

Flipper Zero WiFi Devboard

Flipper Zero WiFi Devboard

Tomaso Vasella

Denial of Service Angriffe

Denial of Service Angriffe

Tomaso Vasella

Überwachung des Systemprotokolls

Überwachung des Systemprotokolls

Tomaso Vasella

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv