05.02.2013 Aufrufe

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

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.

Sequenznummern, eine Überprüfung der CRC-Prüfsummen sowie weitere<br />

Untersuchungen (Spoofing, Port, IP....) durch.<br />

Sequenznummern (SSN) <strong>und</strong> Inkrement (ISN) sind charakteristisch <strong>für</strong> Betriebssysteme<br />

<strong>und</strong> Versionen, sie zeigen einem Angreifer, welche Angriffe, z.B. "buffer overflows", DoS<br />

oder andere, mit hoher Wahrscheinlichkeit direkt zum Erfolg führen, <strong>und</strong> welche Fehler im<br />

Betriebssystem mit Sicherheit schon behoben worden sind.<br />

Nur wenige Hersteller von Betriebssystemen bzw. <strong>Firewall</strong>s bieten eine "randomisierung"<br />

der TCP-Sequenznummern an, was eine Vorausberechnung der Sequenznummern bzw.<br />

einen session hijacking attack völlig unmöglich macht. Eine schnelle <strong>Firewall</strong> mit SPF-<br />

Architektur leitet Pakete ohne Veränderung der TCP-Sequnznummern weiter, da sie sich<br />

darauf verläßt , daß der TCP/IP-Stack des Ziel-Servers bei der Zusammensetzung der<br />

Pakete Fehler bemerkt. Die Vorausberechnung der Sequenznummern ist <strong>für</strong> session<br />

hijacking, also der Übernahme einer Verbindung nach erfolgter Authentifizierung<br />

unbedingt erforderlich, hierzu muß der Angreifer sich möglichst nahe an dem Ziel<br />

befinden. Schnelles Timing ist hier erforderlich. Daher funktioniert session hijacking einer<br />

bereits authentifizierten Verbindung zu einem Server hinter einer <strong>Firewall</strong> immer dann,<br />

wenn die <strong>Firewall</strong> selber die Sequenznummern nicht randomisiert.<br />

SPF's haben den Vorteil, schnell zu sein, leider geht das immer auf Kosten der Sicherheit.<br />

So lassen einige <strong>Firewall</strong>s vom Typ SPF inzwischen keine IP-fragments oder interlaced<br />

fragments mehr passieren, wenn eine Reassemblierung von IP-Paketen durchgeführt<br />

wird. Es können aber die darin enthaltenen TCP Pakete, die z.B. fehlerhafte Prüfsummen<br />

oder zu große Offsets besitzen, immer noch Schaden auf dem Server hinter der <strong>Firewall</strong><br />

anrichten.<br />

Die Argumentationsweise der Hersteller besagt, daß die <strong>Firewall</strong> nicht alle Pakete wirklich<br />

prüfen muß, da z.B. Pakete mit fehlerhafte Prüfsummen (CRC) ja von dem<br />

Betriebssystem hinter der <strong>Firewall</strong>, z.B. einem NT-Server erkannt <strong>und</strong> erneut angefordert<br />

werden, wäre da nicht der kleine Fehler im TCP/IP-Stack von NT 4.0 bis SP2 . (Siehe<br />

BUGTRAQ) Dieser reagiert auf ein speziell konstruiertes TCP-Paket nicht nur mit einer<br />

neuen Anforderung dieses fehlerhaften Pakets, sondern initiiert zudem noch eine zweite<br />

Verbindung von sich aus in das Internet, zu einer vom Angreifer zu bestimmenden IP -<br />

Nummer. Hier erwartet der NT-Server eine Antwort von außen über die <strong>Firewall</strong> <strong>zurück</strong>,<br />

welche die <strong>Firewall</strong> auch passieren läßt, da ja ein Verbindungswunsch von innen vorliegt.<br />

Und schon hat ein Angreifer direkten Zugriff auf den NT-Server. Zugegeben, dieser Angriff<br />

ist kompliziert <strong>und</strong> nur von wenigen Personen durchführbar, aber er funktioniert, <strong>und</strong> zwar<br />

direkt über die <strong>Firewall</strong> hinweg. Zahlreiche Beispiele der TCP/IP-Stack-Angriffe auf NT-<br />

Server, die in BUGTRAQ veröffentlicht wurden, funktionieren nachweislich auch durch<br />

diese <strong>Firewall</strong>s hindurch.<br />

Angesichts stark gestiegener CPU- <strong>und</strong> Memory-Bandbreiten sollten <strong>Firewall</strong>s mit<br />

eigenem TCP/IP-Stack <strong>und</strong> PROXY-Diensten stets bevorzugt werden. Man sollte sich<br />

daher immer gut überlegen, ob man eine <strong>Firewall</strong> einsetzt, die standardmäßig den<br />

TCP/IP-Stack eines Betriebssystems nutzt (z.B. Microsoft PROXY-Server <strong>2.0</strong>, WINGATE,<br />

WINPROXY, CONSEAL........) oder nach dem SPF-Design arbeitet.<br />

Ein dummes Problem bei <strong>Firewall</strong>s ist, daß man nicht genau weiß, ob die <strong>Firewall</strong> Teile<br />

des IP-Stacks des Betriebssystems mitbenutzt, oder ob die <strong>Firewall</strong> sogar ihren eigenen<br />

IP-Stack implementiert. Bei dem Maktführer <strong>Firewall</strong>-1 3.0 <strong>und</strong> 4.0 von Checkpoint ist das<br />

Problem, daß die Zahl der Einträge in den connection table begrenzt ist, <strong>und</strong> die<br />

<strong>Firewall</strong>-1 den Timeout auf 1 St<strong>und</strong>e gesetzt hat. Die <strong>Firewall</strong>-1 kann dann keine Pakete<br />

mehr annehmen <strong>und</strong> folglich ist ein DoS Angriff zu 100% erfolgreich. Mit Hilfe eines kleine<br />

PERL-Skriptes auf der <strong>Firewall</strong>, welches in regelmäßigen Abständen nach den<br />

sogenannten failed closed Verbindungen sucht (Siehe netstat -an), läßt sich das Problem<br />

recht einfach beheben (jedenfalls bei den von mir installierten <strong>LINUX</strong> <strong>Firewall</strong>s). Das<br />

Skript kann zudem noch einige anderen Probleme mit TCP/IP Stacks, die <strong>LINUX</strong> ja auch<br />

hat, beheben. Für Betreiber von mission critical Systemen im Internet kann dies<br />

erhebliche Verluste bedeuten. Von diesen Angriffen ist auch häufiger (nach meinen Test -<br />

Erstellt von Doc Gonzo - http://kickme.to/plugins

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!