Firewall Handbuch für LINUX 2.0 und 2.2 - zurück
Firewall Handbuch für LINUX 2.0 und 2.2 - zurück
Firewall Handbuch für LINUX 2.0 und 2.2 - zurück
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
• Ursachen von buffer overflows<br />
• Funktionsweise<br />
• Security Scanner<br />
• Updates gegen buffer overflows<br />
Buffer overflows gehören mit zu den gefährlichsten Angriffen überhaupt. Betroffen sind<br />
vornehmlich Internet-Server (WWW), DIAL-IN Router, PROXY-Caches, Newsserver,<br />
Mailserver, FAX-Server, SQL-Server, SSL-Server <strong>und</strong> viele Sicherheitsprogramme, wie<br />
z.B. PPTP, SSH.... Zunehmend benutzen Angreifer buffer overflows auf Angriffe von<br />
Servern in Unternehmen.<br />
Gr<strong>und</strong> sind mangelhafte Längenabfragen bei den an ein Programm übergebenen Daten.<br />
Hat ein Programm eine bestimmte Anzahl von Bytes <strong>für</strong> z.B. die Annahme eines<br />
Paßwortes oder einer URL (http://www.xyz.de/index.asp?Name=text.....) reserviert, so<br />
führt die Übergabe eines überlangen Strings zu einer Schutzverletzung in der<br />
Speicherverwaltung des Servers/Clients. Ein Angreifer übergibt dann als String Daten, die<br />
mit NOP Befehlen (No Operation) beginnen, <strong>und</strong> danach ein paar Byte zum Aufruf eines<br />
Programms (z.B format c:) enthalten. Dieser String überschreibt dann im Speicher andere<br />
Programmteile, die dann evtl. nicht mehr funktionieren. Da ein Server jedoch gewöhnlich<br />
viele unwichtige Programmroutinen im RAM hält, die wenig oder nie gebraucht werden,<br />
fällt dieser Angriff zunächst nicht auf. Irgendwann springt der IP (Instruction Pointer) eines<br />
Programms in diejenige Routine, die von dem buffer overflow überschrieben wurde. Da<br />
die genaue Adresse meist unbekannt ist, wurden mit einigen h<strong>und</strong>ert oder tausend NOP<br />
da<strong>für</strong> gesorgt, daß der IP an jeder Adresse einspringen kann. Danach trifft er unweigerlich<br />
auf das eingeschleuste Programm <strong>und</strong> führt es aus.<br />
Im Internet finden sich h<strong>und</strong>erte von vorgefertigten Programmen, auch »exploits« genannt,<br />
die diese Fehler in Betriebssystemen ausnutzen. Security Scanner fragen auf dem<br />
Betriebssystem Versionsnummern ab <strong>und</strong> warnen, falls ein Problem bekanntgeworden ist.<br />
Das bedeutet, daß Security Scanner nicht die Sicherheit eines Betriebssystems testen,<br />
sondern nur darauf, ob ein bereits bekannter exploit an diesem Server/Programm<br />
Schaden anrichten könnte. Security Scanner testen allerdings noch viele zusätzliche<br />
Dinge, vornehmlich bekannte Konfigurationsfehler, die natürlich immer sehr<br />
betriebssystemspezifisch sind. Unbekannte »exploits« können Security-Scanner nicht<br />
testen.<br />
Genaue Recherchen haben aber gezeigt, daß oft schon bis 6 Monate vor dem Erscheinen<br />
eines exploits Gerüchte über einen möglichen buffer overflow auf einem<br />
Betriebssystemen, Router, u.s.w in NEWSGROUPS aufgetaucht sind<br />
(www.dejanews.com).<br />
Es sind aber auch schon Fälle bekanntgeworden, wo buffer overflow Angriffe aus der<br />
ehemaligen SU erfolgreich waren, die erst ca. 2 Jahre später in den Mailing-Listen von<br />
BUGTRAQ aufgedeckt wurden.<br />
Fleißiges Mitlesen der Listen <strong>und</strong> einspielen von Sicherheits-Patches hilft nur <strong>und</strong><br />
ausschließlich gegen den MOB, der sich im Internet breitmacht <strong>und</strong> exploits testet, gegen<br />
professionelle Angreifer müssen sichere Betriebssysteme <strong>und</strong> Filter eingesetzt werden.<br />
Wie kann man sich vor buffer overflows schützen?<br />
Es gibt nur 2 Betriebssysteme, die erwiesenermaßen gegen einen solchen Angriff<br />
schützen können. Solaris 2.6/2.7 <strong>und</strong> Secure<strong>LINUX</strong> (Canary Stackguard / MemGuard). In<br />
Solaris 2.6+ muß hierzu, geht man von einer »normalen« Installation aus, erst ein Schalter<br />
aktiviert werden, der verhindert, daß Programme in »stack« <strong>und</strong> »heap« ausgeführt<br />
werden können (noexec_user_stack, noexec_user_heap).<br />
Erstellt von Doc Gonzo - http://kickme.to/plugins