Einführung

Obwohl frühe Typen von Network Intrusion Detection Systems bis in die frühen 1980er Jahre zurückreichen, nahm das Konzept von IDS Fahrt auf, als Martin Roesch sein freies und quelloffenes IDS-System SNORT entwickelte. Aufgrund seines leichtgewichtigen Designs und seiner flexiblen Einsatzmöglichkeiten wuchs die Nutzerbasis von Snort in den folgenden Jahren rasch an (derzeit bis zu 400.000).

Im Jahr 2001 gründete Martin Roesch das Unternehmen Sourcefire (2013 von Cisco übernommen) für ein kommerzielles IDS-Produkt auf Basis von SNORT. Die ursprüngliche kostenlose und quelloffene Version von SNORT blieb jedoch verfügbar und wird immer noch in vielen Netzwerken auf der ganzen Welt eingesetzt. In der Zwischenzeit haben einige Konkurrenten im Bereich der Open-Source-IDS an Boden gewonnen, allen voran Suricata IDS.

Was sind die Hauptunterschiede zwischen ihnen, und was können wir in Zukunft von SNORT erwarten?

Regeln

Eine IDS-Lösung ist nur so gut wie die verfügbaren Regeln, die sie auf den überwachten Verkehr anwenden kann. Snort wird seit jeher von der Community unterstützt, was zu einem umfangreichen Regelwerk geführt hat, das regelmäßig aktualisiert wird. Die Syntax der Regeln ist recht einfach, und die Programmstruktur ermöglicht es jedem, angepasste Regeln in sein IDS einzubauen oder sie mit der Community zu teilen.

Einige kommerzielle Anbieter entwickeln auch SNORT-Regeln, die gegen eine monatliche oder jährliche Gebühr erworben werden können. Einige Beispiele sind die SO/VRT-Regeln von Talos (die nach einem Monat kostenlos freigegeben werden) und CrowdStrikes Threat Intelligence Services.

Suricata kann die gleichen Regeln wie SNORT verwenden. Viele, aber nicht alle, VRT-Regeln funktionieren weiterhin. Suricata verfügt über einen eigenen Regelsatz, der zunächst für zahlende Abonnenten freigegeben wird, aber nach 30 bis 60 Tagen frei verfügbar ist: Emerging Threats. Diese Suricata-Regeln machen mehr Gebrauch von den zusätzlichen Funktionen, die Suricata zu bieten hat, wie z.B. port-agnostische Protokollerkennung und automatische Dateierkennung und -extraktion.

Anwendungserkennung

Seit den frühen Tagen der Existenz von Snort wurde gesagt, dass Snort nicht „anwendungsbewusst“ ist. Es untersucht lediglich den Datenverkehr, der seinen Regeln entspricht, und führt bei Übereinstimmung eine Aktion durch (Alarm, Verwerfen usw.). Vorprozessoren helfen, indem sie den Datenverkehr in ein brauchbares Format bringen, auf das die Regeln angewendet werden können: Sie führen beispielsweise eine Dekomprimierung und Dekodierung durch, aber Snort muss nicht wissen, welche Anwendung die Daten erzeugt.

Die Anforderungen der Unternehmen haben sich jedoch im Laufe der Zeit geändert, und um sich an den Markt anzupassen, hat Snort 2014 OpenAppID in der Version 2.9.7 eingeführt. OpenAppID ermöglicht die Erkennung von Anwendungen über sogenannte Layer 7 Detectors. Obwohl das Vorhandensein einer bekannten Anwendung nicht immer einen direkten Sicherheitsvorfall darstellt (z. B. die Nutzung von Dropbox), ermöglicht es ein besseres Verständnis dessen, was im Netzwerk existiert. Es können nicht nur bisher unbekannte Anwendungen gefunden werden, sondern ihr Datenverkehr kann auch durch die Verknüpfung einer AppID mit einer herkömmlichen SNORT IDS/IPS-Regel unterbunden oder alarmiert werden.

Suricata arbeitet in diesem Bereich etwas anders. Es unterstützt Erkennungsregeln für die Anwendungsschicht und kann zum Beispiel HTTP- oder SSH-Verkehr auf nicht standardisierten Ports auf der Grundlage von Protokollen identifizieren. Es wendet dann auch protokollspezifische Einstellungen auf diese Erkennungen an.

Es gibt nicht wirklich ein besseres oder schlechteres Produkt in diesem Bereich, es hängt wirklich davon ab, wonach das Unternehmen sucht und welches System die Lücken in der Erkennung am besten füllt. Da beide vollständig quelloffen sind, ist die Einrichtung einer Testumgebung relativ schnell und kostengünstig.

Multithreading

Einer der Hauptvorteile von Suricata ist, dass es erst vor kurzem entwickelt wurde. Das bedeutet, dass es viele weitere Funktionen an Bord hat, die heutzutage praktisch nicht mehr wegzudenken sind. Eine dieser Funktionen ist die Unterstützung von Multithreading.

Mit dem Anstieg des Netzwerkverkehrs im Laufe der Jahre sind auch die Verarbeitungsanforderungen an IDS-Geräte (gemessen in Paketen pro Sekunde) stark gestiegen. Glücklicherweise unterstützt Suricata Multithreading von Haus aus. Snort hingegen unterstützt kein Multithreading. Unabhängig davon, wie viele Kerne eine CPU hat, wird nur ein einziger Kern oder Thread von Snort verwendet.

Es gibt einen ziemlich komplizierten Workaround: mehrere SNORT Single-Thread-Instanzen laufen zu lassen, die alle in dasselbe Log einspeisen. Der zusätzliche Aufwand für die Verwaltung dieses Prozesses (AutoFP) und die hohen Kosten für die Hardware bedeuten jedoch, dass dieses Setup nur selten in Produktionsumgebungen zu finden ist. SNORT3 wird Multithreading unterstützen, befindet sich aber noch im Alpha-Stadium und läuft als Snort++. Natürlich ist es nicht ratsam, ein Produkt im Alpha-Stadium in einer Produktionsumgebung einzusetzen. Multithreading ist zweifellos ein starkes Argument, Suricata Snort vorzuziehen.

Dateiextraktion

Suricata unterstützt die Dateiextraktion. Dies ist eine unglaublich nützliche Funktion, die die automatische Extraktion ausgewählter Dateien ermöglicht, sobald eine Regel mit der Option „filestore“ ausgelöst wird. Es ist zum Beispiel möglich, alle .pdf-Dateien oder alle Single-Pixel .png-Dateien zu extrahieren und sie in einem vorkonfigurierten Ordner für weitere manuelle Analysen, VirusTotal-Abfragen oder sogar automatisches Sandboxing zu speichern.

Alternativen

Während Snort und Suricata sicherlich die beliebtesten Open-Source-Systeme zur Erkennung von Eindringlingen sind, gibt es einige Alternativen. Die bereits erwähnte aktualisierte Version SNORT3 sieht sehr vielversprechend aus, mit ihrer Unterstützung für Multithreading, Service-Identifikation und einer einfacheren Regelsprache. Diese befindet sich seit vielen Jahren in der Entwicklung. Die Alpha-Phase reicht jedoch bis ins Jahr 2014 zurück, und ein Veröffentlichungsdatum für eine Produktionsversion wurde noch nicht festgelegt.

Es gibt auch Alternativen zu den traditionellen IDS/IPS-Lösungen, die jedoch manchmal etwas anders funktionieren. Der Bro Network Security Monitor (jetzt als Zeek bekannt) ist zum Beispiel eher ein System zur Erkennung von Anomalien. Während Snort und Suricata mit herkömmlichen IDS-Signaturen arbeiten, nutzt Bro/Zeek Skripte zur Analyse des Datenverkehrs.

Ein wesentlicher Vorteil von Bro/Zeek besteht darin, dass diese Skripte auch hoch automatisierte Arbeitsabläufe zwischen verschiedenen Systemen ermöglichen, ein Ansatz, der sehr viel granularere Entscheidungen zulässt als die alten Pass- oder Drop-Aktionen. Die Konfiguration kann jedoch recht kompliziert werden.

Abschluss

Es gibt mehrere gute Open-Source-IDS-Optionen. Aufgrund ihrer Unterschiede werden jedoch nicht alle Lösungen für jede Umgebung geeignet sein. Bei der Auswahl der besten Produkte sollte berücksichtigt werden, welche anderen, sich möglicherweise überschneidenden Sicherheitsprodukte bereits im Einsatz sind, welche Art von Datenverkehr das Netzwerk durchläuft, wie hoch das Datenaufkommen ist und welche Fähigkeiten das verfügbare IT-Personal hat.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.