-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft Techniken zum Verhindern und Ablenken
einer Aufschaltung.
-
Für die Erfindung
wurde der möglichen
Anwendung beim Gewährleisten
der Sicherheit von Telekommunikationsnetzen besondere Beachtung
geschenkt.
-
Beschreibung
des Standes der Technik
-
Üblicherweise
gibt es derzeit zwei Arten von Systemen zum Erkennen einer Aufschaltung.
-
Eine
frühere
Art (normalerweise als ein Netzsystem zum Erkennen einer Aufschaltung
oder Netz-IDS bezeichnet) überwacht
im wesentlichen den Verkehr auf einem gegebenen Netzsegment; eine
spätere
Art (häufig
als ein Host-IDS bezeichnet) ist angepaßt auf das Überwachen von Ereignissen, die
auf einem spezifischen System stattfinden.
-
Beide
Systeme analysieren Daten, während sie
nach Angriffen oder Richtlinienverletzungshandlungen suchen. Dies
erfolgt durch Ausnutzung der Kenntnis- und Erkennungsalgorithmen,
die zum Aussenden eines Signals oder eines Alarms zur Verfügung stehen,
wenn eine Übereinstimmung
gefunden wird. Beide Ansätze
haben Vor- und Nachteile.
-
Ein
Beispiel für
ein Netz-IDS ist die in der US-A-6 279 113 offenbarte Anordnung.
-
Wie
in 1 gezeigt, ist bei einer solchen Anordnung ein
internes oder inneres Netz 130, das eine Gruppe von „Maschinen", wie z.B. interne
Server, umfaßt,
durch ein System zum Erkennen einer Aufschaltung, das einen Sensor 121 umfaßt, geschützt. Der
Sensor 121 ist so angepaßt, daß er über eine Schnittstelle 122a den
Verkehr zu und von dem internen Netz 130 und einem externen
Netz 110 überwacht.
Das System überwacht
innerhalb des Datenflusses diejenigen Angriffsstrukturen, die bekannt und
in einer Datenbasis 123 enthalten sind. Im Falle eines solchen
Ereignisses wird ein entsprechender Alarm ausgegeben. Ein Steuersystem 124 der
Architektur zum Erkennen einer Aufschaltung ist auch bereitgestellt,
das sich um das Sammeln von Alarmen und deren Präsentation an den Endbediener
kümmert,
während
es außerdem
das gesamte System verwaltet. In der in 1 gezeigten
Anordnung ist nur ein Sensor gezeigt. Dies ist eine rein exemplarische
Darstellung, da ein Netz zum Erkennen einer Aufschaltung üblicherweise
mehrere an kritischen Punkten im Netz befindliche Sensoren umfaßt. Außerdem kann
in komplexeren Architekturen, die eine große Zahl an Sensoren umfassen,
das Verwaltungssystem 124 tatsächlich auf mehreren Maschinen
untergebracht sein.
-
In
der in 1 gezeigten Anordnung ist die Erkennungsrolle
einem Netzsensor 121 zugewiesen, der normalerweise auf
einer Vorrichtung untergebracht ist, die entweder ein generischer
Computer oder ein Spezialgerät
sein kann. Der Sensor fängt Verkehr
in einem Abschnitt des Netzes ab. Normalerweise analysiert er den
Verkehr mittels eines Vergleichs mit einem Satz von Signaturen,
die in einer Datenbasis 123 gesammelt sind. Diese müssen periodisch
aktualisiert werden, und dieser Vorgang muß zeitnah durch den Hersteller/Bediener
erfolgen, immer wenn neue Arten von Angriffen bekannt werden. Sonst
verliert das Erkennungssystem seine Wirksamkeit. Die fraglichen
Signaturen umfassen normalerweise eine Angriffsstruktur: daher macht
selbst eine relativ kleine Änderung
in der Struktur die Wiedererkennung unmöglich. Aus diesem Grund führen die
am weitesten entwickelten Sensorarten normalerweise einen Normalisierungsvorgang
des Flusses der am häufigsten
vorkommenden Protokolle durch, um die besten Bedingungen für die Verifizierung
zu schaffen. Bestimmte Arten von Netz-IDS kombinieren den Strukturabgleich
mit einem Mechanismus zum Analysieren von Anomalien, nämlich Variationen hinsichtlich
des erwarteten Verhaltens eines bestimmten Protokolls. Diese Techniken
folgen dem Ansatz, der derzeit als Protokollanomalieerkennung bezeichnet
wird.
-
Ein
solches System bietet eine Reihe von Vorteilen.
-
Als
ein erster Punkt kann ein großes
Netz mittels weniger, richtig positionierter Netzsensoren überwacht
werden.
-
Des
weiteren hat ein solches System nur eine minimale Auswirkung auf
das Netz. Die Sensoren befinden sich an kritischen Punkten im Netz,
wo sie den Verkehr ohne negative Beeinflussung der Leistung überwachen.
-
Der
Implementierungsaufwand ist minimal. Die Sensoren sind separate
Einheiten bezüglich
der überwachten
Maschinen, und sie sind dementsprechend auch unabhängig von
ihnen. Der gleiche Sensor ist somit angepaßt, Maschinen mit unterschiedlichen
Betriebssystemen, die unterschiedliche Dienste bereitstellen usw.
zu schützen.
-
Außerdem können die
Sensoren komplett unerkennbar bezüglich des überwachten Netzes gemacht werden,
und zwar basierend auf dem, was derzeit als eine „Tarnkappen"-Konfiguration bezeichnet
wird. Normalerweise ist der Netzsensor mit den beiden Kommunikationsschnittstellen
ausgestattet: eine erste (122a – siehe wieder 1)
ist in einer gemischten Art und Weise für das Abfangen von Verkehr
konfiguriert; die zweite (122b) ist in einer traditionellen
Art und Weise konfiguriert, um Verwaltungsvorgänge zuzulassen. Die Überwachungsschnittstelle
ist nicht mit einer IP-Adresse ausgestattet und kann daher nicht
adressiert werden. Das Fehlen einer IP-Adresse macht sie praktisch
unsichtbar für
einen möglichen
Eindringling.
-
Der
Hauptnachteil eines solchen Netz-basierten IDS liegt darin, daß es keine
exakte Kenntnis des Status (angebotene Dienste, verwendete Software,
tatsächliche
Verwundbarkeit usw.) der Maschinen hat, die auf das kontrollierte
Netzsegment 130 zugreifen. Die Systemaktivität ist eingeschränkt auf das Überwachen
von Verkehr durch das Suchen nach Angriffsstrukturen, ohne zu wissen,
ob diese eine tatsächliche
Bedrohung für
die zu schützenden Systeme
darstellen.
-
Dies
führt zu
einer verringerten Wirksamkeit bei der Erkennung und einer Erhöhung der
Zahl falscher Alarme. Jedes Mal, wenn eine Angriffsstruktur erkannt
wird, gibt ein solches System einen Alarm aus, der üblicherweise
einen variablen Grad an Schwere in Abhängigkeit von der Art des Angriffs
aufweist. Dieser Ansatz erzeugt eine riesige Menge an Signalgebung
(in einem großen
Netz kann ein einzelner Sensor Eintausend solcher Alarme pro Tag
erzeugen), was es sehr schwierig, wenn nicht unmöglich macht, ein solches Tool
zu verwalten. Außerdem sind
ein Großteil
der Alarme tatsächlich
falsche Alarme: tatsächlich
arbeitet der Netzsensor nicht in einer intelligenten Art und Weise
und gibt Alarme auch dann aus, wenn das gefährliche Paket an eine nichtexistierende
Maschine adressiert ist (dies ist eine typische Situation erzeugt
durch Tools angepaßt
für automatisch
erzeugte Angriffe) oder wenn die Maschine durch einen bestimmten
Angriff nicht verwundbar ist, weil sie einen spezifischen Dienst
nicht bereitstellt oder mit einer aktualisierten und geschützten Software-Version
ausgestattet ist. Diese Situation führt zum Handling riesiger Mengen
größtenteils
irrelevanter Daten, welche jedoch mit einem hohen Grad an Schwere
signalisiert werden können,
mit dem Risiko, daß echte
Alarme irgendwie versteckt und Zeit und Ressourcen von der Aufgabe
der Bewältigung
tatsächlicher
Probleme abgezweigt werden.
-
Eine
weitere intrinsische Einschränkung
eines Netz-basierten IDS betrifft Einfügungs- und Ausweichverfahren
wie z.B. beschrieben von T.H. Ptacek und T.N. Newsham in „Insertion,
evasion and denial of service: eluding network intrusion detection", Secure Network
Inc., Januar 1998, was ein Referenztext hinsichtlich Systemen zum
Erkennen einer Aufschaltung ist.
-
Tatsächlich bietet
das IP-Protokoll die Möglichkeit,
daß bestimmte
Pakete fragmentiert werden, d.h. aufgeteilt in kleinere Pakete,
bevor sie über
das Netz geschickt werden. Die Maximalgröße eines IP-Paketes ist mit
65.546 Bytes (ungefähr
64 KB) schlecht für
die Übertragung über unterschiedliche Netze
angepaßt.
Zum Beispiel beträgt
die Maximalgröße eines
Ethernet-Rahmens 1.500 Bytes; im Fall eines Token-Ring-Netzes beträgt eine
solche Größe 4 KB.
Im allgemeinen kann die sogenannte maximale Übertragungseinheit (MTU), nämlich die
maximale Paketgröße, die
auf dem Datenleitungslevel übertragen
werden kann, von Netz zu Netz erheblich variieren. Es ist somit
offensichtlich, daß ein
solcher Parameter die maximale Dimension des zu übertragenden IP-Paketes einschränken würde. Die
Fragmentierung wird daher beim IP-Protokoll bereitgestellt, um zuzulassen,
daß Daten über unterschiedliche
Arten von Netzen befördert
werden, in einer vollständig transparenten
Art und Weise bezüglich
der Protokolle des oberen Levels und des Endnutzers.
-
Innerhalb
des Headers eines IP-Paketes gibt es im wesentlichen zwei Felder
für eine
korrekt verwaltende Fragmentierung: das Fragment-Offset-Feld und
das More Fragment(MF)-Flag. Das Offset-Feld identifiziert die Position
des innerhalb des Datenflusses übertragenen
Paketes, wodurch es möglich
wird, die korrekte Reihenfolge der Pakete zu rekonstruieren, während das
MF-Flag das letzte Fragment von den anderen unterscheidet. Die Pakete
werden folglich durch den Endnutzer mittels dieser Informationen wieder
zusammengesetzt.
-
Es
ist daher von höchster
Bedeutung für
das System zum Erkennen einer Aufschaltung und die dadurch geschützten Maschinen,
das gleiche Verhalten bezüglich
der empfangenen fragmentierten IP-Pakete zu zeigen. Auf diese Art
und Weise ist es möglich,
sogenannte Einfügungs-
und Ausweichphänomene
zu vermeiden, welche die Wirksamkeit eines System zum Erkennen einer
Aufschaltung stark gefährden
können.
-
Eine
Einfügung
erfolgt, wenn das IDS bestimmte Pakete akzeptiert und als gültig erachtet,
die von dem Endsystem, an das sie gesendet werden, verweigert worden
wären,
während
Ausweichung stattfindet, wenn das IDS Pakete nicht berücksichtigt, die
von dem Endsystem akzeptiert werden würden. Tatsache ist, daß wenn das
System zum Erkennen einer Aufschaltung und das Endsystem, an das
die Daten adressiert sind, unterschiedlichen Verkehrsflüssen ausgesetzt
werden, das Risiko besteht, daß ein
Angriff vom Erkennungssystem unbeobachtet sein kann, während er
das Endziel erreicht.
-
Die
gleichen Zeitprobleme entstehen, wenn der Bedarf besteht, Datenflüsse des
TCP (Transmission Control Protocol)-Levels zu rekonstruieren. Das TCP
implementiert keine Fragmentierungsfunktion, stellt der oberen Schicht
jedoch eine Abstraktion zur Verfügung,
welche ähnlich
eines kontinuierlichen Flusses von Zeichen, die von einer Datei
kommen, ist, während
die Reihenfolge und Integrität
dieser Daten sichergestellt ist. Diese Funktionen werden mittels
eines Zeitüberschreitungs-
und Rückübertragungsmechanismus
implementiert.
-
Jede
TCP-Verbindung wird mittels einer Sequenznummer identifiziert. Diese
Nummer wird basierend auf einem Kriterium in Abhängigkeit vom Betriebssystem
der Vorrichtung, welche die Verbindung startet, ausgewählt und
wird um eine Menge gleich der Anzahl der empfangenen und mittels
eines Quittierungsindikators (ACK) quittierten Bytes erhöht. Die im
TCP-Header enthaltene Sequenznummer ist die einzige Datenposition,
die es ermöglicht,
den Status einer gegebenen Verbindung zu identifizieren und die Daten
innerhalb des übertragenen
Flusses zu identifizieren und zu ordnen.
-
Jedoch
ist es möglich,
daß ein
Paket zurückübertragen
wird, wenn das ACK-Paket nicht innerhalb einer bestimmten Zeit empfangen
wird, oder wenn während
der Übertragung
ein Fehler aufgetreten ist. Die Rückübertragung macht die Rekonstruktion
des Verkehrsflusses durch ein System zum Erkennen einer Aufschaltung
komplexer, weil ein wiedergesendetes Paket von dem IDS mehr als
einmal abgefangen wird. Das System zum Erkennen einer Aufschaltung
sieht, daß zwei
identische Pakete übertragen
werden, ohne in der Lage zu sein zu entscheiden, welches der beiden
eigentlich durch den Adressaten akzeptiert wurde.
-
Ein
Netz-basiertes System zum Erkennen einer Aufschaltung besitzt tatsächlich keine
Garantie und keine Möglichkeit
zu entdecken, ob ein gegebenes Paket von dem überwachten Endsystem akzeptiert
oder verweigert wurde. Wieder führen
das Einfügungsphänomen (das
IDS akzeptiert und berücksichtigt
Pakete als gültig,
die das Endsystem verweigert hat) und Ausweichung (das IDS berücksichtigt
Pakete nicht, die vom Endsystem akzeptiert werden) zu einer starken
Einschränkung
bei der Erkennungswirksamkeit des Systems.
-
Sowohl
bei den IP- als auch bei den TCP-Protokollen gibt es weitere Felder,
welche zu Einfügungs-
und Ausweichungszwecken manipuliert werden können (in Bezug darauf kann
wieder auf den Artikel von Ptacek verwiesen werden, der bereits
zuvor zitiert wurde), wodurch die Wirksamkeit eines Netz-basierten
IDS zunichte gemacht wird.
-
Kurz,
das Grundproblem, daß ein
Netz-basiertes IDS anfällig
für Einfügung und
Ausweichung macht, liegt darin, daß das IDS und das Endsystem bei
bestimmten Kontexten zwei unterschiedlichen Datenflüssen ausgesetzt
sein können,
da es sich um separate Maschinen handelt, mit verschiedenen Betriebssystemen
und Implementierungen des TCP/IP-Stapelspeichers. Ein Angreifer
kann sich somit diese Situation zunutze machen, um einen Angriff zu
starten, der für
das Schutzsystem unsichtbar ist.
-
Diese
Einschränkung
und die Nachteile, die im vorgehenden genannt wurden, schränken die
Erkennungsfähigkeit
eines Netz-basierten IDS ein und leiten sich im wesentlichen von
der verringerten Kenntnis ab, die dem System zum Erkennen einer Aufschaltung
hinsichtlich des Status und der Konfiguration (Betriebssystem, verwendete
Software, angebotene Dienste, tatsächliche Verwundbarkeit usw.) der
Maschinen, die auf das kontrollierte Netzsegment zugreifen, zur
Verfügung
steht.
-
Ein
wesentlich unterschiedlicher Ansatz, der diese Einschränkungen
nicht aufweist, ist durch ein Host-basiertes IDS wie in 2 gezeigt
repräsentiert.
Ein Beispiel eines solchen Systems zum Erkennen einer Aufschaltung
des Host-basierten Typs ist in US-A-5 557 742 offenbart.
-
In
diesem Fall sind die Einrichtungen zum Erkennen einer Aufschaltung
keine separate Einheit getrennt von den geschützten Maschinen mehr. Spezifisch
ist auf jeder Maschine 131 des zu schützenden internen Netzes 130 ein
Sensor 132 installiert, der den Status der zugeordneten
Machine durch Überwachung
zum Beispiel des Dateisystems, der Netzaktivität und des Levels der Ressourcenausnutzung
kontrolliert. Üblicherweise
wird eine Datenbasis 133 bereitgestellt, welche die Signaturen
der bekannten Angriffe und die entsprechenden Verfahrensweisen enthält, sowie
ein Steuersystem 134, daß sich um das Sammeln und Verarbeiten
der Alarme erzeugt durch die einzelnen Sensoren kümmert, während es
auch das gesamte System verwaltet. Wieder kann eine echte Lösung basierend
auf komplexeren Architekturen existieren.
-
Host-basierte
Techniken zum Erkennen einer Aufschaltung sorgen tatsächlich für die Verwendung
spezieller Programme 132a, 132b, ..., die direkt auf
den überwachten
Systemen 131 installiert und ausgeführt werden und die angepaßt sind,
um auf dem Kernel- oder Anwendungslevel zu arbeiten, zum Beispiel
zum Abfangen der Systemanrufe.
-
Im
wesentlichen besitzt ein Host-basiertes IDS eine „lokale" Ansicht und kontrolliert
den Status der Maschine, auf der es untergebracht ist, durch Überwachung
zum Beispiel des Dateisystems, der Netzaktivität und des Levels der Ressourcenausnutzung.
Ein solches System stellt somit eine definitiv verbesserte Leistung
beim Erkennen von Angriffen bereit, die Einfluß auf das System haben oder
eine Spur darauf hinterlassen. Außerdem kann es Angriffe erkennen,
die nicht über
das Netz kommen, wie z.B. diejenigen Aufschaltungen durchgeführt über eine Konsole,
durch Erwerb höherer
Privilegien durch einen Nutzer, üblicherweise
einen Insider, oder Angriffe auf Anwendungen.
-
Zum
Bereitstellen eines wirklich wirksamen Systems zum Erkennen einer
Aufschaltung des Host-Typs muß die
Erkennungskomponente auf den geschützten Systemen installiert
sein. Dementsprechend ist die Software spezialisiert für die Arten
von Betriebssystemen, auf die sie installiert werden müssen; spezialisierte
Lösungen
gibt es daher für
Microsoft-, Solaris-, Unix-Systeme
usw.
-
Durch
die direkte Unterbringung auf dem kontrollierten System ist ein
Host-basiertes System (HIDS) offen für Angriffe und läuft Gefahr,
deaktiviert zu werden, wie dies bei jedem der anderen Programme
auf der gleichen Maschine der Fall ist. Ein Host-basiertes System
zum Erkennen einer Aufschaltung kann somit mittels bestimmter Dienstverweigerungsangriffe
deaktiviert werden. Tatsächlich ist
der Sensor empfindlich für
solche Befehle, ganz genau wie das System, auf dem er untergebracht
ist.
-
Die
Grundeinschränkung
eines solchen Systems steht dementsprechend in Zusammenhang mit seinem
hochinvasiven Charakter. Zum Bereitstellen eines Host-basierten
Systems zum Erkennen einer Aufschaltung muß eine spezifische Softwarekomponente
auf jeder überwachten
Maschine installiert werden, bei welcher es sich auch um eine auf
niedrigem Level arbeitende Software handeln kann (zum Beispiel ein
Kernel-Modul in einem Unix-System). Dies kann zu einer Verringerung
der Leistung in der Maschine führen
oder, sogar noch schlimmer, zu einem Konflikt mit bereits installierten
anderen Anwendungen. Außerdem
sind spezifische Konfigurationen für jede Maschine erforderlich,
um die Erkennung anzupassen und deren Wirksamkeit zu erhöhen. Dieses
Problem wird sogar noch kritischer, wenn „Produktionsmaschinen" als kritische Dienste
anbietend angesehen werden, deren Konfiguration nicht modifiziert
werden kann, um das Risiko zu vermeiden, sie zu destabilisieren.
-
Außerdem muß ein gutes
System zum Schutz gegen Aufschaltung in der Lage sein, erkannte
Angriffe zu blockieren, bevor diese einen Schaden auf den geschützten Systemen
anrichten. Die meisten traditionellen Systeme sind nicht in der
Lage, aktive Reaktionen angesichts eines erkannten Angriffs bereitzustellen;
sie spielen lediglich ihre Rolle durch die Bereitstellung eines
mehr oder weniger detaillierten Alarms (abhängig von den Spezifikationen
durch den Administrator und der Blockierungsfähigkeit des Tools) unter Verwendung
unterschiedlicher Kommunikationskanäle (von einem blinkenden Signal
an der Konsole bis hin zu einer persönlichen E-Mail-Nachricht).
-
Daher
existieren konventionelle Techniken, die auch eine aktive Reaktion
bereitstellen, nämlich eine
tatsächliche
Aktion gerichtet auf die Unterbrechung des gefährlichen Verkehrsflusses in
Richtung des inneren Netzsystems impliziert. Dazu gehören der
Abbruch von Sitzungen und die umgehende Aktualisierung der Firewall-Regeln.
-
Der
Abbruch einer Sitzung ist der üblichtste und
einfachste Weg auf eine erkannte Aufschaltung zu reagieren: eine
Fehlermeldung im Netz (wie ein „Ziel nicht erreichbar" ICMP-Paket oder
ein TCP-Protokoll-Reset enthalten im RST-Flag) empfangen durch den
TCP/IP-Stapelspeicher veranlaßt
die Stillegung der Kommunikation. Angesichts eines erkannten Angriffs
sendet das IDS geeignete „gefälschte" TCP RST- oder ICMP-Pakete
aus, um die angegriffene Maschine für den Angreifer selbst unerreichbar
zu machen, wodurch die gefährliche
Sitzung blockiert wird.
-
Eine
solche Technik muß auf
eine Art und Weise implementiert werden, daß sie schnell ist: wenn das
System nicht sofort reagiert, ist es möglicherweise nicht in der Lage,
den gefährlichen
Verkehrsfluß zu
blockieren oder es kann schließlich
erst eingreifen, wenn die Schädigung
bereits stattgefunden hat. Man muß einfach an einen Angriff
denken, dessen gefährlicher
Inhalt auf ein einzelnes Paket beschränkt ist: dies ist ein Grenzfall,
bei dem eine Gegenmaßnahme
wie beschrieben komplett nutzlos ist.
-
Eine
Anordnung, auf die bei bestimmten Systemen zum Erkennen einer Aufschaltung
zum Reagieren auf einen Angriff zurückgegriffen wird, sorgt für die Zusammenarbeit
mit einer Firewall, durch Modifikation der Regeln davon in Echtzeit.
Auf diese Art und Weise „unterrichtet" das System zum Erkennen einer
Aufschaltung die Firewall, um diese zu veranlassen, all diejenigen
Verbindungen fallen zu lassen, die von der IP-Adresse eines erkannten
Angreifers kommen, um den gefährlichen
Verkehrsfluß zu
blockieren. Abhängig
von den unterschiedlichen Implementierungen kann/können die
hinzugefügte/n
Regel/n nach einem bestimmten Zeitraum gelöscht werden oder es sind mehrere
Angriffe notwendig, um eine bestimmte IP-Adresse zu isolieren.
-
Jedoch
ist diese Technik möglicherweise nicht
von den gleichen Einschränkungen
ausgenommen, welche die anderen, im vorgehenden in Erwägung gezogenen
Techniken betreffen. Sie ist wirksam im Falle von Angriffen, die
eine Hülle
ausnutzen, die mit Hilfe eines Exploits erhalten wurde (in diesem
Fall wird das Exploit ausgeführt,
jedoch ist die erhaltene Hülle
nicht mehr erreichbar), jedoch stellt sie sich als nutzlos im Falle
derjenigen Angriffe, wie Dienstverweigerungs-(DOS)Angriffe, heraus,
welche ihren Inhalt in wenigen Paketen oder sogar nur einem Paket erschöpfen.
-
Eine
intrinsische Einschränkung
dieser Techniken ist, daß es
sich bei ihnen nicht um Verhinderungstechniken handelt, daß sie nicht
handeln, bevor das Paket das Ziel erreicht. Tatsächlich reagieren sie erst,
wenn ein Ereignis eingetreten ist, und die Reaktion, egal wie schnell
sie erfolgt, folgt immer auf das Eintreten eines verdächtigen
Ereignisses, wie der Übertragung
eines bestimmten Paketes. Die einzig akzeptable Möglichkeit
diese Einschränkung
zu überwinden,
ist die Integration einer Firewall-Funktion in das System zum Erkennen
einer Aufschaltung durch Realisierung eines In-Line-Systems zum
Erkennen einer Aufschaltung.
-
Eine
solche Anordnung ist z.B. in der US-A-6 513 122 offenbart und ist
allgemein im Blockdiagramm von 3 dargestellt.
-
Spezifisch
zeigt das Blockdiagramm von 3 die Architektur
eines In-Line-Systems zum Erkennen einer Aufschaltung 310,
wobei das interne Netz 130 vom externen Netz 110 getrennt
ist. Ein solches System kann als eine Weiterentwicklung des Netz-basierten
IDS gezeigt in 1 angesehen werden, wobei der
Netzsensor zu einer Brücke
wird, die das zu schützende
Netz von dem externen Netz trennt.
-
Das
System umfaßt üblicherweise
drei Netzschnittstellen, von denen zwei (311a und 311b)
auf dem zweiten Level („Level
2") des TCP/IP-Stapelspeichers
arbeiten, indem sie es dem Gerät
ermöglichen,
als eine Brücke
zu agieren, während
die Unsichtbarkeit auf den Netz-Level aufrechterhalten bleibt. Diese
Schnittstellen überwachen
den gesamten Verkehr bei der Übertragung
von dem und zu dem internen Netz 130. Eine dritte Schnittstelle 311c verwaltet
das System. Das Gerät
sammelt den gesamten Verkehr von dem und zu dem internen Netz 130 und
erkennt, über
die Komponente zum Erkennen einer Aufschaltung 312b, die
bekannten Angriffsstrukturen enthalten in der Datenbasis 313.
Bei Vorhandensein eines Angriffs kann das System über die Firewall-Komponente 312a die
einzelnen gefährlichen
Pakete daran hindern, das Gerät
zu überqueren und
das Ziel zu erreichen, wodurch eine Aufschaltungsverhinderungsaktion
implementiert wird. Referenz 314 benennt ein Verwaltungsmodul
des Systems.
-
Wieder
entspricht das exemplarische Blockdiagramm gezeigt in 3 einer
vereinfachten Architektur: reale Situationen können tatsächlich komplexere architektonische
Lösungen
beinhalten.
-
Im
Vergleich zu den zuvor diskutierten traditionelleren Anordnungen
funktioniert die Anordnung gezeigt in 3 als eine
Art Brücke
zwischen dem äußeren Netz 110 und
dem zu schützenden
Netz 130, indem sie als ein Gateway für das interne Netz agiert.
Durch das Arbeiten auf Level 2 mit den Schnittstellen 311,
erhält
sie die übliche
IP-Unsichtbarkeit eines Netzbasierten Systems aufrecht. Außerdem sammelt
das System zum Erkennen einer Aufschaltung 310 gezeigt
in 3, durch das Agieren als ein Gateway für das interne
Netz, sämtlichen Verkehr
von dem und zu dem Netz, indem es dieses mittels integrierter Firewall-Funktionen
(312a) und Funktionen zum Erkennen einer Aufschaltung (312b) verwaltet.
Auf diese Art und Weise kann das System den Verkehr analysieren,
auf der Suche nach „verdächtigen" Paketen.
-
Wenn
eine Aufschaltung erkannt wird (mittels der Komponente 312b),
kann es so die Aufschaltung mittels der Firewall-Komponente 312a blockieren,
indem es verhindert, daß es
an die andere Schnittstelle weitergegeben wird.
-
Diese
Reaktionstechnik handelt bevor ein verdächtiges Paket das Ziel erreicht,
wodurch echte Verhinderungsmechanismen implementiert werden. Die
Einschränkungen
der Anordnung des Standes der Technik, die im Vorhergehenden in
Betracht gezogen wurde, sind somit überwunden, mit der Möglichkeit,
auch in einem einzelnen Paket enthaltene Angriffe zu erkennen und
zu blockieren.
-
Jedoch
leidet selbst die in 3 gezeigte Anordnung noch unter
den Nachteilen, die im Vorhergehenden beschrieben wurden und in
Bezug auf den Mangel, wie es bei Netz-basierten Systemen der Fall ist,
an genauer Kenntnis des Status der Maschinen, die auf das kontrollierte
Netzsegment 130 zugreifen. Tatsächlich beschränkt auch
die Anordnung gezeigt in 3 ihren Eingriff auf die Überwachung
des Verkehrs, während
sie nach Angriffsstrukturen sucht, ohne jedoch zu wissen, ob diese
eine tatsächliche Bedrohung
für die
geschützten
Systeme darstellen können.
Die WO-A-03/010922 schlägt
die Verwendung eines Köderservers
vor, um verdächtige
Aktivitäten
in einem Netz zu protokollieren.
-
Aufgabe und
Zusammenfassung der Erfindung
-
Die
Aufgabe der Erfindung ist somit das Bereitstellen einer Anordnung
zum Schützen
von Systemen und Netzen vor Aufschaltungen, angepaßt zum Erkennen
der gefährlichen
Pakete, bevor diese die Maschinen in einem geschützten Netz erreichen.
-
Insbesondere
betrifft die Erfindung das Bereitstellen eines Systems, das so angepaßt ist,
daß es
sich auch mit „unbekannten" Angriffen auseinandersetzt,
während
es die Sicherheit von z.B. Produktionsmaschinen sicherstellt, auf
denen derzeit keine dedizierte Software installiert ist.
-
Mit „unbekannten" Angriffen sind im
allgemeinen diejenigen Angriffe gemeint, mit welchen es das System
bisher noch nicht zu tun hatte und/oder für welche zuvor noch keine Informationen
im System gespeichert wurden.
-
Gemäß der vorliegenden
Erfindung wird dieses Ziel mittels eines Verfahrens erreicht, welches die
in den nachfolgenden Ansprüchen
dargelegten Merkmale aufweist. Die Erfindung betrifft auch ein entsprechendes
System, ein Netz ausgestattet mit einem solchen System sowie ein
verwandtes Computerprogrammprodukt, zum Laden in den Speicher von
zumindest einem Computer und umfassend Software-Code-Teile zum Durchführen der
Schritte des Verfahrens der Erfindung, wenn das Produkt auf einem
Computer ausgeführt
wird. Wie hierin verwendet, soll der Verweis auf ein solches Computerprogrammprodukt äquivalent
zum Verweis auf ein computerlesbares Medium sein, das Anweisungen
für das
Steuern eines Computersystem enthält, um die Leistung des Verfahrens
der Erfindung zu koordinieren. Der Verweis auf „zumindest einen" Computer ist augenscheinlich
dazu gedacht, die Machbarkeit für die
Anordnung der Erfindung hervorzuheben, auf dezentralisierte Art
und Weise implementiert zu werden.
-
Eine
bevorzugte Ausführungsform
der Erfindung verhindert daher die Aufschaltung in Kommunikationsverkehr
mit einer Gruppe von Maschinen in einem Netz, wobei der Verkehr
Kommunikationseinheiten umfaßt,
die durch entsprechende Strukturen identifiziert werden. Ein Testsystem,
welches Testeinrichtungen umfaßt,
die zumindest eine der Maschinen in der Gruppe replizieren, wird
bereitgestellt, und zumindest ein Teil der Kommunikationseinheiten
in dem Verkehr wird auf das Testsystem gerichtet, wo sie auf den
Testeinrichtungen ausgeführt
werden, um mögliche
widrige Effekte auf dem Testsystem zu erkennen. Bei Vorhandensein
eines widrigen Effekts werden die Kommunikationseinheiten, die zu
dem widrigen Effekt führen,
blockiert. Bei Nichtvorhandensein eines widrigen Effekts wird die
Kommunikation mit der Gruppe von geschützten Maschinen für die Kommunikationseinheiten
zugelassen, die nicht zu einem widrigen Effekt führen.
-
Die
Kommunikationseinheiten, die auf das Testsystem gerichtet sind,
umfassen Kommunikationseinheiten, die aus Verkehr entnommen sind,
der auf die geschützte
Gruppe von Maschinen gerichtet ist und/oder von dieser kommt.
-
Die
hierin beschriebene Anordnung erreicht somit den Schutz durch „Virtualisierung" der echten, geschützten Maschinen
auf einer Gruppe von Testmaschinen.
-
Die
hierin beschriebene Anordnung ist insbesondere geeignet für die Verwendung
in Zusammenhang mit einem geschützten
Netz, das in Bereiche unterteilt ist, die ähnliche Systeme gruppieren,
wobei jeder Bereich durch ein In-Line-System geschützt ist, das
die Erkennung einer Aufschaltung, die Ablenkung einer Aufschaltung
und Testsystemkomponenten umfaßt.
-
Bei
einer bevorzugten Ausführungsform
erkennt das System die gefährlichen, „schädlichen" Kommunikationseinheiten
(z.B. Pakete) und die zulässigen, „harmlosen" Pakete durch Blockierung
der erstgenannten und Zulassung zum Passieren der letztgenannten:
dies erfolgt auf Grundlage entsprechender Identifikatorstrukturen,
die in zwei Datenbasen gespeichert sind. Die Komponente zum Erkennen
einer Aufschaltung lenkt diejenigen Pakete zur Testkomponente ab,
deren Art und mögliche
Effekte auf die geschützten
Maschinen unbekannt sind (d.h. nicht mit ausreichender Zuverlässigkeit
bekannt). Das Testkomponentensystem, auf dem die Systeme und Dienste
des internen Netzes (d.h. der geschützten Maschinen) repliziert
werden, „führt" die Kommunikationseinheit „aus" und überprüft so den
realen Effekt davon auf das replizierte System.
-
Sollte
der Test einen gefährlichen,
negativen Effekt zeigen, wird das Paket nicht an das Ablenkungssystem
zurückgesandt
und es ist daher nicht in der Lage, die geschützten Maschinen des internen Netzes
zu erreichen. Wenn das Paket überprüft wird und
sich als ein „gutes" herausstellt, wird
es zurück auf
die Komponente zum Erkennen einer Aufschaltung gerichtet, um an
die Maschinen des internen Netzes weitergeleitet zu werden. In beiden
Fällen können die
entsprechenden Identifikatorstrukturen (d.h. die Signaturen) verwendet
werden, um die möglicherweise
in der Komponente zum Erkennen einer Aufschaltung vorhandene Datenbasis
zu aktualisieren.
-
Zusammenfassend
stellt die hierin beschriebene Anordnung eine Architektur bereit,
welche die Vorteile aller Anordnungen des Standes der Technik beibehält, während sie
die intrinsischen Nachteile dieser Systeme zum Erkennen einer Aufschaltung (des
Netz-basierten Typs) nicht aufweist, wobei ausreichend Kenntnis
von den Endsystemen zur Verfügung
steht. Die hierein beschriebene Anordnung vermeidet auch die intrinsisch
invasive Natur eines Host-basierten Systems zum Erkennen einer Aufschaltung,
während
sichergestellt bleibt, daß potentiell
gefährlicher
Verkehr blockkiert und es ihm nicht gestattet wird, zu den geschützten Maschinen
vorzudringen.
-
Kurze Beschreibung
der er beigefügten
Zeichnungen
-
Die
Erfindung wird nun, nur zu Beispielzwecken, durch Verweis auf die
beigefügten
Figuren beschrieben, wobei:
-
1 bis 3,
bezogen auf den Stand der Technik, bereits zuvor beschrieben wurden,
-
4 ein
Blockdiagramm ist, welches das allgemeine Layout einer Anordnung
wie hierin beschrieben zeigt, und
-
5 und 6 Flußdiagramme
sind, beispielhaft für
den Betrieb der hierin beschriebenen Anordnung.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsformen der Erfindung
Wie bereits zuvor angegeben, stellt die hierin beschriebene beispielhafte
Anordnung Netzschutz durch die kombinierte Handlung der beiden Grundkomponenten
bereit, nämlich
eine Netzkomponente, die den Netzverkehr über ein In-Line-Element sammelt
und analysiert, und eine Komponente, die, trotz daß sie sich
von den Endmaschinen unterscheidet, auf einem lokalen Level arbeitet.
-
In
den meisten Fällen
sind die zu schützenden
Server Produktionsmaschinen, deren Konfigurationen nicht für eine Modifikation
angepaßt
sind, und bei denen keine neuen Software-Komponenten installiert werden können, um
eine Dienstinstabilität
zu vermeiden.
-
Die
hierin beschriebene Anordnung erzeugt daher eine Testumgebung, in
der die Dienste und die Konfigurationen der Maschinen im internen
Netz repliziert werden. Die Testumgebung ermöglicht es, daß der Effekt
einer potentiell gefährlichen
Kommunikationseinheit (z.B. eines Paketes) getestet wird, bevor diese
tatsächlich
den echten Dienst erreicht. Stellt sich heraus, daß es sich
bei dem Paket um ein gutes handelt, wird es wieder auf die Maschinen
im internen Netz gerichtet. Ansonsten wird es blockiert. Auf diese
Art und Weise wird eine Architektur zur Verhinderung einer Aufschaltung
bereitgestellt, bei der Angriffe erkannt und blockiert werden, bevor
sie das Ziel erreichen können,
wodurch die Zahl der positiv falschen Alarme erheblich verringert
wird, indem Pakete erst blockiert werden, nachdem überprüft wurde, ob
sie wirklich gefährlich
sind. Außerdem
ist die hierin beschrieben Anordnung auch wirksam beim Erkennen
unbekannter Angriffe, nämlich
Angriffe, für
die noch keine Signatur verfügbar
ist.
-
Insbesondere
zeigt das Blockdiagramm von 4 ein internes
Netz 130, das von einem externen Netz 110 mittels
einer In-Line-Komponente 410 getrennt ist. Diese Komponente
umfaßt
vier Netzschnittstellen, von denen zwei (die als 411a und 411b angegebenen)
auf Level 2 arbeiten, indem sie zulassen, daß das Gerät als eine Brücke agiert,
während die
Unsichtbarkeit auf dem Netzlevel aufrechterhalten bleibt, und auch
den gesamten Verkehr in Übertragung
von dem und zu dem internen Netz 130 überwachen.
-
Eine
dritte Schnittstelle 411c stellt die Verwaltung des Systems
bereit, während
eine vierte Schnittstelle 411d die In-Line-Komponente mit
der Testumgebung 420 verbindet.
-
Die
In-Line-Komponente analysiert den gesamten Verkehr von dem und zu
dem internen Netz 130. Mittels einer Komponente zum Erkennen
einer Aufschaltung 412b erkennt es alle „illegalen" oder „schädlichen" Angriffsstrukturen
eines bekannten Typs (d.h. diejenigen Kommunikationseinheiten, deren
Signaturen in der Datenbasis 415 enthalten sind). Im Falle
eines solchen Auftretens hindert das System, über die Firewall-Komponente 412a,
die einzelnen gefährlichen
Pakete daran, das Gerät
zu überqueren
und das Ziel zu erreichen, wodurch eine Aufschaltungsverhinderungshandlung
durchgeführt wird.
-
Im
Gegensatz dazu wird der Verkehr, der als „legal" oder „harmlos" quittiert wird (d.h. diejenigen Kommunikationseinheiten,
deren Signaturen in der Datenbasis 416 enthalten sind)
zugelassen, die In-Line-Komponente 410 zu überqueren,
und somit die Server im internen Netz 130 zu erreichen.
-
Wenn
die In-Line-Komponente 410 Pakete erhält, die basierend auf den Signaturen
enthalten in den Datenbasen 415 und 416 nicht
als entweder legal oder illegal erkennbar sind, werden die fraglichen Pakete über die
Schnittstelle 411d auf die Testumgebung oder -konfiguration 420 umgerichtet.
-
Die
Testumgebung 420 umfaßt
eine oder mehrere Testmaschinen 421, welche die Server
oder, weniger bevorzugt, einen Teil der Server (letztendlich sogar
einen einzelnen Server) in dem internen Netz 130 replizieren,
und ein System 422, angepaßt, um deren Status zu verifizieren, um
die möglichen
Angriffe zu erkennen. Bei einer minimalen Implementierung kann das
System 422 mit einem Host-basierten System zum Erkennen
einer Aufschaltung wie in 2 gezeigt übereinstimmen.
-
Nach
dem Testen werden die Pakete, die als legal erkannt wurden, zurück an die
In-Line-Komponente 410 gegeben,
die diese zurück
an die Server im internen Netz 130 richtet, während die
illegalen Pakete blockiert werden.
-
Die
Testumgebung ist auch verbunden mit dem Verwaltungsnetz 414,
um eine Aktualisierung der Informationen enthalten in den Datenbasen 415 und 416 zuzulassen.
Im Einzelnen wird jedes einzelne Paket über die gemeinsame Handlung
des Firewall-Moduls 412a und im Modul zum Erkennen einer Aufschaltung 412b analysiert.
-
Im
ersten Beispiel überprüft die Firewall-Komponente 412a die
legale Natur des Paketes: zum Bespiel erfolgt dies durch das Ausführen von Paketfilterung
auf Grundlage der Adressen und der Quelle und dem Zielanschluß, während möglicherweise
illegale Pakete blockiert werden. Anschließend analysiert das Modul zum
Erkennen einer Aufschaltung 412b den Anwendungsinhalt des
Paketes auf Grundlage des Inhaltes der Datenbasis 415,
welche die bekannten zu blokkierenden Angriffsstrukturen enthält, und
der Datenbasis 416, welche diejenigen Strukturen enthält, die
in dem ausdrücklich
zugelassenen Verkehr enthalten sind.
-
Wenn
die Komponente 412b einen Angriff erkennt, wird dieser
blockiert, bevor er die Systeme im internen Netz erreichen kann.
Wenn umgekehrt eine ausdrücklich
zulässige
Verkehrseinheit erkannt wird, so wird solcher Verkehr zugelassen,
das System zu überqueren
und das Netz 130 über
die Schnittstelle 411b zu erreichen.
-
Der
Rest des Verkehrs, der weder ausdrücklich legal noch ausdrücklich illegal
ist, gilt als „verdächtiger" Verkehr.
-
Es
dürfte
klar sein, daß die
Systeme des Standes der Technik von 1 bis 3 sich
nicht mit solchem „verdächtigem" Verkehr befassen:
als eine Funktion des Auftretens, wird dieser entweder als legal
behandelt und durchgelassen, oder als illegal behandelt und somit
blockiert. Diese Art der Behandlung erhöht das Risiko des Erzeugens
sowohl negativ falscher Alarme (illegaler Verkehr, der als legaler
Verkehr behandelt wird) und positiv falscher Alarme (legaler Verkehr,
der als illegaler Verkehr behandelt wird).
-
Im
Gegensatz dazu wird bei der hierin beschriebenen Anordnung der verdächtige Verkehr über die
Schnittstelle 411d auf das Testsystem 420 umgeleitet.
Die Testmaschinen 421 empfangen den gesamten verdächtigen
Verkehr gesammelt durch die Schnittstelle 411a und verarbeiten
jedes einzelne Paket darin auf die gleiche Art und Weise wie solche Pakete
durch die „echten" Maschinen im internen Netz 130 verarbeitet
werden würden.
-
In
der Praxis überprüft das System 422 den Status
der Maschinen durch Erkennung einer Aufschaltung auf dem lokalen
Detaillevel (was bei einem Netz-basierten Sensor unmachbar wäre), während auch
die Möglichkeit
besteht, den Effekt jeden einzelnen Paketes, oder sogar jeden einzelnen
Befehls auf den Maschinen selbst zu verifizieren. Auf diese Art und
Weise wird der gesamte verdächtige
Verkehr verarbeitet und schließlich,
abhängig
vom Ergebnis einer solchen Verarbeitung, durch das Testsystem 422 als
legal oder illegal klassifiziert, ohne die Möglichkeit von Fehlern.
-
Wird
ein verdächtiges
Paket als legal befunden, wird es wieder an die In-Line-Komponente 410 des
Systems gerichtet, welche es wiederum an den Endnutzer weiterleitet,
der somit die Kommunikation fortsetzen kann. Wenn im Gegensatz dazu
ein verdächtiges
Paket als illegal befunden wird, wird es weder an das In-Line-System
gesendet, noch wird eine Antwort von den Testmaschinen 421 auf
das externe Netz 110 gesendet. Das Paket wird blockiert
und der entsprechende Alarm erreicht den Bediener über das Verwaltungssystem 417.
-
Es
dürfte
klar sein, daß durch
Ausnutzung der Kooperation von zwei unterschiedlichen Typen von
Anordnungen zum Erkennen einer Aufschaltung, einer vom Netz-Typ 412b,
beinhaltet in einem In-Line-Element 410, und einer Komponente
des Host-basierten Typs, integriert in das Testsystem 420,
die hierin beschriebene Anordnung die intrinsischen Einschränkungen
traditioneller Ansätze
einerseits durch das Fehlen des Problems falscher Alarme, während andererseits
das Problem in Bezug auf die invasive Natur des Host-basierten Systems
gelöst
wird, überwindet.
-
Der
Betrieb der in 4 gezeigten Anordnung wird nun
durch spezifischen Verweis auf die Flußdiagramme von 5 und 6 beschrieben.
-
In
einem Schritt 510 wird jedes empfangene Paket durch das
Firewall-Element 412a verarbeitet, das auf dem Netz- und
Transport-Level arbeitet. Dann werden in einem Schritt 520 die
Header-Daten auf
Level 3 und 4 analysiert, um die legale Natur des Verkehrs von und
zu bestimmten IP-Adressen
und -Anschlüssen
zu überprüfen, und
es besteht die Möglichkeit
des Blockierens – in
einem Schritt 521 – von illegalem
Verkehr.
-
Anschließend wird
in einem Schritt 530 das Paket durch das Element zum Erkennen
einer Aufschaltung 412b analysiert, das Angriffe auf Grundlage
der Signaturen enthalten in der Datenbasis 415 erkennt.
Ein Angriff kann durch ein oder mehrere Pakete auf Level 3 (zum
Beispiel ein sogenannter Ping of Death), auf Level 4 (zum Beispiel
SYN-Flood) und dem Anwendungslevel (zum Beispiel ein sogenannter
Pufferüberlauf) übermittelt
werden.
-
Wenn
ein Angriff erkannt wird, wird das entsprechende Paket in einem
Schritt 531 blockiert und wird nicht zurück auf die
Schnittstelle 411b gerichtet. Folglich erreicht es die
Server im internen Netz 130 nicht, während in einem Schritt 532 ein
entsprechender Alarm ausgegeben wird, der den Netzadministrator über das
Verwaltungssystem 417 erreicht.
-
Wird
kein Angriff erkannt, wird in einem Schritt 540 ein ähnliches
Strukturvergleichsverfahren gestartet, um den möglicherweise ausdrücklich legalen
Anwendungsinhalt des Paketes zu prüfen. Die entsprechenden Signaturen
enthalten in der Datenbasis 416 sind übliche Signaturen, welche die
Strukturen legaler Anfragen belegen, welche die Server von ihren
Clients erhalten haben.
-
Folglich
sind diese Strukturen stark abhängig von
den durch die Maschinen im internen Netz 130 bereitgestellten
Anwendungsdiensten. Wenn es ausdrücklich legal oder zulässig ist,
wird jedes einzelne Paket in einem Schritt 541 über die
Schnittstelle 411b zurück
auf die Endserver gerichtet 541. Die Server übernehmen
die Verarbeitung des Paketes, was im allgemeinen in einem Schritt 542 das
Ausgeben einer Antwort auf die Clients in dem externen Netz 110 beinhaltet.
-
Wenn
das Paket keiner der Signaturen in der Datenbasis 416 und
auch in der Datenbasis 415 entspricht, dann hat man es
mit einem „unbekannten" Element zu tun,
das weder ausdrücklich
illegal noch ausdrücklich
legal oder zulässig
ist. Ein solches Paket wird daher als ein verdächtiges Element behandelt Speziell
wird ein solcher verdächtiger
Verkehr über
die Schnittstelle 411d auf das Testsystem 420 abgelenkt,
was in einem Schritt 550 stattfindet. Die Testumgebung 420 empfängt alle
verdächtigen
Pakete und handhabt sie wie in 6 gezeigt
6.
-
Jedes
in Schritt 610 empfangene Paket wird durch die Testmaschinen 421 in
einem Schritt 620 verarbeitet. Speziell replizieren die
Testmaschinen 421 die Server im internen Netz 130:
ein Testsystem 422, welches – wie angegeben – in einer
minimalen Implementierung einem Host-basierten System zum Erkennen einer
Aufschaltung wie in 2 gezeigt entsprechen kann, überprüft den Status
der Maschinen 421 zum Erkennen der möglichen Aufschaltung in einem
Schritt 630. Das Erkennungssystem 422 arbeitet
auf einem lokalen Detaillevel und kann daher den Effekt von jedem
einzelnen Paket, oder jedem einzelnen Befehl, auf die Maschinen
selbst überprüfen.
-
Wenn
sich ein verdächtiges
Paket als legal herausstellt, wird es in einem Schritt 640 über die Schnittstelle 411d zurück auf die
In-Line-Komponente 410 des Systems gerichtet, die es wiederum
an die Endsysteme im internen Netz 130 weiterleitet. Diese können somit
in einem Schritt 641 die Kommunikation mit den Clients
im externen Netz 110 fortsetzen. Alternativ dazu kann das
Paket durch das Verwaltungsnetz 414 zurück auf die In-Line-Komponente 410 gerichtet
werden.
-
Wenn
sich im Gegensatz dazu ein verdächtiges
Paket als illegal herausstellt, wird es in einem Schritt 631 blokkiert,
d.h. es wird weder zurück
auf die In-Line-Komponente gerichtet, noch wird eine mögliche Antwort
von den Testmaschinen 421 an das externe Netz 110 gesandt.
-
Außerdem wird
eine Reihe paralleler unabhängiger
Handlungen im Schritt 632 bis 635 ausgeführt.
-
Zuerst
wird in Schritt 632 ein Alarm erzeugt, der den Netzadministrator über das
Verwaltungssystem 417 erreicht.
-
In
einem Schritt 633 wird auch eine Reset-Handlung für die möglicherweise
beeinträchtigte/n
Testmaschine/n bewirkt. Ein solcher Schritt kann zum Beispiel in
der Wiederherstellung einer Partition in einer Platte basierend
auf einem Abbild davon, welches zuvor erzeugt und im System 422 gespeichert
wurde, bestehen, welches durch die Steuerung der Testmaschinen die
gesamte Umgebung 420 verwaltet. Außerdem kann durch das Zurückgreifen
auf traditionelle Techniken der Abbruch der andauernden Sitzung
in einem Schritt 634 durchgeführt werden, nachdem die illegale
Natur der Kommunikation festgestellt wurde.
-
Die
beschriebene Anordnung führt
einen Schritt 635 der Aktualisierung der Regeln enthalten
in der Datenbasis 415 durch. Dies soll dazu dienen, die Wirksamkeit
der Erkennung progressiv zu verbessern. Nach dem Überprüfen der
gefährlichen
Natur eines gegebenen Verkehrsflusses kann das Testsystem 422 die
Regeln enthalten der Datenbasis 415 überarbeiten, die das Verhalten
der In-Line-Komponente 410 in dem System auf eine solche
Art und Weise bestimmen, daß,
wenn dieser Verkehrsfluß wieder
erscheint, dieser umgehend blockiert wird, ohne daß er an
das Testsystem umgeleitet wird.
-
Außerdem kann
das System, in einem Schritt 636, einen Mechanismus für das Übertragen
der Aktualisierungsinformationen auf andere Systeme zum Erkennen
einer Aufschaltung, möglicherweise
eines traditionellen Typs, umfassen, und zwar auf eine solche Art
und Weise, daß diese
Systeme die neuen Signaturen für
das Erkennen einer Aufschaltung ausnutzen können. Auf diese Art und Weise
wird ein wirksamer Ansatz für
das automatische Erzeugen von Signaturen bei Vorhandensein neuer
Angriffe implementiert.
-
Ähnlich werden,
wenn sich ein Paket als legal herausstellt, in einem Schritt 650 die
Regeln in der Datenbasis 416 entsprechend aktualisiert.
-
Diese
Synergie der Host-basierten Komponente und der In-Line-Komponente
in dem System, die zu einer verbesserten Wirksamkeit bei der Erkennung
führt,
wird mittels des Verwaltungsnetzes für 414 ausgeführt, auf
das sowohl die Testsysteme 422 als auch die In-Line-Komponente 416 zugreifen.
-
Auf
diese Art und Weise gibt das beschriebene System in Schritt 532 und 632 Alarme
nur bei Vorhandensein einer wirklichen Aufschaltung aus, d.h. nur
bei Vorhandensein der Pakete, die, wenn sie die Firewall 412a überqueren
würden,
die Systeme in dem internen Netz 130 erreichen würden, mit
einer Möglichkeit,
deren Betrieb negativ zu beeinflussen.
-
Diese
Signalisierungshandlung hat rein informativen Wert, da jeder gefährliche
Angriff bereits durch die Komponenten in den Systemen wie der In-Line-Komponente 410 oder
der Testumgebung 420 blockiert wurde.
-
Tatsächlich werden
die Maschinen in dem internen Netzt 130 nur adressiert,
wenn der Verkehr:
- – in Schritt 541 als
ausdrücklich
legal eingestuft wird, weil die entsprechenden Signaturen in der Datenbasis 416 enthalten
sind, oder
- – in
Schritt 640 positiv getestet wurde, ohne einen Schaden
in den Testmaschinen zu verursachen.
-
Der
gefährliche
Verkehr wird somit daran gehindert, das interne Netz zu erreichen,
was eine Aufschaltungsverhinderungssituation zur Folge hat.
-
Zusammenfassend
wird der gesamte Verkehr von dem und zu dem internen Netz 130 in
dem System analysiert, in der In-Line-Komponente 410, und
möglicherweise
auch in der Host-basierten Komponente, die in das Testsystem 420 integriert
ist.
-
Ein
Angriff wird durch die In-Line-Komponente 410 (wenn seine
Signatur in der Datenbasis 415 vorliegt) oder durch das
Testsystem 420 (welches im Gegenzug die Signaturen in der
Datenbasis 415 aktualisiert) erkannt und blockiert.
-
Im
Gegensatz dazu wird der legale Verkehr durch die In-Line-Komponente
erkannt (wenn er durch eine Verfahrensweise in der Datenbasis 416 ausdrücklich zugelassen
wird), ansonsten durchläuft er
das Testsystem, bevor er den Zielserver erreicht. Außerdem erhöht in diesem
letztgenannten Fall der Selbstaktualisierungsmechanismus der Verfahrensweisen
in der Datenbasis 416 die Wirksamkeit der Erkennung, da
er die Fälle
verdächtigen
Verkehrs, die auf das Testsystem abgelenkt werden, verringert.
-
Tatsächlich handhabt
das System alle diejenigen Pakete/Befehle als verdächtigen
Verkehr, der auf das Testsystem 420 umgeleitet wird, die
abhängig
von den Regeln in den Datenbasen 415 und 416 nicht
ausdrücklich
verboten oder ausdrücklich
zugelassen sind.
-
Dies
sind üblicherweise
Angriffe, deren Ergebnis nur auf dem lokalen Level vorhergesehen werden
kann. Dies ist z.B. der Fall bei:
- – Angriffen,
die keine wirklich verwundbaren Punkte der Endmaschinen beeinträchtigen,
oder die Endserver sind zur Abwehr in der Lage, da sie über geeignete
Patches verfügen,
und die sehr wahrscheinlich falsche Alarme auslösen würden,
- – Angriffen,
die noch nicht bekannt sind und die nur echte Tests ausgeführt auf
den einzelnen Maschinen erkennen können, oder
- – Verkehrsfragmenten – auf jedem
Level – die nicht
korrekt rekonstruiert werden können,
wodurch Ausweichungs- und Einfügungsprobleme wie
zuvor beschrieben vermieden werden, anstatt auf dem lokalen Level
auf einer spezifischen Maschine zu arbeiten.
-
Es
dürfte
klar sein, daß das
im Vorhergehenden durch primären
Verweis auf Level 3 und einen TCP-Fluß beschriebene Problem der
Fragmentierung auch auf dem Anwendungslevel existiert. Auf diesem
Level ist die elementare Kommunikationseinheit oder -instanz der
einzelne Befehl, und diese kann auch in einer Art und Weise angeordnet
sein, um einen Angriff zu starten. Üblicherweise ist ein Anwendungsbefehl
in einem einzelnen Paket enthalten, jedoch muß, wenn dies nicht der Fall
wäre, das
System zum Erkennen einer Aufschaltung in der Lage sein, es in einer
korrekten Art und Weise zu rekonstruieren, um mögliche Angriffe darin zu erkennen.
-
Ein
sehr einfaches Beispiel der Fragmentierung auf dem Anwendungslevel
ist durch ein generisches Protokoll des Texttyps wie HTTP oder SMTP dargestellt.
Normalerweise erfolgt die Interaktion mit dem Web-Server oder dem
E-Mail-Server durch das Senden kompletter Zeichenketten von Befehlen
in einem einzelnen Paket. Dies erhöht die Netzeffizienz erheblich.
Jedoch ist es möglich,
die mehreren unabhängigen
Pakete zu verwendet, um die gleiche Anfrage zu senden. Zum Beispiel
wird jedes Mal, wenn ein Angreifer den Web-Server oder den E-Mail-Server eines interaktiven
Tools (zum Beispiel TELNET) direkt befragt, die an den Server gesandte
Anfrage in mehrere Pakete fragmentiert, von denen jedes ein einzelnes
Zeichen enthält,
da dies die Logik ist, die derzeit durch interaktive Anwendungen
verwendet wird. Wenn das System zum Erkennen einer Aufschaltung nicht
in der Lage ist, die gesamte Konversation zu rekonstruieren und
den Strukturvergleich nur auf dem Level eines einzelnen Paketes
durchführt, wäre eine Manipulation
dieser Art ausreichend, um den Erkennungsmechanismus außer Kraft
zu setzen.
-
Zum
Beispiel nutzt die folgende http-Anfrage eine gut bekannte Verwundbarkeit
des phf-Programms
für den
Zugriff auf die Paßwortdatei
in einem Unix-System aus:
GET/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd
-
Wenn
zum Einfügen
einer solchen Anfrage ein interaktives Tool verwendet wird, werden
50 (fünfzig)
separate Pakete erzeugt, von denen jedes ein einzelnes Zeichen umfaßt. Das
System zum Erkennen einer Aufschaltung kann diesen Angriff nur durch eine
komplette Rekonstruktion des Datenflusses erkennen. Um dies zu tun
muß jedoch
das System zum Erkennen einer Aufschaltung in der Lage sein zu verstehen,
wann eine Anfrage beendet ist. Außerdem ist es notwendig andauernde
Abschnitte und die Verwendung von Zeitüberschreitungen zu verfolgen,
um eine Auslastung der angefragten Ressourcen zu vermeiden, all
die separaten Konversationen zu verfolgen. Ferner ist jedes Mal,
wenn die Verkehrsflüsse rekonstruiert
werden müssen,
das System zum Erkennen einer Aufschaltung den Problemen der Ausweichung
und Einfügung,
wo diese im Vorhergehenden beschrieben wurden, ausgesetzt.
-
Ein
traditionelles System zum Erkennen einer Aufschaltung ist nicht
in der Lage, dieses Problem in einer wirksamen Art und Weise zu
lösen.
-
Im
Gegensatz dazu hat die hierin beschriebene Anordnung den Vorteil,
daß der
Verkehr nicht durch den Sensor rekonstruiert wird, sondern daß diese
Rekonstruktionshandlung durch das Testsystem 420 stattfindet.
Tatsächlich
wird der gesamte Verkehr, der durch die Verfahrensweisen in den
Datenbasen 415 und 416 nicht ausdrücklich verboten oder
ausdrücklich
erlaubt ist, als verdächtig
behandelt und auf das Testsystem 420 abgelenkt.
-
Folglich
kann, wenn der im Vorgenannten angegeben Befehl in 50 Pakete fragmentiert
ist, das erste Paket, welches das einzelne Zeichen G umfaßt, nicht
korrekt aufgelöst
werden und wird an das Testsystem 420 umgeleitet.
-
Das
einzelne Paket enthält
weder illegale Nutzdaten, noch kann es die Testmaschine 421 beeinträchtigen.
Folglich wird es durch das Erkennungssystem 422 ohne Risiko
an das Endsy stem umgeleitet. Ähnlich
wird jedes einzelne Paket, das in dem gesamten Befehl beinhaltet
ist, durch die In-Line-Komponente 410 auf die Testmaschinen 421 umgerichtet;
das Erkennungssystem 422 überprüft die Natur der einzelnen
Pakete und leitet sie um auf die Endsysteme.
-
Wenn
das Erkennungssystem 422 die gefährliche Natur des Befehls,
der gebildet wird, erkennt, stoppt es umgehend dessen Fluß. Dies
kann zum Beispiel beim Erscheinen der Zeichenkette
cgi-bin/phf
erfolgen,
die in einer gegebenen Signatur enthalten ist.
-
Folglich
behält
das System sein Wirksamkeit auch in dem Fall bei, in dem die „unbekannte" Natur des Angriffs
darin liegt, daß ein
solcher Angriff in einem Versuch der Ausweichung/Einfügung, z.B. durch
seine Fragmentierung in mehrere Pakete/Einheiten, die an sich „harmlos" sind, geliefert
wird. Wie im betrachteten Beispiel gezeigt, wird die gefährliche Natur
des Befehls auf jeden Fall entdeckt, wenn das letzte Paket (das
51.), welches das ENTER-Zeichen umfaßt, geschickt
wird, welches die Ausführung
des gesamten Befehls startet.
-
An
dieser Stelle erkennt das System zum Erkennen einer Aufschaltung 422 der
Testumgebung das anomale Verhalten des Systems 421, das
versucht, auf die Paßwortdatei
zuzugreifen, es erkennt ein solches Verhalten als illegal und blockiert
daher die Übertragung
des 51. Paketes auf das Endsystem. Auf diese Art und Weise wird
die Ausführung
des Befehls verhindert und der Angriff wird hinfällig.
-
Außerdem kann
ein Alarm ausgegeben werden, um einen Beweis für die vermiedene Gefahr bereitzustellen
und die Datenbasis 415 zu aktualisieren, um es wiederum
der In-Line-Komponente 416 zu ermöglichen, den Befehl in Zukunft
zu erkennen (wenn er als ein einzelnes Paket gesendet wird) und
dessen Übertragung
automatisch zu blockieren.
-
Auf
diese Art und Weise wird der gefährliche Befehl
auf den Endsystemen in dem internen Netz 130 nicht ausgeführt und
die Kommunikation mit dem gefährlichen
Nutzer wird mittels traditioneller Verfahren des „Abbruchs" der Sitzung unterbrochen,
während
die unterbrochene aktuelle Sitzung durch Anwendungszeitüberschreitungen
gelöscht
wird.
-
Der
beschriebene Rückübertragungsmechanismus
führt dazu,
daß die
Testmaschinen 421 niemals wirklich eine Antwort auf die
Benutzeranfragen liefern, da keine Kommunikation von der Testumgebung 420 auf
das äußere Netz 110 existiert.
Dies bedeutet praktisch, daß die
Testmaschinen 421 in der Testumgebung 420 daran
gehindert werden, Antworten an den Verkehr zu liefern: tatsächlich wird
die Kommunikation mit den Nutzern immer nur durch die Server in
dem internen Netz geschlossen.
-
Außerdem ist
die hierin beschriebene Anordnung angepaßt, auch mit Kommunikationseinheiten entnommen
aus dem Verkehr und entfernt von der Gruppe von Maschinen, die das
interne Netz 130 umfassen zu arbeiten, um jede mögliche unbekannte Einheit
auf die Testumgebung 420 zu richten.
-
Diese
Maßnahmen
führen
zu weiter verbesserter Sicherheit gegen diejenigen Angriffe, die
möglicherweise
auf einer Art von Information basieren, die aus dem internen Netz 130 kommt
und/oder der Möglichkeit
des Abfangens von Antworten von den Servern in dem Netz 130,
um eine Synchronisierung auf dem TCP-Level aufrechtzuerhalten.
-
Dem
Fachmann auf dem Gebiet wird sofort klar sein, daß es nicht
notwendig ist, daß die
Testmaschinen 420 eine vollständige, komplette Kopie der Maschinen
(Server) in dem internen Netz 130 sind. Im wesentlichen
reproduzieren die Testmaschinen 420 die Software-Konfiguration der
Server in dem internen Netz, insofern als z.B. die Betriebssysteme, die
verwendeten Software-Versionen und die angebotenen Dienste betroffen
sind. Dies ermöglicht
eine ordnungsgemäße Erkennung
von Aufschaltungen.
-
Jedoch
ist es nicht notwendig, daß die
Testmaschinen 420 die Server in dem internen Netz 130 vollständig reproduzieren,
insofern als die Anwendungsinhalte betroffen sind.
-
Der
gerade beschriebene Mechanismus ist besonders geeignet für die Anwendung,
wenn das interne Netz 130 aus Maschinen besteht, die homogene
Dienste anbieten. Dies vereinfacht die Einrichtung der Testumgebung 420 und
macht die Erkennung gleich von Anfang an recht wirksam.
-
Eine
solche Situation ist derzeit zu finden in den sogenannten Server-Farmen
großer
Internet-Dienstanbieter
oder in den Datenverarbeitungsabteilungen großer Unternehmen. Dort gibt
es, um eine einfachere und effektivere Verwaltung zu ermöglichen,
sowohl was die Software-Aktualisierung
angeht als auch hinsichtlich der Gesamtverwaltung, die Tendenz,
in gemeinschaftlichen Bereichen diejenigen Maschinen zu gruppieren,
die homogene Dienste anbieten oder ähnliche Software-Konfigurationen aufweisen.
-
Durch
das Implementieren des beschriebenen Rückübertragungsmechanismus auf
dem Level des einzelnen Paketes, kann auch das Problem einer Fragmentierung
sowohl auf Level 3 wie auch auf dem Anwendungslevel, wie im vorhergehenden
Beispiel beschrieben, komplett gelöst werden.
-
Um
in Bezug auf Probleme hinsichtlich Fragmentierungen auf dem TCP-Fluß-Level
komplett auf der sicheren Seite zu sein, werden bevorzugt alle Sitzungen
verfolgt, indem alle TCP-Pakete auf das Testsystem umgeleitet werden,
nämlich
diejenigen, die auf das interne Netz 130 gerichtet sind
und von der Schnittstelle 411a kommen, sowie die entsprechenden
Antworten geliefert durch die Server in dem Netz 130, die über die
Schnittstelle 411b übertragen
werden. Auf diese Art und Weise kann die Testumgebung 420 alle
Sitzungen, die auf dem Endsystem aktiv sind, verfolgen, wodurch
sie hinsichtlich des Systemstatus perfekt aktualisiert ist.
-
Diejenigen
Angriffe, die Ausweichungs- und Einfügungssituationen auf den TCP-Levels
ausnutzen, sind sehr schwer zu implementieren. Folglich ist es möglicherweise
nicht notwendig, daß die
Testumgebung 420 Ressourcen auf einem sehr hohen Level umfaßt, wie
dies zum Erkennen solcher recht unwahrscheinlichen Angriffe notwendig
ist. Folglich kann eine vernünftige
Balance gefunden werden, indem der Umleitungsmechanismus des Verkehrs
auf die Testumgebung auf eine solche Art und Weise angepaßt wird,
daß eine
solche recht kostspielige und erwartungsgemäß unnötige Intervention vermieden wird.
-
Natürlich können sich,
ohne Beeinträchtigung
der zugrundeliegenden Prinzipien der Erfindung, die Einzelheiten
und Ausführungsformen
von dem unterscheiden, was nur als Beispiel beschrieben wurde, ohne
vom Umfang der Erfindung, wie er durch die beigefügten Ansprüche definiert
ist, abzuweichen.