Stabsstelle DV-Sicherheit der
Universität Stuttgart (RUS-CERT)
https://cert.uni-stuttgart.de
logo
Meldung Nr: RUS-CERT-1099

[Generic/Snort] Heapüberlaufschwachstelle im Snort-Modul zur TCP-Reassemblierung
(2003-04-16 22:35:17.154746+00)

Quelle: http://www.coresecurity.com/common/showdoc.php?idx=313&idxseccion=10

Ein Pufferüberlaufschwachstelle im Snort-Pluginmodul Stream4 Preprocessor ermöglicht es einem Angreifer, durch Versenden entsprechend formulierter TCP-Pakete einen Heapüberlauf zu provozieren und subsequent beliebigen Code mit den Privilegien des Snort-Prozesses auszuführen.

Betroffene Systeme

Nicht betroffene Systeme

Vulnerability ID

Einfallstor
Senden speziell formulierter TCP-Pakete, wobei es genügt, daß Snort die Pakete sieht.

Auswirkung
Kompromittierung des beherbergenden Rechnersystems
(remote root compromise)

Typ der Verwundbarkeit
heap overflow bug

Gefahrenpotential
sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)

Kontext
Snort ist ein weitverbreitetes Open-Source-Intrusion Detection System (IDS) zur Echtzeitanalyse von Netzwerkverkehr. Es kann als Packet Sniffer, Packet Logger (z. B. für das Debugging in Netzwerken) oder als vollwertiges Intrusion Detection System zur Erkennung netzwerkbasierter Angriffe eingesetzt werden.

Beschreibung
Das Modul Stream4 Preprocessor , führt die Reassemblierung von TCP-Paketen durch, bevor die Pakete zur weiteren Analyse intern weitergereicht werden. Eine Pufferüberlaufschwachstelle in diesem Modul kann durch einen Angreifer durch das Senden speziell formuierter TCP-Pakete dazu ausgenuzt werden, einen Heapüberlauf zu provozieren und subsequent beliebigen Programmcode mit den Privilegien des Snort-Prozesses auszuführen. Da ein IDS Zugriff auf Netzwerkressourcen benötigt, läuft Snort üblicherweise unter der UID=0 (root), so daß die erfolgreiche Ausnutzung dieser Schwachstelle zur Kompromittierung des beherbergenden Rechnersystems führt.

Für die Ausnutzung ist es in vielen Fällen nicht nötig, die IP-Adresse eines Zieles zu wissen, da IDS meist so aufgestellt sind, daß sie den Verkehr zu mehreren Systemen oder zu einem Subnetz überwachen können. Daher ist es in solchen Fällen ausreichend, entsprechend formulierte Pakete an ein Netz zu schicken, von dem bekannt ist, daß es durch ein Snort-System überwacht wird, um dieses erfolgreich anzugreifen.

Workaround
Deaktivierung des Moduls Stream4 Preprocessor in der Snort-Konfigurationsdatei snort.conf.
Achtung! Diese Maßnahme führt dazu, daß die Reassemblierung von TCP-Paketen nicht mehr funktioniert und Snort dadurch beispielsweise Angriffe mit fragmentierten Paketen nicht erkennen kann. Weitere unerwünschte Seiteneffekte können auftreten. Die Maßnahme führt zu starken Betriebseinschränkungn.
Es wird daher dringend empfohlen, so bald wie möglich die im nächsten Paragraphen aufgeführten Gegenmaßnahmen zu ergreifen.

Die nötigen Schritte zur Deaktivierung des Moduls Stream4 Preprocessor sind hier exemplarisch für UNIX-Betriebssysteme beschrieben:

  1. werden Sie root
    $ su
    Password:
    # 
    
  2. Editieren Sie die Datei /usr/local/etc/snort.conf (der Pfad kann je nach Distribution und Konfiguration variieren)
    # vi /usr/local/etc/snort.conf
    
  3. Suchen Sie die Zeile
    preprocessor stream4_reassemble 
    
    und kommentieren sie sie durch Voranstellen eines Doppelkreuzes ('#') aus
    # preprocessor stream4_reassemble 
    
  4. Speichern Sie die Änderung mit dem vi-Kommando :wq! ab. Das Kommando beendet den Editor.
  5. Senden Sie ein HUP-Signal an den laufenden snort-Prozeß
    #  kill -HUP <PID des Snort-Prozesses>
    

Gegenmaßnahmen

Exploit Code

Weitere Information zu diesem Thema

(og)

Weitere Artikel zu diesem Thema:

Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.

Copyright © 2017 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/


https://cert.uni-stuttgart.de/ticker/article.php?mid=1099