Snort vs. Suricata

Aus Xinux Wiki
Version vom 22. September 2022, 18:10 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Open source IDS: Snort or Suricata?= Obwohl frühe Arten von Netzwerk-Intrusion-Detection-Systemen bis in die frühen 1980er Jahre zurückreichen, begann das…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Open source IDS: Snort or Suricata?

Obwohl frühe Arten von Netzwerk-Intrusion-Detection-Systemen bis in die frühen 1980er Jahre zurückreichen, begann das Konzept von IDS, als Martin Roesch sein kostenloses und Open-Source-IDS-System SNORT entwickelte. Aufgrund seines leichten Designs und seiner flexiblen Bereitstellungsoptionen wuchs die Benutzerbasis von Snort in den folgenden Jahren schnell (bis zu 400.000 derzeit).

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 Open-Source-Version von SNORT blieb jedoch verfügbar und wird in Netzwerken auf der ganzen Welt immer noch häufig verwendet. Inzwischen haben einige Konkurrenten im Bereich Open Source IDS Fuß gefasst, allen voran Suricata IDS.

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

Lernen Sie die Grundlagen der Netzwerksicherheit kennen Erweitern Sie Ihre Fähigkeiten mit sieben praktischen Kursen zu Netzwerkmodellen und -protokollen, drahtloser und mobiler Sicherheit, Best Practices für die Netzwerksicherheit und mehr.

Regeln Eine IDS-Lösung ist nur so gut wie die verfügbaren Regeln, die sie auf den überwachten Datenverkehr anwenden kann. Snort hatte schon immer viel Unterstützung aus der Community, und dies hat zu einem umfangreichen Regelwerk geführt, das regelmäßig aktualisiert wird. Die Syntax der Regeln ist recht einfach, und die Programmstruktur ermöglicht es jedem, benutzerdefinierte Regeln in seinem IDS bereitzustellen oder sie mit der Community zu teilen.

Einige kommerzielle Parteien 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 veröffentlicht werden) und CrowdStrikes Threat Intelligence Services.

Suricata kann die gleichen Regeln wie SNORT verwenden. Viele, aber nicht alle VRT-Regeln funktionieren noch. Suricata hat seinen eigenen Regelsatz, der zunächst für zahlende Abonnenten freigegeben wurde, 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. portunabhängige Protokollerkennung und automatische Dateierkennung und Dateiextraktion.

Anwendungserkennung Seit den Anfängen von Snort heißt es, dass Snort nicht „anwendungsbewusst“ sei. Es sieht sich einfach den Verkehr an, der seinen Regeln entspricht, und ergreift eine Aktion (Warnung, Abbruch usw.), wenn es eine Übereinstimmung gibt. Präprozessoren helfen, indem sie den Datenverkehr in ein nutzbares Format formen, auf das die Regeln anzuwenden sind: zum Beispiel Dekomprimierung und Dekodierung, aber Snort musste nicht verstehen, welche Anwendung die Daten generiert hat.

Die geschäftlichen Anforderungen haben sich jedoch im Laufe der Zeit geändert und um sich dem Markt anzupassen, hat Snort 2014 OpenAppID in der Version 2.9.7 auf den Markt gebracht. OpenAppID ermöglicht die Erkennung von Anwendungen über sogenannte Layer-7-Detektoren. Obwohl die Existenz einer bekannten Anwendung nicht immer ein direkter Sicherheitsvorfall ist (z. B. die Verwendung von Dropbox), ermöglicht sie ein besseres Verständnis dessen, was im Netzwerk vorhanden ist. Es können nicht nur zuvor unbekannte Anwendungen gefunden werden, sondern ihr Datenverkehr kann auch verworfen oder gewarnt werden, indem eine AppID mit einer herkömmlichen SNORT-IDS/IPS-Regel verknüpft wird.

Suricata funktioniert in diesem Raum etwas anders. Es unterstützt Erkennungsregeln auf Anwendungsebene und kann beispielsweise HTTP- oder SSH-Verkehr auf nicht standardmäßigen Ports basierend auf Protokollen identifizieren. Es wendet dann auch protokollspezifische Protokolleinstellungen auf diese Erkennungen an.

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

Multithreading Einer der Hauptvorteile von Suricata ist, dass es viel jünger als Snort entwickelt wurde. Das bedeutet, dass es viele weitere Funktionen an Bord hat, die heutzutage praktisch nicht mehr zu übersehen sind. Eine dieser Funktionen ist die Unterstützung für Multithreading.

Die Zunahme des Netzwerkverkehrs im Laufe der Jahre wurde von den Verarbeitungsanforderungen an IDS-Geräte (gemessen in Paketen pro Sekunde) genau verfolgt. Glücklicherweise unterstützt Suricata Multithreading von Haus aus. Snort unterstützt jedoch kein Multithreading. Unabhängig davon, wie viele Kerne eine CPU enthält, wird nur ein einzelner Kern oder Thread von Snort verwendet.

Es gibt eine ziemlich komplizierte Problemumgehung: Ausführen mehrerer SNORT-Single-Thread-Instanzen, die alle in dasselbe Protokoll eingespeist werden. Der zusätzliche Aufwand für die Verwaltung dieses Prozesses (AutoFP) und die hohen Hardwarekosten führen jedoch dazu, dass dieses Setup in Produktionsumgebungen selten zu finden ist. SNORT3 wird Multithreading unterstützen, befindet sich aber noch im Alpha-Stadium und läuft als Snort++. Natürlich wird davon abgeraten, ein Produkt im Alpha-Stadium in einer Produktionsumgebung zu verwenden. Multithreading ist zweifellos ein starkes Argument dafür, Suricata Snort vorzuziehen.

Dateiextraktion Suricata unterstützt die Dateiextraktion. Dies ist eine unglaublich nützliche Funktion, die das automatische Extrahieren ausgewählter Dateien ermöglicht, sobald eine Regel mit der Option „Dateispeicher“ ausgelöst wird. Es ist beispielsweise möglich, alle .pdf-Dateien oder alle Einzelpixel-.png-Dateien zu extrahieren und sie in einem vorkonfigurierten Ordner für weitere manuelle Analysen, VirusTotal-Lookups oder sogar automatisiertes Sandboxing zu speichern.

Alternativen Während Snort und Suricata sicherlich die beliebtesten Open-Source-Intrusion-Detection-Systeme sind, gibt es einige Alternativen. Die zuvor erwähnte aktualisierte SNORT3-Version sieht mit ihrer Unterstützung für Multithreading, Dienstidentifikation und einer einfacheren Regelsprache sehr vielversprechend aus. Dies ist seit vielen Jahren in der Entwicklung. Die Alpha-Phase reicht jedoch bis 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, aber diese können manchmal etwas anders funktionieren. Der Bro Network Security Monitor (jetzt bekannt als Zeek) zum Beispiel ist eher ein Anomalie-Erkennungssystem. Wo Snort und Suricata mit traditionellen IDS-Signaturen arbeiten, verwendet Bro/Zeek Skripte, um den Datenverkehr zu analysieren.

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

Lernen Sie die Grundlagen der Netzwerksicherheit kennen Erweitern Sie Ihre Fähigkeiten mit sieben praktischen Kursen zu Netzwerkmodellen und -protokollen, drahtloser und mobiler Sicherheit, Best Practices für die Netzwerksicherheit und mehr.

Fazit Es gibt mehrere gute Open-Source-IDS-Optionen. Aufgrund ihrer Unterschiede funktionieren jedoch nicht alle Lösungen für jede Umgebung. Die Auswahl der besten Produkte sollte darauf basieren, welche anderen, sich möglicherweise überschneidenden Sicherheitsprodukte bereits vorhanden sind, welche Art von Datenverkehr das Netzwerk durchquert, die Menge des Datenverkehrs und die Fähigkeiten des verfügbaren IT-Personals.

Quellen