Zum Einfluss von Intrusion Prevention-Systemen auf das Ergebnis eines Penetrationstests

Ein Artikel von Senior Expert IT Security Consultant Dr. Adrian Vollmer

"Wenn Sie ein Intrusion Prevention System einsetzen, bitten wir Sie, unsere IP-Adressen auf die Allowlist zu setzen."

Dieser Satz fällt in fast allen unserer Kick-off-Gesprächen während der Vorbereitung eines Penetrationstests von Systemen, die aus dem Internet erreichbar sind. Das erscheint auf den ersten Blick paradox: Sicherheitsvorkehrungen deaktivieren, obwohl die Sicherheit der Systeme geprüft werden soll?

Dennoch ist es tatsächlich empfehlenswert. Um den Grund dafür zu verstehen, sollten wir uns vor Augen führen, wie ein Intrusion Prevention System (IPS) funktioniert und wie ein Penetrationstest abläuft.

Die Funktionsweise eines IPS

Die Bezeichnung IPS wird in mehreren Kontexten verwendet. Wir setzen den Fokus in diesem Artikel auf den Test des Netzwerkperimeters, also Systeme, die aus dem Internet erreichbar sind. Im SySS-Vokabular ordnen wir diesen Projekten das Testmodul IP-RANGE zu, das Hand in Hand mit unserem Modul WEBAPP geht.

Ein IPS versucht, Angreifer automatisch anhand ihres Verhaltens zu erkennen, um sie anschließend zu blockieren. Typisches Angreiferverhalten zeigt sich beispielsweise darin, dass in kurzer Zeit eine sehr große Anzahl von Netzwerkpaketen an verschiedene IP-Adressen und Ports gesendet wird. Man nennt dies einen "Portscan". Ein Portscan stellt die verlässlichste Möglichkeit dar, um aktive Dienste auf den Zielsystemen zu identifizieren. Und Dienste, die man nicht erkannt, sondern übersehen hat, kann man auch nicht auf Schwachstellen prüfen.

Eine weitere Methode, verdächtiges Verhalten zu erkennen, ist eine Plausibilitätsbetrachtung. Sondiert ein Angreifer einen eher ungebräuchlichen Port, deutet das ebenfalls auf einen Portscan hin und könnte vom IPS durch eine Blockade sanktioniert werden. Ein gewöhnlicher Anwender einer Webseite wird in der Regel lediglich zu zwei Ports Verbindungen herstellen: Port 80 für HTTP und Port 443 für HTTPS. Alles andere wäre verdächtig.

Ein IPS kann auch in internen Netzwerken eingesetzt werden, was jedoch deutlich seltener vorkommt. Derartige Netzwerke testen wir in unserem Testmodul LAN/CLEAN. In diesem Einsatzgebiet arbeiten IPS-Hersteller heutzutage sogar mit KI-gestützten Algorithmen, deren Leistungsvermögen weit über das der oben beschriebenen Techniken hinausgeht. Die folgenden Argumente treffen nur teilweise auf solche Systeme zu.

Eine weitere Ausprägung eines IPS im erweiterten Sinne ist eine Web Application Firewall (WAF), die versucht, verdächtiges Verhalten auf Anwendungsebene zu erkennen und zu unterbinden. Eine WAF blockiert zum Beispiel Anfragen, die Bestandteile enthalten, die eher typisch für einen Angreifer auf Schwachstellensuche sind als für einen gewöhnlichen Benutzer.

Die Vorgehensweise und Motivation realer Angreifer

Um das IPS zu umgehen, können reale Angreifer die Frequenz der gesendeten Pakete deutlich verringern. Je nachdem wie das IPS programmiert wurde, kann man unerkannt bleiben, wenn man den Portscan über Monate ausdehnt.

Selbst wenn das IPS erfolgreich einen Angriff erkennt und eine IP-Adresse blockiert: Echten Angreifern stehen prinzipiell gigantische Botnets zur Verfügung. Das Mirai-Botnet etwa besteht aus abertausenden von kompromittierten IoT-Geräten auf der ganzen Welt. Es gibt Botnet-Betreiber, deren Dienste man auf Plattformen im Darknet gegen Kryptowährung in Anspruch nehmen kann, um vorübergehend ein ganzes Botnet zu dirigieren. Die meisten IPS sind gegen derartige Widersacher machtlos.

Zudem ist die Motivation des Angreifers entscheidend. Man unterscheidet zwischen gezielten Angriffen, die das Eindringen in das interne Netzwerk eines bestimmten Unternehmens zum Ziel haben, und opportunistischen Angriffen. Ein immer wieder vorkommender Sachverhalt, der zu opportunistischen Angriffen führt, hat mit sogenannten Zero Days zu tun.

Damit sind Schwachstellen gemeint, die gerade erst (also seit null Tagen) öffentlich bekannt geworden sind und für die der Hersteller noch keine Lösung bereitgestellt hat. Sobald ein Zero Day veröffentlicht wird, beginnt ein Wettlauf: Kriminelle scannen das gesamte Internet quer, um für diesen konkreten Zero Day anfällige Dienste zu finden. Sie haben es nicht auf eine bestimmte Organisation abgesehen, sondern versuchen schlicht, so viele Systeme wie möglich zu kompromittieren. Im Extremfall stellen sie nur eine Verbindung zu einem bestimmten Port her, um zu sehen, ob die Systeme verwundbar sind. Das IPS sieht darin keine Bedrohung, weil sowohl die Paket-Frequenz niedrig ist als auch weil nicht notwendigerweise unplausible Ports getroffen werden. Somit kann es den Angriff nicht verhindern.

Die Limitierung simulierter Angriffe im Vergleich zu realen Angriffen

Die Dauer eines Penetrationstests wird in Personentagen bemessen. Ein typischer Test mit einem Umfang von mehreren Dutzenden IP-Adressen wird in der Regel in wenigen aufeinanderfolgenden Tagen durchgeführt. Das bedeutet, dass wir hunderttausende Ports pro Tag scannen müssen. Eine Reduzierung der Paketfrequenz, wie es ein echter Angreifer machen würde, können wir uns nicht leisten, wenn wir keine Dienste übersehen wollen.

Wir scannen das Internet auch nicht quer, sondern die Systeme des Kunden in der Tiefe, denn wir nehmen ja gerade die Rolle eines zielgerichteten Angreifers ein. Das Ziel sind die Systeme unseres Auftraggebers. Uns steht gleichermaßen kein weltumspannendes Botnet zur Verfügung, denn das wäre illegal.

Werden wir bereits nach kurzer Zeit blockiert, ist zwar die Funktion des IPS bestätigt, jedoch können wir über die angebotenen Dienste keine verlässliche Aussage treffen. Es wäre bedauerlich, wenn wir dadurch einen Dienst übersehen, der eine Schwachstelle aufweist oder unnötig ist und nur versehentlich im Internet exponiert wurde, und daher keine Empfehlung aussprechen können, den Dienst nur intern oder über ein VPN zugänglich zu machen.

Auch Schwachstellen, für die es Patches gibt, bleiben oft noch monatelang oder sogar länger offen – das zeigt unsere Erfahrung aus tausenden von Projekten. Ein Pentest deckt diese auf – aber nur, wenn er nicht durch ein IPS unnötig ausgebremst wird.

Die Effektivität von IPS im Licht des Pentests

Nun ist klar, warum ein IPS bei einem Penetrationstest kontraproduktiv sein kann. Daher sollten Mechanismen, die unsere Scans verlangsamen oder blockieren, im Sinne eines maximalen Erkenntnisgewinns während des Testzeitraums für unsere IP-Adressen deaktiviert werden. Explizit nicht abschalten sollten Sie Fire­wall­ein­stel­lung­en, die lediglich den Zugriff regeln.

Ähnliches gilt je nach Testziel für eine WAF. Hier hängt es davon ab, was die Motivation des Tests ist.

  • Wollen Sie eine Anwendung testen, die Sie selbst entwickelt haben? Sie sollte auch ohne eine WAF sicher sein und es empfiehlt sich, diese für uns zu deaktivieren.
  • Haben Sie eine Anwendung eingekauft und möchten wissen, ob Sie in der vorhandenen Konfiguration – also mit WAF – angreifbar sind? Dann kann sie angeschaltet bleiben.

Eine Besonderheit ist noch zu beachten: Da eine WAF nicht auf Netzwerkebene, sondern auf Anwendungsebene arbeitet, wächst die Komplexität ihrer Aufgabe und damit auch ihre Angriffsfläche. Aus Erfahrung wissen wir, dass eine WAF sogar Schwachstellen in eine ansonsten sichere Softwareumgebung einbringen kann. Dies spricht dafür, sie bei einem Pentest aktiviert zu lassen, wenn der Fokus auf der Gesamtheit der Systeme und nicht auf der Anwendung an sich liegt.

Das IPS als Teil des Testgegenstands

Ein elementares Prinzip in der IT-Sicherheit ist das tiefgestaffelte Verteidigungsprinzip, oder auch „Defense in Depth“. Die Systeme sollten frei von Schwachstellen sein und auch ohne ein IPS einem Angriff Stand halten. Sicher konfigurierte Systeme sind nicht einmal von einem Penetrationstester zu knacken, der einem realen Angreifer gegenüber einen kleinen unrealistischen Vorteil in Form von internen Informationen – aber keinen Geheimnissen wie Passwörtern! – oder eben einen Eintrag in einer Allowlist erhält. Ein IPS kann einen zusätzlichen Vorteil bieten, sollte aber kein tragendes Element eines Sicherheitskonzepts darstellen.

Wer dennoch überprüfen möchte, ob automatische Sicherheitsmechanismen greifen, kann mit dem Penetrationstester vereinbaren, das IPS zu Beginn aktiviert zu lassen und bei Bedarf dessen IP-Adressen kurzfristig auf die Allowlist zu setzen, um die verbleibende Testzeit effektiv zu nutzen. Gerade bei internen Systemen ist diese Variante sinnvoller. Es sollte nur sichergestellt werden, dass die Prozesse in Ihrer Organisation die nötige Flexibilität zulassen.

Als Alternative zum Penetrationstest bieten wir bei SySS fortgeschritteneren Organisationen die Dienstleistung "Red Teaming" an. Ein Red Team Assessment ist deutlich realistischer ausgestaltet, geht jedoch mit einer deutlich höheren Anzahl von Personentagen einher. Ihm gehen üblicherweise mehrere Penetrationstests voraus.

Ihr direkter Kontakt zu SySS +49 (0)7071 - 40 78 56-0 oder anfrage@syss.de | IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN +49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer

Ihr direkter Kontakt zu SySS +49 (0)7071 - 40 78 56-0 oder anfrage@syss.de

IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN +49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer

Direkter Kontakt

+49 (0)7071 - 40 78 56-0 oder anfrage@syss.de

IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN

+49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer