#pentestwissen Diese Frage stellte mir ein Interessent (m/w/d) neben vielen weiteren bei einem Vorgespräch zum Thema Penetrationstests. Was gemeint ist und wieso er die Frage gestellt hat, wird in diesem Beitrag näher beleuchtet.
Buzzword-Bingo
Viele Interessenten und Kunden setzen verschiedenste Technologien ein, um IT-Systeme / -Anwendungen vor den unterschiedlichsten drohenden Gefahren ausgehend von intern oder extern zu schützen bzw. die verbundenen Risiken weitestgehend zu minimieren. Die Rede ist von Einbruchserkennung / Intrusion Detection, Einbruchsverhinderung / Intrusion Prevention, Application Layer Gateway oder Web Application Firewall (WAF), Anti-Automatisierung und weiteren Buzzwords. Letztlich sind es oftmals nur Synonyme für verschwendetes Geld, aber das führt nun zu weit und gibt nur eine singuläre Meinung wieder.
Anmerkung des Autors: Bitte zutreffendes Buzzword merken, es wird im Verlauf dieses Beitrags noch benötigt. Falls keines zutreffend: nicht schlimm. 🙂
Was macht so ein Ding?
Kurz und knackig: Angriffe erkennen und melden so gut es geht versuchen zu verhindern.
Diese Mechanismen machen aber auch einem Penetrationstester das Arbeiten schwerer, denn schließlich werden im Rahmen von Penetrationstests ja Angriffe simuliert. Folglich wirft man mit solchen Mechanismen dem Pentester sprichwörtlich kurz nach dem Loslaufen gewollt einen Knüppel zwischen die Beine, sodass dieser zu Fall kommt. Aber so wird man nie erfahren, welche Schwachstellen er hätte aufzeigen können, wenn er in Fahrt gekommen wäre.
Es wird durch das Schützen der Anwendung auch mehr oder weniger erfolgreich verhindert, dass Schwächen (und damit verbundene Risiken) am Prüfgegenstand identifiziert werden können. Denn im Normalfall werden (schadhafte) Anfragen des Pentesters an den Prüfgegenstand verworfen, im schlimmsten Fall wird der Pentester bzw. dessen Ursprungsadresse (temporär oder permanent) ausgesperrt.
Wieso stellt man die Frage überhaupt?
Um ein Preisschild an den Penetrationstest zu heften sollte man wissen, welcher Aufwand nötig ist, um eine ausreichende Testtiefe zu erreichen. Also sollte man alle einflussnehmenden Faktoren kennen.
Um solche Mechanismen in Prüfungen zu umgehen bzw. „unter dem Radar“ zu bleiben, muss ein Penetrationstester beispielsweise Prüfungen verlangsamen oder Umgehungstaktiken anwenden. Oftmals bedeutet es auch, Prüfungen gänzlich ohne (automatische) Werkzeuge durchzuführen. Daraus kann ein ein erhöhter Aufwand zur Erreichung einer ausreichenden Testtiefe folgen. Oder man kratzt nur an der Oberfläche und gelangt erst gar nicht in die Tiefe.
Mo Money Mo ProblemsMo Aufwand Mo Kosten!The Notorious B.I.G., unbekannt
Es geht aber auch effizienter.
Aber das ist eine Sicherheitsfunktion und Sie machen doch einen Sicherheitstest!1!11!!EinsElf
Ganz recht, beides Mal ist das Adjektiv „sicher“ im Wort enthalten. Und wo sicher drauf steht, sollte auch sicher drin sein. Das ist es ja, was man mit einem Pentest versucht so effizient es eben geht „sicher zu stellen“ 🙂
Es macht daher aus Effizienzgründen durchaus Sinn, erst mal <Buzzword hier bitte einfügen> selektiv für den Prüfer zu deaktvieren. Denn dann muss man nicht erst Aufwand in die Umgehung investieren.
Und wie weiter oben erwähnt machen die Sicherheitsmechanismen so gut sie es eben können. Was aber, wenn <Buzzword hier bitte einfügen> gar nichts kann außer Energie und Geldressourcen zu verschwenden nicht (richtig) funktioniert – egal ob durch Ausfall, Fehlfunktion oder gar (bewusst oder unbewusste) Fehlkonfiguration?
You’ll never know until you try!
Es ergibt daher aus unserer Sicht viel mehr Sinn, ohne diese „Störfaktoren“ zu prüfen wo das Risiko entsteht: am Prüfgegenstand selbst – ohne Holzknüppel oder Fangnetz oder ….
Ich mag aber, dass man meine Sicherheitsmechanismen mit prüft!
Ja. Alles zu seiner Zeit 🙂
Wenn Schwächen ohne <Buzzword hier bitte einfügen> festgestellt wurden, dann kann man auf Wunsch (als Abschluss der Kür) die Wirksamkeit von<Buzzword hier bitte einfügen> abprüfen, indem man die Ausnahme für den Prüfer nach dessen Meldung wieder entfernt. Danach werden die zum Ausnutzen notwendigen Schritte erneut in vergleichsweise kurzer Zeit (weniger, als für das Umgehen wärend des gesamten Tests nötig wäre) durchgeführt und die Risikobewertung ergänzt. Man erhält also eine Aussage zu beiden Zuständen: <Buzzword hier bitte einfügen> aktiv oder wirkungslos.
Sie haben Ihr Ziel effizient erreicht!
Fazit
Aktive Sicherheitsmechanismen, die Angriffe erkennen und abwehren sollen, machen einen Pentest ineffizient, können die Testtiefe verringern und erlauben nur eine Testaussage über die Gesamtumgebung bestehend aus Prüfgegenstand und (vorgelagerter) Sicherheitsinfrastruktur.
Durch selektive Deaktivierung zur Schwachstellenidentifikation und späterer selektiver Nachprüfung können zwei Fliegen mit einer Klappe erlegt werden: es werden effizienter Schwächen am Prüfgegenstand festgestellt und die Wirksamkeit von Sicherheitsmechansimen kann dennoch mit vergleichsweise geringem Mehraufwand mit überprüft werden.
Seien sie daher nicht verwundert, wenn man Ihnen solch eine Frage stellt. Wir als Schwaben möchten Ihnen helfen Ihr Geld zu sparen. 🙂