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
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