-
Die vorliegende Erfindung betrifft ein neuartiges Verfahren zur realitätsnahen Funktionsüberprüfung von Netzwerkkomponenten. Insbesondere aber nicht ausschließlich beschreibt die vorliegende Erfindung eine Möglichkeit zur realitätsnahen Funktionsüberprüfung von Netzwerkgeräten, die eine Deep Packet Inspection durchführen. Der Einsatz ist besonders geeignet aber nicht beschränkt auf die Möglichkeit zur Überprüfung von Netzwerkgeräten, welche in Carrier/Provider Netzwerken eingesetzt werden.
-
Die Kommunikation unter Komponenten über ein Datennetz erfolgt mittels Protokollen. Protokolle umfassen dabei eine feste Anzahl an Vereinbarungen beziehungsweise eine eindeutig festgelegte Menge von Regeln. Sie legen einen allgemeinen Kommunikationsstandard zum Datenaustausch zwischen Einheiten fest. Protokolle umfassen also die Methoden, mit denen Kommunikation über eine Datenverbindung durchgeführt wird und legen die Abstimmung und Synchronisierung der Netzwerksysteme fest. Zur Beherrschung der Komplexität der Kommunikation, vor allem in offenen Systemen (Internet), wurden Protokollhierarchien eingeführt. Jede Ebene besitzt hierbei einen klar umrissenen Satz von Schnittstellen für die jeweils höhere Schicht (ISO/OSI Modell). TCP/IP beschreibt die für den Datenaustausch im Internet und Intranet notwendigen Protokollhierarchien.
-
Mit zunehmender Beliebtheit des Internets, Fortschritten in diversen Technikbereichen und Datenkommunikationsverfahren wurden und werden zunehmend neue Nutzungs- und Anwendungsarten entwickelt. Neben der stetig zunehmenden Anzahl an divergierenden Anwendungen und der damit einhergehenden Zunahme an benötigten und eingesetzten Protokollen, verlangen komplexere Anwendungsbereiche ebenso komplexe Protokolle.
-
Bevor Netzwerkgeräte in einem Produktionsnetz eingesetzt werden, werden Überprüfungen im Bezug auf Funktionalität, Interoperabilität etc. durchgeführt. Unter Zuhilfenahme von Lastgeneratoren werden hierfür im Labor künstliche Verkehrcharakteristiken erzeugt und zum Testen der Netzwerkgeräte verwendet. Diese synthetisch erzeugten Verkehrcharakteristiken haben den Anspruch realitätsnah zu sein. Nur unter dieser Vorraussetzung können Netzwerkgeräte vor dem produktiven Einsatz sinnvoll überprüft werden.
-
Folgende Faktoren sind unter dem Kriterium der Realitätsnähe zu nennen:
- – Verhältnis von fragmentierten Paketen zu nicht fragmentierte Paketen
- – Implementierungsfreiheiten in Protokollspezifikationen und Protokollstandards
- – Verkehrsmix (welche Protokolle zu welchen prozentualen Anteilen)
- – Anomalien in Headerfeldern
- – Korrupte Pakete
- – Paketwiederholungen
- – Standardkonformes und nicht standardkonformes Verhalten von Netzwerkstacks
- – Verhältnis von Paketgrößen
- – Vorhandensein von Tunnelkonstrukten und verschlüsselten Paketen
- – Verkettung, Verschachtelung von Protokollen und optionalen Erweiterungsheadern.
-
Im Rahmen der Absicherung von Netzwerken, insbesondere Carrier Netzwerken werden Netzwerkkomponenten eingesetzt, welche die in Anzahl und Komplexität zunehmenden Protokolle in ihrer gesamtheitlichen Komplexität untersuchen. Dies betrifft insbesondere aber nicht ausschließlich Firewalls, Intrusion Detection Systeme, Intrusion Prevention Systeme oder Loadbalancer.
-
Mit zunehmender Verarbeitungstiefe von Verkehren durch Netzwerkgeräte steigen die Anforderungen an Testverfahren für diese Netzwerkgeräte. Die Testverfahren verlangen, dass die in Umfang und Komplexität steigenden Verkehrscharakteristiken in modernen Datennetzen in vollem Umfang zu Testzwecken durch Lastgeneratoren synthetisiert werden können.
-
Aktuelle Lastgeneratoren sind nicht in der Lage Verkehre zu erzeugen, die dem Anspruch der Realitätsnähe genügen. Neben der grundsätzlichen Fähigkeit der Generierung aller benötigten Protokolle stellt insbesondere die Konfiguration der Lastgeneratoren ein Hindernis dar. Die Konfiguration der Lastgeneratoren durch den Anwender/Tester verlangt zwingend vollumfängliches Wissen über die im Produktionsnetz vorherrschenden Protokolle und Protokollvarianten. Dies umschließt die zuvor unter dem Kriterium der Realitätsnähe genannten Punkte. Dieses Wissen ist meist nicht in benötigter Vollständigkeit vorhanden. Aufgrund der Vielzahl an Parametern und Variationsmöglichkeiten ist eine naturgetreue Ermittlung und Nachbildung der Verkehrscharakteristik kaum möglich.
-
Da zunehmend Netzwerkgeräte eingesetzt werden, die die komplexen Verkehrcharakteristiken im Detail bis auf Anwendungsebene untersuchen, können Lastgeneratoren nur begrenzt verwendet werden, um moderne Netzwerkgeräte unter realitätsnahen Bedingungen zu testen.
-
Die Idee der vorliegenden Erfindung verwendet einen grundsätzlich neuen Ansatz, um Netzwerkgeräte im Labor unter Bedingungen zu testen, die den zuvor genannten Bedingungen der Realitätsnahe gerecht werden.
-
Hierzu wird Produktivverkehr im Produktionsnetz mitgeschnitten, unter Berücksichtigung der gegenwärtigen Datenschutzbestimmungen anonymisiert, an die gegebenen Laborbedingungen angepasst sowie aufbereitet, ausgespielt und die Verarbeitung des zu testenden Netzwerkgeräts verifiziert. Produktivverkehr ist der beim regulären Betrieb des Netzwerks tatsächlich im Netzwerk anfallende Netzwerksverkehr.
-
Die Verwendung von Produktivverkehr impliziert, dass alle Verkehrcharakteristiken, die ein Netzwerksystem im Produktionsnetz aktuell begegnen würde, im Mitschnitt und damit zu Testzwecken vorhanden sind.
-
Die Durchführung der erfindungsgemäßen Testmethode verlangt eine mehrschrittige Vorgehensweise deren Reihenfolge nicht festgelegt ist. Auch können die im Folgenden genannten logischen Schritte an verschiedenen Zeitpunkten in geeigneter Weise miteinander kombiniert werden:
- – Mitschnitt des Verkehrs im Produktionsnetz,
- – Anonymisierung des Verkehrs,
- – Anpassung des Verkehrs an gegebene Laborbedingungen,
- – Aufbereitung des Verkehrs zur Realisierung einer spezifischen Teststellung,
- – Widerspielen des aufbereiteten und anonymisierten Verkehrs,
- – Verifikation der Verarbeitung durch das zu testende Gerät.
-
Im Folgenden werden die genannten logischen Abschnitte detaillierter beschrieben.
-
– Mitschnitt des Verkehrs im Produktionsnetz:
-
Alle im Produktivverkehr enthaltenen Netzwerkpakete sind unabhängig von Protokoll, Aufbau und Beschaffenheit in ihrer Gesamtheit und konkreten Reihenfolge unverändert und vollständig mitzuschneiden. Die Speicherung der Daten muss den gegebenen Datenschutzbestimmungen entsprechen. Für jedes Datenpaket muss ein Zeitstempel gespeichert werden (Absolutwert oder Deltawert). Die Speicherung der Daten verlangt ein geeignetes Datenformat zur weiteren Verarbeitung der Daten.
-
– Anonymisierung des Verkehrs
-
Da der Mitschnitt des Netzwerksverkehrs Daten von Nutzern (beispielsweise Kunden) dieses Datennetzes enthält, müssen geeignete (Teil-)Anonymisierungsmaßnahmen durchgeführt werden.
-
Die (Teil-)Anonymisierung der Daten stellt einen zentralen und elementaren Bestandteil des Verfahrens dar. Die (Teil-)Anonymisierung des Verkehrs muss unter Berücksichtigung der Funktionsweise des zu testenden Netzwerkgerätes erfolgen. Insbesondere aber nicht ausschließlich muss bekannt und berücksichtigt werden, welche Protokolle in welcher Tiefe, d.h. welche Headerfelder in welcher Form untersucht werden. Die Verarbeitungsweise des zu testenden Netzwerkgerätes muss bei der (Teil-)Anonymisierung berücksichtigt werden, um die exakte Verarbeitung des Verkehrs durch das Testgerät entsprechend der potentiellen Verarbeitung im Produktionsnetz zu gewährleisten.
-
Für jedes der im Mitschnitt enthaltenen Protokolle muss eine geeignete (Teil-)Anonymisierung geschaffen werden, vorausgesetzt personenbezogene oder in einer anderen Art und Weise als sensibel einzustufende Daten nach vorherrschendem Datenschutzrecht sind enthalten. Diese Informationen sind mittels einer Einwegfunktion zu entfernen, um die Wiederherstellung der Daten zu verhindern.
-
Die Anonymisierung schließt fehlerhafte und korrupte Pakete ein. Insbesondere muss bei der (Teil-)Anonymisierung beachtet werden, dass korrupte und fehlerhafte Pakete auch nach der Anonymisierung in exakt gleicher Weise fehlerhaft oder korrupt bleiben.
-
Generell dürfen durch die Anonymisierung des Verkehrs keine Veränderungen der Pakete erfolgen, welche die Verarbeitung der zu testenden Netzwerkgeräte in irgendeiner Form beeinflussen.
-
– Anpassung des Verkehrs an gegebene Laborbedingungen
-
Die Anpassung des Verkehrs dient verschiedenen Zwecken, welche im Folgenden beschrieben werden. Zum einen wird in diesem logischen Schritt die benötigte Anpassung des Verkehrs an die konkrete Testumgebung im Labor durchgeführt. Dies ist notwendig, da der mitgeschnittene Verkehr in der Regel aus einer physikalisch zur Testumgebung unterschiedlichen Umgebung stammt. Unter der genannten Bedingungen ist es zwingend erforderlich, unter Berücksichtigung der Testumgebung die Adressinformationen des Data Link Layers anzupassen. Eine Adaption weiterer Adressinformation auf höheren Schichten ist abhängig vom Testaufbau durchzuführen.
-
Adressinformationen lassen sich in diesem Schritt ebenfalls nutzen, um eine Klassifizierung beziehungsweise Aufteilung des Verkehrs vorzunehmen. Dies ist beispielsweise notwendig, um Netzwerkgeräte zu testen, die eine statusbehaftete Verarbeitung (stateful inspection) durchführen. In diesen und anderen Fällen kann der mitgeschnittene Verkehr nicht aus einem einzelnen Interface ausgespielt werden, sondern muss entsprechend der Verkehrsrichtung des ursprünglichen Verkehrs an verschiedenen Schnittstellen an das zu testende Gerät gesendet werden. Dies lässt sich unter Anderem realisieren, indem der auszuspielende Verkehr anhand von Adressinformationen separiert wird. Es entstehen durch diese Verfahrensweise verschiedene, logische Mitschnitte, die jeweils an unterschiedlichen physikalischen Netzwerkschnittstellen wiedergegeben werden.
-
– Aufbereitung des Verkehrs zur Realisierung einer spezifischen Teststellung
-
Unter dem Aspekt der Aufbereitung des aufgezeichneten Verkehrs lassen sich verschiedene Aufgabenstellungen und Testanforderungen realisieren. Beispielsweise lässt sich durch eine Analyse der Paketflüsse, Verbindungsaufbauphasen von zustandsbasierten Protokollen wie dem Session Initiation Protocol (SIP) extrahieren. In Kombination mit einer Manipulation des enthaltenen Timestamps jedes relevanten Pakets lässt sich eine Parallelisierung von Verbindungen realisieren. Auf diese und andere Weise können besondere Lastsituationen im Labor auf Basis von realitätsnahem Verkehr erzeugt oder reproduziert werden.
-
Andere Analysen der Paketflüsse sind anwendbar, wodurch sich verschiedene Verkehrcharakteristiken und damit verschiedene an die Testanforderungen angepasste Überprüfungen von Netzwerkgeräten durchführen lassen.
-
– Widerspielen des aufbereiteten und anonymisierten Verkehrs
-
Das Wiedergeben des mitgeschnittenen Verkehrs muss den Bedingungen des Produktionsnetzes entsprechen. Die im vorherigen Schritt aufbereiteten Verkehre müssen unter exakter Berücksichtigung der Paketreihenfolge und des Timings geschehen. Hierzu müssen die im ursprünglichen Mitschnitt enthaltenen Timinginformationen (absolute Zeitstempel, Deltawerte) berücksichtigt werden.
-
– Verifikation der Verarbeitung durch das zu testende Gerät
-
Die Verifikation der Funktionalität des zu testenden Netzwerkgerätes verlangt eine abschließende Analyse. Konkret muss der ausgespielte Verkehr mit dem Verkehr nach der Verarbeitung durch das zu testende Netzwerkgerät verglichen werden. Hierzu muss der Verkehr nach der Bearbeitung durch das zu testende Netzwerkgerät unter Berücksichtigung der zum Mitschnitt des Verkehrs im Produktionsnetz genannten Aspekte erneut aufgezeichnet werden. Beide Mitschnitte, der bearbeitete Mitschnitt aus dem Produktionsnetz sowie der erzeugte Mitschnitt nach der Verarbeitung des aufbereiteten Mitschnitts durch das zu testende Gerät muss in geeigneter Form miteinander verglichen werden. Dies kann durch eine automatisierte Analyse oder manuell erfolgen. Auf diese Art und Weise können Paketverluste, Paketmanipulationen oder sonstige Veränderungen des Verkehrs durch die Verarbeitung des bearbeiteten Mitschnitts des Produktionsnetzes durch das zu testende Netzwerkgerät erkannt werden. Ferner lassen sich durch den Vergleich der Mitschnitte weitere Informationen über die interne Verarbeitung oder die Architektur des zu testenden Netzwerkgerätes gewinnen. Beispielsweise lässt sich die interne Verarbeitungsdauer unterschiedlicher Protokolle gegenüberstellen, woraus Rückschlüsse auf das Lastverhalten sowie die interne Implementierung der Protokolle im Netzwerkgerät möglich sind.
-
Die Anwendungsgebiete der beschriebenen Erfindung unterliegen keiner Beschränkung auf bestimmte Netzwerkgeräte, Netzwerktopologien oder Netzwerktechniken. Die Testmöglichkeit umfasst jegliche Komponenten die Datenaustausch betreiben, das heißt in einer Kommunikationsbeziehung zu mindestens einem weiteren Teilnehmer eines beliebigen Netzwerks stehen. Sind die zuvor beschriebenen Anforderungen (Mitschnitt des Verkehrs im Produktionsnetz, Anonymisierung des Verkehrs, Anpassung des Verkehrs an gegebene Laborbedingungen, Aufbereitung des Verkehrs zur Realisierung einer spezifischen Teststellung, Widerspielen des aufbereiteten und anonymisierten Verkehrs, Verifikation der Verarbeitung durch das zu testende Gerät) in geeigneter Weise erfüllt, kann die beschriebenen Methode somit grundsätzlich verwendet werden, um eine Verifikation von Netzwerkkomponenten durchzuführen. Im Folgenden werden einige Anwendungsgebiete beispielhaft angegeben.
-
Mit steigender Verarbeitungskomplexität durch Netzwerkkomponenten ergeben sich besondere Vorteile bei einer Funktionsüberprüfung mittels der hier beschriebenen Methode. Gerade im Rahmen der Absicherung von Netzwerken, insbesondere Carrier Netzwerken werden Netzwerkkomponenten eingesetzt, welche die in Anzahl und Komplexität zunehmenden Protokolle in ihrer gesamtheitlichen Komplexität untersuchen (Deep Packet Inspection). Dies betrifft insbesondere aber nicht ausschließlich Firewalls, Intrusion Detection Systeme, Intrusion Prevention Systeme, Loadbalancer oder Content-Caching Systeme (beispielsweise Proxy-Server).
-
Es ist zu beachten, dass Netzwerkkomponenten keine dedizierten Systeme darstellen müssen sondern ebenfalls als reine Funktionalität (Software/Programme) auf einer beliebigen Hardware realisiert werden können. Somit ergeben sich weitere Funktionalitäten, die mittels des genannten Verfahrens überprüft werden können. Hierzu zählen beispielsweise Anti-Spam, Anti-Malware oder Anti-Virus Funktionen.
-
Insbesondere in modernen Datennetzen ergeben sich zusätzliche Anwendungsgebiete, beispielsweise in den Bereichen Bandbreitenmanagement und Quality of Service. Da diese Funktionalitäten in der Regel mit Hilfe einer tiefgreifenden Verkehrsanalyse wie Pattern-Matching, Verhaltensanalyse (Paketgrößen, Paketraten etc.) und statistischer Auswertung realisiert werden, ist bei einer Überprüfung dieser Funktionen ein realitätsnaher Verkehrsmix zwingend notwendig. Dies lässt sich mit der spezifizierten Verfahrensweise der vorliegenden Erfindung realisieren.
-
Ein konkretes Beispiel soll im Folgenden dienen, um die Schwierigkeiten der synthetischen Paketerzeugung und die Vorteile der hier beschriebenen Testmethode konkret verdeutlichen: Als Beispiel dient die Deep Packet Inspection eins Session Initiation Protocol Register Pakets. Ein einfaches Netzwerkpaket dieses Typs hat im Beispiel eine Länge von 508 Byte (4064 Bit). Diese Länge ergibt sich aus Ethernet Header (14 Byte), Vlan Header (4 Byte), IPv6 Header (40 Byte) sowie SIP Header (hier 446 Byte). Ein Paket dieser Länge ermöglicht 24064 (2 hoch 4064) verschiedene Bitkombinationen und damit Paketkonstellationen. Da nicht bekannt ist, welche der möglichen Paketkonstellationen in der Realität auftreten ist für eine umfassende Verifikation des zu testenden Geräts eine Generierung aller möglichen Bitkombinationen nötig. Zusätzlich ist zu beachten, dass es in der Regel nicht ausreichend ist die Verifikation eines Netzwerkgerätes unter Verwendung nur eines Pakettypen durchzuführen. Es sind meist verschiedene Pakettypen nötig, was die Synthetisierung der möglichen Paketkonstellationen entsprechend erschwert.
-
Wird ein Netzwerkgerät nun mit Hilfe der in dieser Erfindung beschriebenen Methodik getestet, so werden aus den möglichen Paketkonstellationen nur die Pakete verwendet, die tatsächlich im der Realität auftreten. So kann das zu testende Gerät effektiv unter realen Bedingungen getestet werden.
-
Mit der Durchführung der zuvor genannten Schritte der vorliegenden Erfindung eröffnet sich erstmals die Möglichkeit, moderne Netzwerkgeräte mit der benötigten Realitätsnähe zu testen. Es lassen sich erst durch die Anwendung der Verfahren dieser Erfindung verlässliche Aussagen über die Funktionalität eines modernen Netzwerkgerätes machen und somit über den Einsatz eines Netzwerkgerätes im Produktionsnetz oder einem anderen Wirknetz entscheiden.
-
Die Relevanz der beschriebenen Methode wird zukünftig weiter steigen. Der Trend zu neuen, komplexen Anwendungen geht einher mit einer zunehmenden Komplexität von (Netzwerk-)Protokollen. Ebenso werden immer mehr Netzwerkgeräte mit Funktionalitäten wie „Deep Packet Inspection“ ausgestattet, die diese Protokolle bis zur Applikationsschicht analysieren, ausgestattet. Dies erfordert den Einsatz geeigneter Testverfahren – wie dem hier beschriebenen –, um die korrekten Funktionen dieser Netzwerkgeräte zu überprüfen.