12.07.2015 Aufrufe

(eBook - pdf - german) Intrusion Detection für Linux-Server

(eBook - pdf - german) Intrusion Detection für Linux-Server

(eBook - pdf - german) Intrusion Detection für Linux-Server

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Kapitel 9·Netzwerkbasierte <strong>Intrusion</strong> <strong>Detection</strong>-Systeme 243Unter Umständen besteht jedoch auch die Möglichkeit, den Ort einer Rücksprungadresseauf dem Stack vorherzusagen und so zu überschreiben, dassein gezielter Rücksprung auf Code, der sich im Vorfeld in den eingegebenenDaten befand, erfolgt. Dann wird in dem Benutzerkontext des missbrauchtenProgramms der gerade eingegebene Code ausgeführt. Üblicherweise handeltes sich hierbei um den Aufruf einer UNIX-Shell. Daher bezeichnet man diesenvon dem Einbrecher verwendeten Code auch häufig als Shellcode. Diesist unter UNIX besonders brisant, da viele Netzwerkdienste über Rootprivilegienverfügen und Eingaben aus ungewisser Quelle entgegen nehmen.Weisen diese Dienste derartige Mängel auf, so können sie ausgenutzt werden,um Rootprivilegien auf dem entsprechenden Rechner zu erlangen. Indiesem Fall spricht man von Root Exploits.Diese Art des Bufferoverflows ist recht leicht an dem so genannten NOPSled zu erkennen. Ein gezielter Rücksprung, wie gerade beschrieben, istmeist nicht möglich. Der Angreifer kann nicht genau den Zustand des Stacksvorhersagen. Daher kann er auch nicht die Rücksprungadresse berechnen.Nun versieht er seinen Code zu Beginn mit bis zu mehreren hundert NOP-Befehlen. Ein NOP ist ein No-Operation-Befehl. Dieser Befehl hat, wenn ervon dem Prozessor ausgeführt wird, keine Funktion außer den Instructionpointerweiterzubewegen. Ist der Code <strong>für</strong> den Bufferoverflow derartig angepasst,so muss die Rücksprungadresse nur noch ungefähr in den Bereich derNOP-Befehle zeigen. Dies bezeichnet man als NOP-Schlitten (Sled), da derBefehlszeiger wie auf einem Schlitten über die NOPs zum Bufferoverflowrutscht und schließlich diesen Code ausführt.Bufferoverflows sind nicht die einzigen Sicherheitslücken, welche auf Programmiererfehlerzurückzuführen sind. So genannte Format String-Fehlersind ähnlich tückisch und erlauben Angriffe ähnlicher Wirksamkeit. ImAnhang finden Sie weitere Informationen zu Bufferoverflows, Format StringErrors und dem Schutz vor der Ausnutzung dieser Sicherheitsmängel.Erzeugung der RegelnUm nun eine Regel erzeugen zu können, die diesen Bufferoverflow erkennenkann, benötigen wir zunächst ein wenig mehr Informationen über den Bufferoverflowselbst. Eine recht umfangreiche Datenbank, in der viele relevanteSicherheitslücken archiviert werden, ist die Vulnerability Database aufhttp://www.securityfocus.com. Der angesprochene IMAP-Bufferoverflow wirddort unter http://online.securityfocus.com/bid/130/ besprochen.Der Washington University IMAP <strong>Server</strong> ist ein Netzwerkdienst, welcher einenZugriff mit dem IMAP-Protokoll (Internet Message Access Protocol) auf E-Mail-Konten erlaubt. Dieser Dienst besitzt Rootprivilegien, wenn er unter UNIXgestartet wird.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!