-
Gebiet und
Hintergrund der Erfindung
-
Die
vorliegende Erfindung betrifft ein System, eine Vorrichtung und
ein Verfahren zum raschen Paketfiltrieren in einem paketvermittelten
Netz und insbesondere ein derartiges System, eine derartige Vorrichtung
und ein derartiges Verfahren, bei welchen die Effizienz der Paketfiltrierung
durch Filtrieren auf Sessionbasis erhöht wird.
-
Verbindungsfähigkeit
und Sicherheit sind zwei widersprüchliche Ziele in der Computerumgebung
der meisten Organisationen. Das typische moderne Computersystem
ist um die Netzkommunikation aufgebaut und bietet transparenten
Zugriff auf eine Vielzahl von Diensten. Die globale Verfügbarkeit dieser
Dienste ist vielleicht das wichtigste Einzelmerkmal von modernen
Computerlösungen.
Der Bedarf nach Verbindungsfähigkeit
kommt sowohl von innerhalb der Organisationen als auch von außerhalb.
-
Der
Schutz von Netzdiensten gegen unberechtigte Nutzung ist für jede Organisation
von größter Wichtigkeit.
Mit zunehmendem Bedarf nach gesteigerter Sicherheit wurden die Einrichtungen
zur Kontrolle des Zugriffs auf Netzressourcen an den vordersten
Rang der Verwaltungsaufgaben gesetzt. Um Kosten zu sparen und die
Produktivität
aufrechtzuerhalten, muss die Zugriffskontrolle einfach zu konfigurieren
und für
Benutzer und Anwendungen transparent sein. Die Minimierung von Einrichtungskosten und
Ausfallzeiten sind ebenfalls wichtige Faktoren.
-
Paketfiltrierung
ist ein Verfahren, das die Verbindungsfähigkeit zulässt, aber doch durch die Kontrolle
des durchgeleiteten Verkehrs Sicherheit bietet, womit illegale Kommunikationsversuche
sowohl innerhalb einzelner Netze als auch zwischen verbundenen Netzen
verhindert werden.
-
Die
US-Patente Nr. 5,835,726 (eingereicht am 17. Juni 1996) und 5,606,668
(eingereicht am 15. Dezember 1993) beschreiben Verfahren zum Schaffen
von Netz-Sicherheit durch Kontrollieren des hereinkommenden und
hinausgehenden Datenpaketstroms in einem Computernetz. Der Paketstrom
wird durch Paketfiltrierung kontrolliert, die gemäß einer vom
Benutzer erzeugten Regelbasis durchgeführt wird, die dann in eine
Gruppe von Filtersprachbefehlen umgewandelt wird. Jede Regel in
der Regelbasis umfasst eine Quelle, ein Ziel, einen Dienst, ob das Paket
akzeptiert oder zurückgewiesen
werden soll und ob das Ereignis geloggt, verschlüsselt und/oder authentifiziert
werden soll. Die Gruppe der Filtersprachbefehle wird auf Prüfmaschinen
installiert und ausgeführt,
die auf Computern platziert werden, die als Firewalls dienen. Die
Prüfmaschinen
führen
eine stateful-Prüfung
durch, um zu bestimmen, ob einem Paket der Durchgang durch die Firewall
erlaubt werden sollte. Die Firewalls sind in dem Computernetz in der
Weise positioniert, dass der gesamte Verkehr in das zu schützende Netz
und aus dem zu schützenden
Netz gezwungen ist, durch die Firewall zu laufen. Somit werden Pakete,
während
sie in das Netz und aus dem Netz strömen, in Übereinstimmung mit den Regeln,
die die Regelbasis enthält,
gefiltert.
-
Gemäß diesen
Referenzen arbeitet die Prüfmaschinen
als eine virtuelle Paketfiltermaschine, die auf der Basis von einzelnen
Paketen bestimmt, ob ein Paket veeworfen oder akzeptiert wird. Wenn
ein Paket verworfen wird, wird es fallengelassen. Wenn es akzeptiert
wird, kann das Paket dann modifiziert werden. Die Modifizierung
kann Verschlüsselung, Entschlüsselung,
Erzeugen einer Signatur, Verifizierung eine Signatur oder Adressübersetzung
umfassen. Alle Modifizierungen werden in Übereinstimmung mit dem Inhalt
der Regelbasis durchgeführt.
-
Leider
ist ein Nachteil des aufgezeigten Verfahrens, dass der die Firewall
betreibende Computer eine große
Rechenlast zu leisten hat. Die vorstehend aufgezeigten Prozesse
des Paketfiltrierens erfordern es, dass jedes Paket separat analysiert
wird, und zwar mit vielen verschiedenen Vergleichen, um die Regeln
aufzustellen, gemäß welchen
der Eintritt eines Pakets durch die Firewall bestimmt wird. Wenn eine
Session oder eine Verbindung zwischen zwei Knoten, die durch die
Firewall eingerichtet wird, als zulässig validiert wurde, ist jedoch
in den meisten Fälle
eine weitere intensive Analyse möglicherweise nicht
erforderlich. Somit würde
das Reduzieren oder sogar das Beseitigen dieser Erfordernis der
kontinuierlichen Analyse von Paketen aus einer zulässigen Verbindung
die durch eine Firewall entstehende Rechenlast beträchtlich
reduzieren und den Prozess des Paketfiltrierens beschleunigen, während die
Sicherheit des geschützten
Systems weiterhin aufrechterhalten bleibt.
-
Somit
besteht Bedarf dafür
und wäre
es nützlich,
ein System, eine Vorrichtung und ein Verfahren zum raschen Paketfiltrieren
gemäß der Verbindung, von
welcher ein Paket empfangen wird, zu haben, sodass dann, wenn ein
Paket von einer zugelassenen Verbindung empfangen wird, das Erfordernis
der vollständigen
Paketanalyse reduziert oder sogar beseitigt wird, während die
Fähigkeit,
rasch und effizient Pakete zu modifizieren, weiterhin aufrechterhalten bleibt,
optional durch Hardwarebeschleunigung des Modifizierungsprozesses.
-
Kurzbeschreibung
der Erfindung
-
Die
vorliegende Erfindung betrifft ein System, eine Vorrichtung und
ein Verfahren zum beschleunigten Paketfiltrieren in einem paketvermittelten
Netz, vorzugsweise einem IP-Netz, durch Ergänzen einer Firewall mit einem
Vorfilter-Modul. Das Vorfilter-Modul führt hinsichtlich der Pakete
eine beschränkte
Reihe von Handlungen entsprechend der Tatsache durch, ob die Pakete
von einer Verbindung empfangen werden, die zuvor von der Firewall
zugelassen wurde. Wenn die Pakete von einer derartigen zugelassenen
Verbindung empfangen wurden, leitet das Vorfilter-Modul die Pakete
zu ihrem Bestimmungsort weiter, wobei optional eine oder mehrere Aktionen
an den Paketen durchgeführt
werden. Andernfalls werden die Pakete zu der Firewall zur Handhabung
weitergeleitet. Vorzugsweise empfängt, sobald die Firewall einmal
die Verantwortung für
die Verbindung auf das Vorfilter-Modul übertragen hat oder die Verbindung "abgegeben" hat, die Firewall keine
weiteren Pakete von dieser Verbindung, bis für die Verbindung ein Zeitablauf
eingetreten ist oder ein Paket mit einem bestimmten Session-Kontrollfeldparameter
empfangen wird, der anzeigt, dass die Session beendet ist, sodass
die Verbindung abgebaut wird.
-
Beispielsweise
ist für
die vorzugsweise Implementierung der vorliegenden Erfindung in IP-Netzen
ein derartiger Session-Kontrollfeldwert ein FIN/RST-Merker, der
für das
Paket gesetzt wird.
-
Ein
Vorteil des Reduzierens oder sogar des Beseitigens des Ausmaßes der
Analyse, das für
Pakete aus einer zugelassenen Verbindung erforderlich ist, liegt
darin, dass die Firewall optional durch Hardwarebeschleunigung ergänzt werden
kann. Diese Hardwarebeschleunigung hat den Vorteil, dass sie wesentlich
schneller als die Paketverarbeitung auf Softwarebasis ist und daher
die Effizienz des Firewallsystems beträchtlich steigern kann. Zusätzlich kann
die Hardwarebeschleunigung des Modifizierungsprozesses die Fähigkeit
aufrechterhalten, Pakete rasch und effizient zu modifizieren, da
der Modifizierungsprozess weniger "Intelligenz" zum Modifizieren der Pakete erfordert,
aber eine schnellere Verarbeitung, während für den Prozess der Paketanalyse
die umgekehrten Eigenschaften gelten. Somit wird optional und vorzugsweise
das Vorfilter-Modul als Hardware implementiert.
-
Gemäß vorliegender
Erfindung wird ein System zum beschleunigten Filtrieren eines Pakets
in einem Netz geschaffen, wobei das System aufweist: (a) eine im
Netz positionierte Firewall zur Durchführung des Paketfiltrierens
an dem Paket nach mindestens einer Regel; und (b) ein Vorfilter-Modul
in Verbindung mit der Firewall, welches Vorfilter-Modul das Paket
vor der Firewall empfängt,
wobei das Vorfilter-Modul ein Anfangspaketfiltrieren an dem Paket
in Übereinstimmung
mit mindestens einer von der Firewall empfangenen Instruktion durchführt, sodass dann,
wenn das Paket nach der mindestens einen Instruktion zulässig ist,
das Vorfilter-Modul das Paket handhabt, und alternativ das Vorfilter-Modul
das Paket zu der Firewall zur Handhabung weiterleitet.
-
Gemäß einer
weiteren Ausführungsform
der vorliegenden Erfindung wird ein System zum beschleunigten Filtrieren
eines Pakets in einem Netz geschaffen, wobei das System aufweist:
(a) eine im Netz positionierte Firewall zur Durchführung des
Paketfiltrierens an dem Paket nach mindestens einer Regel; und (b)
ein im Netz angeordnetes Vorfilter-Modul, das in Kommunikation mit
der Firewall steht, zum Empfangen von mindestens einer Instruktion
von der Firewall, wobei die mindestens eine Instruktion einen einfachen
Vergleich bestimmt, und zum Empfangen eines im Netz übermittelten
Pakets vor der Firewall, sodass dann, wenn das Paket gemäß dem einfachen Vergleich
zulässig
ist, das Vorfilter-Modul das Paket in dem Netz zumindest überträgt.
-
Gemäß noch einer
weiteren Ausführungsform
der vorliegenden Erfindung wird zur Verwendung in einem System zum
beschleunigten Paketfiltrieren, welches System ein Netz zum Übertragen
eines Pakets und eine Firewall in dem Netz zum Filtrieren des Pakets
aufweist, eine Vorrichtung zum Empfangen des Pakets vor der Firewall
geschaffen, welche Vorrichtung enthält: (a) einen Speicher zum
Speichern mindestens einer Instruktion zum Analysieren mindestens
eines Parameters des Pakets von der Firewall, wobei die mindestens
eine Instruktion mindestens einen Parameter zum Identifizieren des
Pakets aufweist; und (b) eine Klassifizierungsmaschine zum Analysieren
zumindest eines Abschnitts des Pakets und zum Vergleichen des zumindest
einen Abschnitts des Pakets mit dem mindestens einen Parameter gemäß der mindestens
einen Instruktion.
-
Gemäß wiederum
einer weiteren Ausführungsform
der vorliegenden Erfindung wird ein Verfahren zum beschleunigten
Paketfiltrieren in einem Netz in Zusammenhang mit einer Firewall
geschaffen, welches Verfahren die Schritte enthält: (a) Vorsehen eines Vorfilter-Moduls
zum Empfangen eines Pakets vor der Firewall; (b) Empfangen des Pakets durch
das Vorfilter-Modul;
(c) Bestimmen, ob das Paket zulässig
ist; und (d) wenn das Paket zulässig
ist, Handhaben des Pakets durch das Vorfilter-Modul.
-
Nachfolgend
umfasst der Begriff "Netz" eine Verbindung
zwischen zwei oder mehr beliebigen Computereinrichtungen, die die Übertragung
von Daten erlaubt.
-
Nachfolgend
umfasst der Begriff "Computereinrichtung", ohne darauf beschränkt zu sein,
Personalcomputer (PC) mit einem Betriebssystem, wie etwa WindowsTM oder Linux; MacintoshTM Computer; Computer
mit JavaTM-OS als Betriebssystem; Workstations,
wie z. B. die Computer von Sun MicrosystemsTM und
Silicon GraphicsTM, und andere Computer,
die eine Version des Unix-Betriebssystems, wie z. B. AIXTM oder SOLARISTM von
Sun MicrosystemsTM haben; jedes andere bekannte
oder verfügbare
Betriebssystem; jede Art von Computer; jede Einrichtung, die mit
einem paketvermittelten Netz verbunden werden kann und die ein Betriebssystem
hat, darunter, ohne darauf beschränkt zu sein, VxWorksTM und PSOSTM; oder
jede Einrichtung, die so mit einem paketvermittelten Netz verbunden
werden kann, die in der Lage ist, Pakete zu senden und zu empfangen und
die mindestens einen Datenprozessor hat, wie z. B. einen Netzprozessor,
darunter, ohne darauf beschränkt
zu sein, eine Brücke,
einen Umschalter oder einen Router. Nachfolgend umfasst der Begriff "WindowsTM", ohne darauf beschränkt zu sein,
Windows NTTM, Windows98TM,
Windows2000TM, WindowsCETM und
alle aktualisierten Versionen dieser Betriebssysteme von Microsoft
Corp. (USA).
-
Das
Verfahren gemäß vorliegender
Erfindung könnte
als eine Reihe von Schritten beschrieben werden, die von einem Datenprozessor
durchgeführt
werden, und könnte
somit optional als Software, Hardware oder Firmware oder eine Kombination
daraus implementiert werden. Für
die vorliegende Erfindung könnte
eine Softwareanwendung im wesentlichen in jeder geeigneten Programmiersprache
geschrieben sein, die ohne weiteres von einem Durchschnittsfachmann
ausgewählt
werden kann. Die gewählte
Programmiersprache sollte mit der Computereinrichtung kompatibel
sein, mit welcher die Softwareanwendung ausgeführt wird. Zu den Beispielen für geeignete
Programmiersprachen zählen,
ohne darauf beschränkt
zu sein, C, C++ und Java.
-
Die
EP 0 713 311 A1 lehrt
eine Gateway-Station, die als eine Firewall zwischen einem privaten Netz
und einem öffentlichen
Netz wirkt. Der Gateway empfängt
Pakete von dem privaten (öffentlichen) Netz,
führt eine
Daten-Sensitivitätsprüfung an
den Paketen durch und verpackt die darin enthaltenen Daten wieder
als neue Pakete, die zu dem öffentlichen
(privaten) Netz zu senden sind. Optional können Pakete von einem Benutzer,
der bereits authentifiziert wurde, neu verpackt werden und nach
einer weniger intensiven Daten-Sensitivitätsprüfung gesendet
werden, als sie an einem Paket von einem nicht authentifizierten
Benutzer angewandt würde. Anders
als bei der vorliegenden Erfindung wird nur eine Netzkomponente
(die Gateway-Station)
für die Daten-Sensitivitätsprüfung verwendet.
-
Die
WO 00/10297 lehrt ein Schnittstellenmodul, das unter anderem als
eine Firewall wirkt. Paketfiltrieraufgaben werden zwischen einer
Verkehrsklassifiziereinrichtung, die einfaches Paketfiltrieren durchführt, und
einem Überwachungsprozessor,
der komplexes Paketfiltrieren durchführt, aufgeteilt. Anders als
bei der vorliegenden Erfindung arbeitet die Verkehrsklassifiziereinrichtung
unabhängig
von dem Überwachungsprozessor.
Insbesondere empfängt die
Verkehrsklassifiziereinrichtung keine Instruktionen von dem Überwachungsprozessor.
An Stelle dessen empfangen sowohl die Verkehrsklassifiziereinrichtung
als auch der Überwachungsprozessor
Instruktionen von einem Verwaltungsprozessorsystem außerhalb
des Schnittstellenmoduls.
-
Kurzbeschreibung
der Zeichnungen
-
Die
vorstehend genannten und weitere Aufgaben, Aspekte und Vorteile
werden aus der folgenden detaillierten Beschreibung einer vorzugsweisen Ausführungsform
der Erfindung unter Bezug auf die Zeichnungen besser verständlich,
in denen:
-
1 ein
schematisches Blockschaltbild eines Systems gemäß vorliegender Erfindung ist;
-
2 ein
schematisches Blockschaltbild einer beispielhaften, aber vorzugsweise
Ausführungsform
des Vorfilter-Moduls aus 1 gemäß vorliegender Erfindung ist;
und
-
3 ein
Flussdiagramm eines beispielhaften Verfahrens gemäß vorliegender
Erfindung ist.
-
Detaillierte
Beschreibung der Erfindung
-
Die
vorliegende Erfindung betrifft ein System, eine Vorrichtung und
ein Verfahren zum Beschleunigen des Paketfiltrierens durch Ergänzen einer
Firewall mit einem Vorfilter-Modul. Das Vorfilter-Modul führt einen
einfachen Vergleich im Hinblick auf die Pakete durch, beispielsweise
danach, ob die Pakete von einer Verbindung empfangen wurden, die zuvor
durch die Firewall zugelassen wurde. Wenn die Pakete von einer derartigen
zugelassenen Verbindung empfangen werden, leitet das Vorfilter-Modul die
Pakete an ihren Bestimmungsort weiter, wobei es optional eine oder
mehrere Aktionen an den Paketen ausführt. Anderenfalls werden die
Pakete zu der Firewall zur Handhabung weitergeleitet. Ferner werden vorzugsweise
Pakete zur Handhabung zu der Firewall weitergeleitet, wenn diese
Pakete besondere Session-Kontrollfeldwerte haben, die einen Eingriff durch
die Firewall erfordern. Beispielsweise umfassen für die vorzugsweise
Implementierung der vorliegenden Erfindung mit IP-Netzen und insbesondere mit
TCP/IP-Verkehr derartige Session-Kontrollfeldwerte
einen gesetzten SYN/FIN/RST-Merker für das Paket. Derartige Session-Kontrollfeldwerte
zeigen Pakete an, die Informationen über den Verbindungsstatus tragen,
und es ist daher wichtig, dass die Firewall sie empfängt und
analysiert, um den Status der Verbindung zu bestimmen. Optional
werden auch Fragmentpakete zu der Firewall weitergeleitet, wenn das
Vorfilter-Modul nicht in der Lage ist, bestimmte Funktionen auszuführen, wie
z. B. virtuelle Defragmentierung für die vorzugsweise Ausführungsform der
Erfindung mit IP-Netzen und insbesondere mit IP-Verkehr.
-
Sobald
die Firewall bestimmt hat, dass eine Verbindung zulässig ist,
oder mindestens einen Parameter zur Durchführung des einfachen Vergleichs anderweitig
bestimmt hat, sendet die Firewall vorzugsweise eine Mitteilung an
das Vorfilter-Modul mit Details über
die neu zugelassenen Pakete. Sobald die Firewall die Verantwortung
für die
Verbindung auf das Vorfilter-Modul übertragen hat oder die Verbindung "abgegeben" hat, empfängt die
Firewall keine weiteren Pakete von dieser Verbindung, bis ein Zeitablauf
für die
Verbindung auftritt oder ein Paket empfangen wird, das besondere
Session-Kontrollfeldwerte hat, die anzeigen, dass die Session beendet
ist, beispielsweise dadurch, dass für die vorzugsweise Implementierung
mit IP-Netzen ein FIN/RST-Merker gesetzt
ist, sodass die Verbindung geschlossen wird. Ein "Zeitablauf" tritt auf, wenn
die Firewall für
eine vorbestimmte Zeitdauer kein Paket empfangen hat.
-
Das
Vorfilter-Modul ist vorzugsweise als Hardware implementiert, um
die Hardwarebeschleunigung zu nutzen. Diese Hardwarebeschleunigung hat
den Vorteil, dass sie schneller ist als die Paketverarbeitung auf
Softwarebasis. Daher wird das Vorfilter-Modul vorzugsweise als eine
Hardwarebasierte Einrichtung umgesetzt, obgleich das Vorfilter-Modul alternativ
als Software oder Firmware implementiert werden könnte. Optional
können
das Vorfilter-Modul und die Firewall als eine kombinierte Einrichtung
implementiert sein, welche eine "Blackbox" sein könnte, die
zur Vereinfachung des Einbaus und des Betriebs zu einem Gateway-Knoten
eines Netzes hinzugefügt werden
oder alternativ diesen ersetzen könnte.
-
Die
Prinzipien und der Betrieb eines Systems, einer Vorrichtung und
eines Verfahrens gemäß der vorliegenden
Erfindung sind unter Bezugnahme auf die Zeichnungen und die beiliegende
Beschreibung besser verständlich,
wobei es sich versteht, dass diese Zeichnungen nur zum Zweck der
Erläuterung
vorgelegt werden und nicht einschränkend sein sollen. Obgleich
die folgende Beschreibung sich auf IP-Netze konzentriert und insbesondere
auf TCP/IP-Paketverkehr,
versteht es sich, dass dies nur zu Erläuterungszwecken dient und in
keiner Weise einschränkend
sein soll.
-
In
den Zeichnungen ist 1 ein schematisches Blockschaltbild
eines Systems gemäß vorliegender
Erfindung. Ein System 10 enthält ein geschütztes Netz 12,
welches ein paketvermitteltes Netz ist, sodass die Daten in Form
von Paketen übertragen
werden. Das geschützte
Netz 12 ist von einem externen paketvermittelten Netz 14 durch
einen Gateway 16 getrennt, der optional jede Art einer Computereinrichtung
sein kann und hierin auch als ein "Zwischenknoten" bezeichnet wird. Das externe Netz 14 könnte optional
beispielsweise das Internet sein. Der Gateway 16 ist durch
eine Hardware-Verbindungseinrichtung,
die hierin als Netz-Schnittstellenkarte 17 dargestellt
ist, sowohl mit dem externen Netz 14 als auch mit dem geschützten Netz 12 verbunden.
-
Der
Gateway 16 betreibt eine Firewall 18 zur Durchführung der
Paketanalyse und des Paketfiltrierens. Pakete, denen der Durchtritt
durch den Gateway 16 von dem externen Netz 14 erlaubt
wird, werden dann von einem aus einer Vielzahl von geschützten Knoten 20 empfangen,
die mit dem geschützten Netz 12 verbunden
sind. Dieser Netzverkehr ist typischerweise bidirektional, sodass
Pakete von dem Gateway 16 von dem geschützten Netz 12 zur Übertragung
zum externen Netz 14 und umgekehrt empfangen werden.
-
Die
Firewall 18 ist vorzugsweise wie vorher in den US-Patenten Nr. 5,835,726
und 5,606,668 beschrieben implementiert. Die Firewall 18 weist
einen Paketfilter 22 zur Durchführung des Paketfiltrierens auf.
Der Paketfilter 22 wiederum ist vorzugsweise aus einem
Analysemodul 24 zum Analysieren von Paketen und einer Regelbasis 26 aufgebaut.
Die Regelbasis 26 enthält
vorzugsweise eine oder mehrere Regeln, die gemäß den Vorlieben des Systemadministrators
oder eines anderen kontrollierenden Benutzers definiert sind. Das
Analysemodul 24 extrahiert und vergleicht den Inhalt der
analysierten Pakete mit den Regeln in der Regelbasis 26.
Wenn das Resultat des Vergleichs so ist, dass das Paket gemäß der Regelbasis 26 zulässig ist,
lässt der
Paketfilter 22 zu, dass das Paket in das geschützte Netz 12 eintritt.
-
Wenn
alternativ das Paket gemäß der Regelbasis 26 nicht
zulässig
ist, wird das Paket optional fallengelassen. Das Paket kann optional
auch als nicht zulässig
bestimmt werden, wenn die Regelbasis 26 die Weitergabe
des Pakets nicht ausdrücklich
zulässt.
-
Ebenfalls
optional und vorzugsweise weist der Paketfilter 22 ein
Modifikationsmodul 28 zum Modifizieren des Pakets auf,
wenn das Paket akzeptiert wird.
-
Zu
weiteren optionalen Merkmalen der Firewall 18 zählt die
Fähigkeit,
eine Verrechnung (accounting) für
die Pakete durchzuführen,
um die Datenmenge zu bestimmen, die auf allen Paketen übertragen
wird, die zu einer bestimmten Verbindung gehören; die Fähigkeit, die Adresse(n) in
dem Paket zu modifizieren; und die Fähigkeit, die Pakete zu verschlüsseln. Insbesondere
die Paketverschlüsselung wurde
vorher in dem US-Patent Nr. 5,835,726 beschrieben. Kurz gesagt können die
Pakete optional für
die Übertragung
zwischen zwei Firewalls 18 verschlüsselt werden, sodass die Pakete
für den
Durchtritt durch das externe Netz 14 verschlüsselt werden. Verschlüsselung
wird auch optional für
die Kommunikation zwischen der Firewall 18 und z. B. einem
Knoten von dem externen Netz 14 verwendet. Die verschlüsselten
Pakete werden dann von der Empfänger-Firewall 18 entschlüsselt und
in das geschützte Netz 12 weitergeleitet.
Auf diese Weise sind die Prozesse der Verschlüsselung und Übertragung
automatisiert und können
in einer Weise durchgeführt werden,
die für
die kommunizierende Software transparent ist.
-
Diese
Merkmale der Firewall 18 werden vorzugsweise wie vorher
in den US-Patenten Nr. 5,835,726 und 5,606,668 beschrieben implementiert. Wenn
jedoch alle Pakete durch die Firewall 18 geleitet werden,
bevor sie in den Gateway 16 eintreten dürfen, fällt für die Firewall 18 eine
große Rechenlast an.
Daher weist gemäß vorliegender
Erfindung der Gateway 16 auch ein Vorfilter-Modul 30 auf,
das die Pakete vor der Firewall 18 empfängt, das jedoch vorzugsweise
direkt mit dem geschützten
Netz 12 verbunden ist. Das Vorfilter-Modul 30 empfängt vorzugsweise
auch Instruktionen von der Firewall 18, und zwar Pakete
betreffend, deren Eintritt in das geschützte Netz 12 zugelassen
ist. Diese Instruktionen werden vorzugsweise durch die Firewall 18 aus
einer Analyse eines oder mehrerer früher empfangener und verwandter
Pakete bestimmt, sodass dann, wenn ein früher empfangenes und verwandtes
Paket für
den Eintritt in das geschützte
Netz 12 zugelassen wurde, das gegenwärtige Paket ebenfalls die Erlaubnis
erhält,
in das geschützte
Netz 12 einzutreten. Wenn somit das Vorfilter-Modul 30 bestimmt,
dass das gegenwärtige
Paket die Erlaubnis zum Eintreten hat, dann leitet das Vorfilter-Modul 30 vorzugsweise das
Paket direkt durch das geschützte
Netz 12.
-
Um
die Effizienz des Betriebs des Vorfilter-Moduls 30 zu steigern,
kann das Vorfilter-Modul 30 vorzugsweise nur eine eingeschränkte Analyse des
Pakets durchführen.
Genauer ausgedrückt
wird vorzugsweise nur ein Abschnitt dieses Pakets von dem Vorfilter-Modul 30 analysiert.
Höchst
bevorzugt analysiert das Vorfilter-Modul 30 jedes Paket
nur im Hinblick auf einen einfachen Vergleich. Mit "einfacher Vergleich" ist gemeint, dass
die Information in Form eines oder mehrerer vordefinierter Parameter
extrahiert wird, die mit einem vorbestimmten Muster derartiger Parameter
verglichen werden.
-
In
einem besonders bevorzugten Beispiel eines einfachen Vergleichs
wird das Paket nur analysiert, bis das Vorfilter-Modul 30 in
der Lage ist zu bestimmen, ob das Paket von einer zugelassenen Datenübertragung
empfangen wurde. Eine derartige zugelassene Übertragung kann als eine Verbindung zwischen
einem Quellknoten, der die Verbindung auslöst, beispielsweise von einem
externen Netz 14, zu einem Zielknoten, der die Verbindung
akzeptiert, beispielsweise einem geschützten Knoten 20, bezeichnet
werden. Es versteht sich, dass, sobald die Verbindung einmal eingerichtet
wurde, die Kommunikation zwischen dem Quellknoten und dem Ziel optional
bidirektional sein kann.
-
Im
Hinblick auf die Paketanalyse wird eine "Verbindung" gemäß mindestens
einem und vorzugsweise mehreren Parametern definiert, die die Datenübertragung
beschreiben, zu der das Paket gehört. Beispiele dieser Parameter
umfassen ohne Einschränkung
die Quelladresse und den -Port des Pakets; die Zieladresse und den
-Port des Pakets; das Protokoll des Pakets und die Schnittstelle,
von welcher das Paket empfangen wurde. Die Verbindung wird verwendet,
um das Paket zu klassifizieren und zu bestimmen, ob das Paket die
Erlaubnis hat, in das geschützte
Netz 12 einzutreten oder es zu verlassen.
-
Die
Firewall 18 definiert jede Verbindung aus einer Analyse
eines oder mehrerer zuvor empfangener und untersuchter Pakete. Die
Firewall 18 prüft den
Inhalt eines derartigen Pakets oder derartige Pakete und bestimmt
auf der Basis der Ausgabe des Analysemoduls 24 mit der
Regelbasis 26, ob Pakete von der entsprechenden Verbindung
für den
Eintritt und/oder das Verlassen des geschützten Netzes 12 zugelassen
werden sollten. Zusätzlich
ist aus den in der Regelbasis 26 gespeicherten Regeln das
Analysemodul 24 in der Lage, eine oder mehrere Aktionen zu
bestimmen, die mit jeder Verbindung in Zusammenhang stehen sollten.
Beispiele für
derartige Aktionen umfassen ohne Einschränkung die Durchführung einer
Buchführungsaktion,
um die Datenmenge in dem Paket zu zählen, Verschlüsseln/Entschlüsseln des
Pakets, die Durchführung
einer Netzadressübersetzung
(NAT) durch Überschreiben
der Adressfelder und dergleichen. Ein bevorzugtes Beispiel für die Modifizierung
des Pakets ist das Markieren des Pakets durch Zuweisung einer Prioritätszahl zu
dem Paket durch das Vorfilter-Modul 30 gemäß den Instruktionen
von der Firewall 18. Diese Prioritätszahl bestimmt die Reihenfolge
der Übertragung
des Pakets und somit seine "Priorität".
-
Die
Firewall 18 leitet dann die relevanten Instruktionen, die
zumindest betreffen, ob das Paket in das geschützte Netz 12 eintreten
darf, und vorzugsweise die Aktionen betreffen, die mit den nachfolgenden
Paketen von dieser Verbindung durchgeführt werden sollten, zu dem
Vorfilter-Modul 30 weiter.
-
Optional
und vorzugsweise führt
das Vorfilter-Modul 30 ein Anti-Umgehungsverfahren durch. Da
das Vorfilter-Modul 30 optional mit mehreren Netzen verbunden
sein kann, können
Pakete von jedem dieser Netze ankommen. Das Anti-Umgehungsverfahren stellt fest, ob ein
IP-Paket, das als von einem bestimmten Netz stammend bezeichnet
ist, tatsächlich
von diesen Netz angekommen ist. Da das Vorfilter-Modul 30 weiß, welches
Netz mit welcher Schnittstelle verbunden ist, kann das Vorfilter-Modul 30 feststellen,
ob ein von einer bestimmten Schnittstelle empfangenes Paket zulässig ist.
-
Die
einfachste Weg, das Anti-Umgehungsverfahren in einem Beschleuniger,
wie etwa dem Vorfilter-Modul 30, zu implementieren, ist,
die Netzschnittstelle betreffende Informationen als Teil der Verbindungsinformationen
einzuschließen,
die für das
Vorfilter-Modul 30 verfügbar
sind. Wenn somit ein Paket von einem zugelassenen Quellknoten kommt,
zu einem zugelassenen Ziel gesendet werden soll und durch die erwartete
Schnittstelle angekommen ist, kann das Paket von dem Vorfilter-Modul 30 verarbeitet
werden. Alternativ und optional kann auch dann, wenn nur die Schnittstelle
nicht korrekt ist, das Vorfilter-Modul 30 bestimmen, dass
das Paket eine Verletzung darstellt, die durch die Firewall 18 weiter
auf ihre Gültigkeit
geprüft
werden sollte. Es gibt andere Wege, ein Anti-Umgehungsverfahren
zu implementieren, ohne die Schnittstelle betreffende Informationen
als Teil der gespeicherten Instruktionen für das Vorfilter-Modul 30 einzuschließen, die ebenfalls
als innerhalb des Schutzumfangs der vorliegenden Erfindung gemäß der Definition
durch die beigefügten
Patentansprüche
liegend betrachtet werden.
-
In
einer vorzugsweisen Ausführungsform des
Vorfilter-Moduls 30,
die in 2 gezeigt ist, ist das Vorfilter-Modul 30 als
Hardware oder zumindest Firmware anstatt nur als Software ausgeführt. Der Vorteil
der Hardware ist, dass sie wesentlich schneller als Software zur
Durchführung
der erforderlichen Aktionen ist. Das schematische Blockschaltbild
aus 2 ist eine vielmehr Logik-basierte anstatt strukturelle
Darstellung der Komponenten des Vorfilter-Moduls 30. Beispielsweise
sind die physischen Verbindungen zwischen den Komponenten nicht
angegeben und können
beispielsweise ein PCI-Bus sein, auf dem alle Komponenten angeordnet
sind. Optional können
die Komponenten beispielsweise mit jeder Art von internem und/oder
externem Bus miteinander verbunden werden.
-
Für diese
Implementierung kann das Vorfilter-Modul 30 als eine "Einrichtung" beschrieben werden,
die vorzugsweise einen Speicher 36 aufweist. Das Vorfilter-Modul 30 enthält eine
Verbindungsdatenbank 32 zum Speichern der relevanten Instruktionen
von der Firewall 18, die in dem Speicher 36 gespeichert
ist. Die Verbindungsdatenbank 32 speichert zumindest den
Parameter bzw. die Parameter des Pakets, die benötigt werden, um die Verbindung zu
definieren, aber speichert vorzugsweise auch mindestens eine Aktion,
die an Paketen von dieser Verbindung durchzuführen ist.
-
Das
Vorfilter-Modul 30 weist vorzugsweise auch eine Klassifizierungsmaschine 38 auf,
die einen Datenprozessor umfasst, um zumindest teilweise die Informationen
von dem Paket zu analysieren und von der Verbindungsdatenbank 32 Informationen
abzufragen. Das Vorfilter-Modul 30 weist vorzugsweise auch
einen Modifikator 34 zur Durchführung der zugehörigen Aktion
bzw. Aktionen für
Pakete von dieser Verbindung auf, die vorzugsweise wie vorstehend beschrieben
in der Verbindungsdatenbank 32 gespeichert sind.
-
Das
Vorfilter-Modul 30 kommuniziert ferner optional und vorzugsweise
bestimmte, ausgewählte Informationen,
die mindestens ein Paket betreffen, an die Firewall 18.
Die ausgewählten
Informationen umfassen optional ohne Einschränkung darauf mindestens einen
der vorstehend beschriebenen Parameter zum Analysieren des Pakets.
Die Kommunikation zwischen dem Vorfilter-Modul 30 und der
Firewall 18 wird optional und vorzugsweise gemäß einer aus einer
Vielzahl von Ausführungsformen
durchgeführt. In
einer ersten Ausführungsform
benachrichtigt das Vorfilter-Modul 30 aktiv die Firewall 18 bei
Empfangen derartiger Informationen in einer Status- oder Ereignisgesteuerten
Implementierung. Alternativ in einer zweiten Ausführungsform
fragt die Firewall 18 das Vorfilter-Modul 30 in
einer Abruf-Implementierung ab. Beispielsweise kann der Abruf optional durchgeführt werden,
nachdem ein bestimmtes Zeitintervall verstrichen ist, oder alternativ
gemäß einer Benutzeranfrage
nach derartigen Informationen, beispielsweise von einem Systemadministrator.
-
Zusätzlich weist
das Vorfilter-Modul 30 ferner vorzugsweise mindestens eine
und vorzugsweise mehrere Netzschnittstellen auf, dargestellt als
MAC 40 (media access control), wobei es sich um Hardware
zum Senden und Empfangen von Paketen von dem physischen Netz (nicht
dargestellt) handelt. Das Vorfilter-Modul 30 weist vorzugsweise
eine Firewallschnittstelle 42 zum Übertragen von Paketen zu und Empfangen
von Paketen von der Firewall (nicht dargestellt) auf.
-
Der
Ablauf der Operationen ist vorzugsweise wie folgt. Pakete werden
optional von der MAC 40 empfangen, bezeichnet als "MAC eins", und werden anschließend zu
der Klassifizierungsmaschine 38 weitergeleitet. Mit Hilfe
der Informationen und Instruktionen, die von der Datenbank 32 in
dem Speicher 36 abgerufen werden, analysiert dann die Klassifizierungsmaschine 38 mindestens
einen Abschnitt der Informationen in jedem Paket und bestimmt, ob das
Paket zulässig
ist. Wenn das Paket zulässig
ist, wird es zu dem Modifikator 34 zur optionalen Modifizierung
gemäß mindestens
einer Instruktion von der Firewall (nicht dargestellt) weitergeleitet,
sodass dann, wenn eine Modifizierung nicht erforderlich ist, die
mindestens eine relevante Instruktion nicht von der Firewall gesendet
wird.
-
Die
Firewall kann optional eine Schnittstelle bestimmen, an die das
Paket gesendet werden sollte, beispielsweise eine bestimmte MAC 40.
Es sei jedoch angemerkt, dass die Firewall zwar das Vorfilter-Modul 30 anweisen
kann, das Paket zu einer bestimmten Schnittstelle zu senden, dass
aber dann, wenn die Leitweglenkung unterstützt wird, diese Leitweglenkung
zum Leiten des Pakets verwendet würde und nicht die Instruktionen
von der Firewall (nicht gezeigt).
-
Alternativ
kann das Paket optional und vorzugsweise zu der Firewall weitergeleitet
werden. Ferner kann alternativ unter bestimmten Umständen, die nachfolgend
im Detail beschrieben werden, das Paket fallengelassen werden, insbesondere
im Hinblick auf Pakete, die von der Firewallschnittstelle 42 empfangen
werden, die optional in ähnlicher
Weise analysiert werden. Um das Fallenlassen von Paketen zu vermeiden,
bei denen es sich möglicherweise
nicht um IP-Pakete handelt, können
optional und vorzugsweise Informationen, die ein oder mehrere "Standard"-Pakettypen betreffen,
in der Datenbank 32 gespeichert werden, sodass dann, wenn
derartige Informationen nicht in der Datenbank 32 gespeichert
sind, das Paket als "nicht
zugelassen" definiert
wird. Ein Beispiel für
einen derartigen Standard-Pakettyp ist ein ARP-Paket (address resolution
protocol).
-
Wie
im Hinblick auf die Implementierung des Vorfilter-Moduls aus 2 zu
erkennen ist, können Pakete
optional von einer externen Quelle, wie z. B. der MAC 40,
an dem Vorfilter-Modul 30 ankommen, oder können alternativ
von der Firewallschnittstelle 42 empfangen werden. Wenn
das Paket von der Firewallschnittstelle 42 empfangen wird,
kann es von der Firewall selbst erzeugt worden sein oder kann alternativ
von dem IP-Datenstapel des Host weitergeleitet oder erzeugt worden
sein. Daher ist optional und vorzugsweise für derartige Pakete, die durch
die Firewallschnittstelle 42 empfangen werden, das Vorfilter-Modul
in der Lage, derartige Pakete fallenzulassen, wenn sie nicht zulässig sind,
anstatt sie zu der Firewall weiterzuleiten. Somit wird die Bestimmung, ob
Pakete durch das Vorfilter-Modul 30 fallenzulassen oder
weiterzuleiten sind, optional und vorzugsweise zumindest teilweise
entsprechend der Schnittstelle durchgeführt, durch welche die Pakete
empfangen werden.
-
Selbstverständlich sind
andere Implementierungen des Vorfilter-Modul 30 möglich und
werden als innerhalb des Schutzumfangs der vorliegenden Erfindung
gemäß der Definition
in den beigefügten Patentansprüchen liegend
betrachtet.
-
3 ist
ein Flussdiagramm eines beispielhaften Verfahrens für den Betriebsablauf
der vorliegenden Erfindung. In Schritt 1 wird von dem Vorfilter-Modul
ein Paket empfangen. In Schritt 2 wird mindestens ein Parameter
des Pakets von dem Vorfilter-Modul abgerufen. In Schritt 3 wird
der mindestens eine Parameter zur Prüfung der bekannten Verbindungen
verwendet, vorzugsweise durch Durchführen eines Suchlaufs in einer
Tabelle derartiger bekannter Verbindungen.
-
In
Schritt 4a wird dann, wenn ein Eintrag für das Paket
gefunden wird, die für
diese Verbindung definierte Aktion bzw. Aktionen von dem Vorfilter-Modul
durchgeführt.
In Schritt 5a wird das Paket an sein Ziel weitergeleitet.
Die Schritte 4a und 5a werden nicht durchgeführt, wenn
das Paket bestimmte Sessions-Kontrollfeldwerte aufweist, wie z.
B. einen gesetzten SYN/FIN/RST-Merker für ein über ein IP-Netz übertragenes
Paket, und in diesem Fall wird das Paket vorzugsweise zu der Firewall
zur Handhabung weitergeleitet. Derartige Sessions-Kontrollfeldwerte
zeigen Pakete an, die Informationen über den Verbindungsstatus tragen,
und daher ist es wichtig, dass die Firewall sie empfängt und
analysiert, um den Status der Verbindung zu bestimmen.
-
Optional
werden fragmentierte Pakete ebenfalls zu der Firewall weitergeleitet,
wenn das Vorfilter-Modul nicht in der Lage ist, bestimmte Funktionen durchzuführen, wie
z. B. virtuelle Defragmentierung für die vorzugsweise Ausführungsform
der vorliegenden Erfindung mit IP-Netzen und insbesondere mit TCP/IP-Verkehr.
Virtuelle Defragmentierung wird durchgeführt, nachdem ein IP-Paket zu
groß für die Übertragung
geworden ist und daher in mehrere kleinere Pakete unterteilt wird,
die Fragmente genannt werden. Virtuelle Defragmentierung ist der
Prozess, durch den alle empfangenen Fragmente wieder zu dem ursprünglichen
großen
Paket zusammengesetzt werden.
-
Um
verschiedene Arten von Angriffen zu verhindern, die mit Fragmenten
versucht werden können,
lässt vorzugsweise
das Vorfilter-Modul gemäß vorliegender
Erfindung, aber alternativ die Firewall doppelte Paketfragmente
fallen. Wenn mit anderen Worten ein früher empfangenes Fragment erneut empfangen
wird, wird dieses Fragment fallengelassen.
-
Wie
das Flussdiagramm in 3 zeigt, wird alternativ in
Schritt 4b, wenn in der Verbindungstabelle kein Eintrag
für das
Paket gefunden wird, das Paket zur Firewall zur Handhabung weitergeleitet.
In Schritt 5b sendet die Firewall dann, wenn die Firewall feststellt,
dass die Verbindung, zu der das Paket gehört, zulässig ist, optional eine Mitteilung
an das Vorfilter-Modul mit der erforderlichen Information betreffend
die neue Verbindung. Eine derartige Mitteilung enthält vorzugsweise
einen Schlüssel
zum Identifizieren der neuen Verbindung, Informationen betreffend
die Adressübersetzung
und optional Informationen betreffend die Verschlüsselung,
wobei es sich bei beiden um Prozesse handelt, die die Modifizierung
des Pakets selbst einschließen.
Der Schlüssel für die Identifizierung
der neuen Verbindung umfasst vorzugsweise Informationen, wie etwa
die Quell-IP-Adresse und den -Port, die Ziel-IP-Adresse und den -Port, das Protokollfeld
und optional die Schnittstelle(n), von welchen der Empfang eines
Pakets erwartet wird, zum Anti-Umgehungsschutz. Die Adressübersetzungsinformationen
umfassen die übersetzte
Quell-IP-Adresse und den -Port, die Ziel-IP-Adresse und den -Port.
-
Gemäß vorzugsweisen
Ausführungsformen der
vorliegenden Erfindung wird die Verbindung, sobald die Firewall
diese Mitteilung an das Vorfilter-Modul gesendet hat, auf das Vorfilter-Modul "abgegeben", sodass die Firewall
keine Pakete für
diese Verbindung mehr empfängt.
Vorzugsweise empfängt
die Firewall keine weiteren Pakete, bis ein Paket mit bestimmten
Sessions-Kontrollfeldwerten für diese
Verbindung empfangen wird, die anzeigen, dass die Session beendet
ist. Beispielsweise umfassen für IP-Netze
derartige Werte, dass ein FIN/RST-Merker gesetzt ist.
-
Vorzugsweise
tritt ein Zeitablauf ein, wenn für
eine bestimmte Verbindung innerhalb einer bestimmten Zeitperiode
kein Paket empfangen wurde. Da die Firewall keine Pakete für die abgegebene
Verbindung sieht, fragt die Firewall bei dem Vorfilter-Modul nach
dem letzten Zeitpunkt, an dem ein Paket für die Verbindung empfangen
wurde. Gemäß der empfangenen
Antwort bestimmt die Firewall, ob die Verbindung erhalten oder gelöscht wird.
Wenn die Firewall die Verbindung löscht, wird die Verbindung vorzugsweise
aus den Tabellen des Vorfilter-Moduls
gelöscht.
-
Gemäß weiteren
vorzugsweisen Ausführungsformen
der vorliegenden Erfindung empfängt die
Firewall aktualisierte Buchhaltungsinformationen von dem Vorfilter-Modul
in regelmäßigen Intervallen. Diese
Informationen werden optional und vorzugsweise von dem Vorfilter-Modul
zu der Firewall geschoben, anstatt dass die Firewall das Vorfilter-Modul
abfragen muss. Die Buchhaltungsinformationen umfassen vorzugsweise
die Anzahl der Pakete und Bytes, die von dem Vorfilter-Modul für eine bestimmte Verbindung
seit der letzten Aktualisierung der Buchhaltungsinformationen empfangen
wurden, und den letzten Zeitpunkt, an dem ein Paket von dem Vorfilter-Modul
für diese
bestimmte Verbindung empfangen wurde. Diese Informationen werden
dann innerhalb des Vorfilter-Moduls rückgesetzt. Optional und vorzugsweise
schiebt dann, wenn das Vorfilter-Modul die Verbindung löscht, das
Vorfilter-Modul die letzten Buchhaltungsinformationen über diese
Verbindung zu der Firewall.