-
Die Erfindung betrifft ein System sowie ein Verfahren zur Analyse von IP-Datenverkehr.
-
Zur Analyse von IP-Datenverkehr wird der IP-Datenverkehr üblicherweise an verschiedenen Stellen in einem Netzwerk empfangen und analysiert. Aufgrund der Eigenschaften des IP-Protokolls kann es dabei vorkommen, dass bestimmte Datenmengen mehrfach empfangen und analysiert werden. Solche doppelt aufgefangenen Datenmengen zu identifizieren und analysieren ist bisher besonders zeitaufwendig.
-
Außerdem ist es nicht möglich, in effizienter Weise Datenströme nur auf ihre Veränderung zu vorherigen Zeitpunkten zu überwachen.
-
Es ist daher Aufgabe der Erfindung, ein System sowie ein Verfahren zur Analyse von IP-Datenverkehr bereitzustellen, das die vorgenannten Nachteile nicht aufweist.
-
Die Aufgabe wird gelöst durch ein System zur Analyse von IP-Datenverkehr, mit einem Eingang für IP-Datenverkehr, einem Datenspeicher zur Speicherung von IP-Datenverkehr und wenigstens einem Extraktionsmodul zum Extrahieren einer Datenmenge von Interesse aus dem IP-Datenverkehr, die Metadaten und/oder Inhaltsdaten umfasst. Das Extraktionsmodul ist dazu eingerichtet, eine deterministische Kennung für die Datenmenge von Interesse zu ermitteln, wobei die Kennung zumindest auf dem Objekttyp und/oder dem Byte-Offset der Datenmenge basiert.
-
Durch das Ermitteln einer deterministischen Kennung anhand des Objekttyps und/oder dem Byte-Offset der Datenmenge können doppelt empfangene Datenmengen oder sich ändernde Datenmengen besonders einfach anhand der Kennung identifiziert werden, sodass die aufwändige Analyse des eigentlichen Inhalts der Datenmengen nur dann erfolgen muss, wenn sie tatsächlich notwendig ist.
-
Zum Beispiel ist die Kennung für eine Datenmenge spezifisch, d.h. zwei identische Datenmengen erhalten die gleiche Kennung. Die deterministische Kennung ist insbesondere zeitinvariant.
-
Der Objekttyp der Datenmenge, insbesondere der Inhaltsdaten, kann die Art der Daten und/oder die Art des verwendeten Protokolls angeben, insbesondere HTTP, SMTP, FTP, SIP und/oder Telnet, wodurch die Kennung sehr spezifisch wird.
-
Dabei kann das verwendete Protokoll das Protokoll der Anwendungsschicht sein.
-
Um die Kennung noch spezifischer auszugestalten, kann die Kennung auf zumindest Teilen der Metadaten der Datenmenge, zumindest Teilen der Inhaltsdaten der Datenmenge und/oder zumindest auf dem Byte-Offset des ersten IP-Datums der Datenmenge basieren.
-
In einer Ausführungsvariante basiert die Kennung zumindest auf der Datenmenge von Interesse und wenigstens einer der Datenmenge von Interesse übergeordneten Datenmenge, insbesondere aller übergeordneten Datenmengen, wodurch die Kennung übergeordnete Informationen enthält und vielseitiger zu nutzen ist.
-
Zum Beispiel ist sind die übergeordneten Datenmengen diejenigen Datenmengen, die die Datenmenge von Interesse einrahmen.
-
Die übergeordneten Datenmengen können aus tiefere Schichten (im OSI-Schichtmodell) stammen.
-
In einem Aspekt basiert die Kennung auf dem Objekttyp und/oder dem Byte-Offset der übergeordneten Datenmenge, um eine effiziente Suche nach bestimmten Objekttypen zu ermöglichen.
-
In einer Ausführungsform ist die Datenmenge von Interesse in einem IP-Flow enthalten oder ist ein IP-Flow, insbesondere wobei die Kennung auf dem IP-Flow basiert. Auf diese Weise kann die Kennung die Datenmenge besonders genau spezifizieren.
-
Zum Beispiel wird der IP-Flow als die höchste der übergeordneten Datenmengen angesehen. Die Kennungen sind dann zum Beispiel alle vom die jeweilige Datenmenge enthaltenen IP-Flow abhängig.
-
Der IP-Flow kann zumindest durch ein 5-Tupel aus der IP-Adresse des Senders, der IP-Adresse des Empfängers, dem Port des Senders, dem Port des Empfängers sowie des verwendeten Transport-Protokolls (Layer-4-Protokoll) definiert sein. Insbesondere kann der IP-Flow durch das 5-Tupel sowie die Tunnel-Tiefe und/oder einen Zeitstempel des ersten Pakets des IP-Flows definiert sein. Auf diese Weise können bekannte und bewährte Verfahren zu Definition eines IP-Flows verwendet werden.
-
In einer Ausgestaltung weist das System wenigstens einen Datenspeicher zur Speicherung der Datenmenge von Interesse auf, insbesondere der Metadaten und/oder der Inhaltsdaten mitsamt der Kennung. Auf diese Weise können die Datenmengen zur späteren Analyse sicher gespeichert sein.
-
Zur Analyse hat das System ein Analysemodul, das dazu eingerichtet ist, Datenmengen, insbesondere Metadaten und/oder Inhaltsdaten zu vergleichen, insbesondere wobei die Datenmengen von Interesse, insbesondere die Metadaten und/oder Inhaltsdaten zu zwei verschiedenen Zeitpunkten aufgenommen wurden und/oder von verschiedenen Extraktionsmodulen des Systems extrahiert wurden, wodurch gleiche Datenmengen aufgefunden und ggf. Änderungen daran bestimmt werden können.
-
Ferner wird die Aufgabe gelöst durch ein Verfahren zur Analyse von IP-Datenverkehr mittels eines Systems, insbesondere eines zuvor beschriebenen Systems. Das Verfahren weist die folgenden Schritte auf:
- a) Empfangen von IP-Datenverkehr,
- b) Identifizieren einer Datenmenge von Interesse im empfangenen IP-Datenverkehr, die Metadaten und/oder Inhaltsdaten umfasst, und
- c) Ermitteln einer deterministischen Kennung der Datenmenge von Interesse, basierend zumindest auf dem Objekttyp und/oder dem Byte-Offset der Datenmenge durch ein Extraktionsmodul des Systems.
-
Die zum System beschriebenen Merkmale und Vorteile gelten auch für das Verfahren und umgekehrt.
-
Es ist auch ohne explizite Erwähnung selbstverständlich, dass die einzelnen Komponenten der Vorrichtung jeweils dazu eingerichtet sind, die im Verfahren von ihnen durchgeführten Schritte auch durchzuführen.
-
Zum Beispiel wird die Kennung anhand von zumindest Teilen der Metadaten der Datenmenge, zumindest Teilen der Inhaltsdaten der Datenmenge und/oder zumindest dem Byte-Offset des ersten IP-Datums der Datenmenge ermittelt, um eine besonders spezifische Kennung zu erhalten.
-
Die Kennung kann anhand der Datenmenge von Interesse und wenigstens einer übergeordneten Datenmenge ermittelt werden, insbesondere wobei die Datenmenge von Interesse in einem IP-Flow enthalten ist oder ein IP-Flow ist und die Kennung anhand des IP-Flows ermittelt wird. Auf diese Weise kann die Kennung die Datenmenge besonders genau spezifizieren.
-
Um die extrahierten Datenmengen von Interesse zur Analyse schnell auffindbar abzulegen, wird die Datenmenge, insbesondere die Metadaten und/oder die Inhaltsdaten mitsamt der Kennung in einem Datenspeicher des Systems abgelegt.
-
In einer Ausgestaltung werden wenigstens zwei Datenmengen von Interesse, insbesondere die Metadaten und/oder die Inhaltsdaten der Datenmengen durch ein Analysemodul des Systems verglichen, insbesondere auf Grundlage ihrer Kennung, wodurch Analysen vereinfacht werden.
-
Zum Beispiel werden Datenmengen von Interesse, insbesondere die Metadaten und/oder Inhaltsdaten, mit weiteren Datenmengen von Interesse, insbesondere Metadaten und/oder Inhaltsdaten verglichen, die die gleiche Kennung aufweisen aber zu unterschiedlichen Zeitpunkten und/oder von unterschiedlichen Extraktionsmodulen bearbeitet wurden, insbesondere wobei Veränderungen der Datenmengen von Interesse, insbesondere der Metadaten und/oder Inhaltsdaten ermittelt werden. Doppelte oder geänderte Datenmengen können auf diese Weise schnell aufgefunden werden.
-
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung sowie aus den beigefügten Zeichnungen, auf die Bezug genommen wird. In den Zeichnungen zeigen:
- - 1 eine schematische Darstellung eines erfindungsgemäßen Systems zur Analyse von IP-Datenverkehr, und
- - 2 ein Ablaufdiagramm einer Ausführungsform eines erfindungsgemäßen Verfahrens unter Verwendung des Systems gemäß 1.
-
Aufzählungen mehrerer Alternativen mit „und/oder“, z. B. „A, B und/oder C“, sind im Rahmen dieser Erfindung als eine Offenbarung einer beliebigen Kombination der Alternativen zu verstehen, d. h. als „A und/oder B und/oder C“.
-
1 zeigt äußerst schematisch ein System 10 zur Analyse von IP-Datenverkehr.
-
Das System 10 weist wenigstens einen Eingang 12 für IP-Datenverkehr P, einen ersten Datenspeicher 14, wenigstens ein Extraktionsmodul 16, einen zweiten Datenspeicher 18, ein Analysemodul 20 und eine Benutzerschnittstelle 22 auf.
-
Im gezeigten Ausführungsbeispiel sind zwei Eingänge 12 und zwei Extraktionsmodule 16 vorgesehen, die jeweils einem der Eingänge 12 zugeordnet sind. Selbstverständlich ist es denkbar, dass nur ein Eingang 12 und/oder nur ein Extraktionsmodul 16 vorgesehen sind. Ebenfalls können mehr als zwei Eingänge 12 und/oder mehr als zwei Extraktionsmodule 16 vorgesehen sein.
-
Das System 10 ist in 1 zur besseren Veranschaulichung als zusammenhängendes System, beispielsweise auf einem einzigen Computer oder Server, dargestellt. Denkbar ist selbstverständlich auch, dass einzelne Komponenten und/oder Gruppen von Komponenten auf verschiedenen Servern und verschiedenen Standorten verteilt sind. Zum Beispiel können die Eingänge 12, die Extraktionsmodule 16 und/oder Datenspeicher 14, 18 an geografisch unterschiedlichen Orten ausgebildet sein. Das ganze System 10 kann somit auch als Cloud-basiertes System ausgebildet sein.
-
Die Eingänge 12 sind einerseits jeweils mit Netzwerkleitungen verbunden, in denen mittels des IP-Protokolls Daten versendet werden.
-
Andererseits sind die Eingänge 12 jeweils mit einem der Extraktionsmodule 16 verbunden, sowie auch beide mit dem ersten Datenspeicher 14.
-
Der erste Datenspeicher 14 dient zur Speicherung von IP-Datenverkehr P. Der erste Datenspeicher 14 weist somit entsprechend große Lese- und Schreibgeschwindigkeiten sowie eine große Speicherkapazität auf.
-
Der erste Datenspeicher 14 ist zudem mit den beiden Extraktionsmodulen 16 verbunden, d. h. dass die Extraktionsmodule 16 direkt Daten aus dem ersten Datenspeicher 14 herauslesen und abrufen können.
-
Die Extraktionsmodule 16 sind wiederum mit dem zweiten Datenspeicher 18 verbunden, um im zweiten Datenspeicher 18 Daten, wie Metadaten und/oder Inhaltsdaten mitsamt Kennungen K, zu hinterlegen.
-
Der zweite Datenspeicher 18 empfängt somit weniger Daten als der erste Datenspeicher 14, speichert diese dafür jedoch über einen längeren Zeitraum.
-
Denkbar ist selbstverständlich auch, dass der erste Datenspeicher 14 und der zweite Datenspeicher 18 einen gemeinsamen Datenspeicher bilden und als ein Datenspeicher ausgebildet sind.
-
Der zweite Datenspeicher 18 ist mit einem Analysemodul 20 verbunden, das aus dem zweiten Datenspeicher 18 Daten lesen und in diesen schreiben kann.
-
Denkbar ist selbstverständlich auch, dass die Extraktionsmodule 16 direkt mit dem Analysemodul 20 verbunden sind, wie durch die punktierten Linien in 1 angedeutet ist.
-
Das Analysemodul 20 kann ebenfalls Daten in den zweiten Datenspeicher 18 schreiben, wie durch die gestrichelte Linie angedeutet ist.
-
Außerdem weist das Analysemodul 20 eine Verbindung zur Benutzerschnittstelle 22 auf, um die Ergebnisse der Analyse mittels der Benutzerschnittstelle 22 anzuzeigen.
-
Zur Analyse von IP-Datenverkehr P ist das System 10 mit einem Netzwerk, z. B. dem Internet, über die Eingänge 12 verbunden und führt das in 2 gezeigte Verfahren aus.
-
An den Eingängen 12 liegt somit IP-Datenverkehr P an, sodass das System 10 über die Eingänge 12 IP-Datenverkehr P zum Zeitpunkt t1 empfängt (Schritt S1).
-
Der IP-Datenverkehr ist in bekannter Weise aufgebaut und enthält insbesondere eine Anwendungsschicht und eine Transportschicht.
-
Ebenfalls in bekannter Weise kann IP-Datenverkehr durch sogenannte IP-Flows eingeteilt werden, wobei üblicherweise ein IP-Flow durch die IP-Adresse des Senders, die IP-Adresse des Empfängers, den Port des Senders, den Port des Empfängers und das verwendete Transportprotokoll (Layer-4-Protokoll) bestimmt wird. Diese Angaben können und werden üblicherweise in einem 5-Tupel zusammengefasst und definieren somit einen bestimmen IP-Flow.
-
Zu diesem 5-Tupel können zusätzlich die Tunneltiefe oder der Zeitstempel des ersten Pakets hinzugefügt werden, um den IP-Flow weiter zu bestimmen. Dieser wird dann durch ein 6-Tupel oder - im Falle von beiden zusätzlichen Informationen - durch ein 7-Tupel definiert.
-
Der zum Zeitpunkt t1 empfangene IP-Datenverkehr P wird im ersten Datenspeicher 14 gespeichert (Schritt S2).
-
Alternativ oder zusätzlich wird der IP-Datenverkehr P an das dem jeweiligen Eingang 12 zugeordnete Extraktionsmodul 16 übermittelt.
-
Die Verarbeitung des IP-Datenverkehrs der beiden Eingänge 12 erfolgt gleich, sodass dieser im Folgenden gemeinsam wiedergegeben ist. In 2 ist der Verarbeitungsweg für einen der Eingänge 12 gestrichelt dargestellt.
-
Das Extraktionsmodul 16 extrahiert in Schritt S3 aus dem IP-Datenverkehr P die Datenmengen D von Interesse und ermittelt hierzu eine deterministische Kennung K.
-
Das Extraktionsmodul 16 identifiziert im IP-Datenverkehr P eine Datenmenge D - auch Objekt genannt - von Interesse, wobei von einem Benutzer zuvor festgelegt wurde, welche Eigenschaften des IP-Datenverkehrs P von Interesse sind. Dies kann beispielsweise durch die Identifizierung von IP-Adressen und/oder Objekttypen geschehen, die dem Benutzer von Interesse sind.
-
Die Datenmenge D von Interesse enthält beispielsweise bestimmte Metadaten und/oder bestimmte Inhaltsdaten des IP-Datenverkehrs P, die für den Benutzer von Interesse sind.
-
Das Extraktionsmodul 16 bestimmt außerdem in Schritt S4 eine deterministische Kennung K für jede der extrahierten und identifizierten Datenmengen D von Interesse.
-
Die Kennung K basiert auf verschiedenen Merkmalen der Datenmenge D, d. h. sie wird anhand dieser Merkmale der Datenmenge D vom Extraktionsmodul 16 ermittelt.
-
Die Kennung K ist insbesondere dahingehend deterministisch, dass sie zeitinvariant ist, d. h. dass der Zeitpunkt der Erstellung der Kennung K keinen Einfluss auf die Kennung K selbst hat.
-
Die Kennung basiert auf dem Byte-Offset der Datenmenge D und dem Objekttyp der Inhaltsdaten der Datenmenge D, wobei der Objekttyp die Art der Daten und/oder des verwendeten Protokolls der Anwendungsschicht angibt. Die Objekttypen sind somit beispielsweise unterteilbar in Dienste bzw. Protokolle wie HTTP, E-Mail (SMTP), FTP-Sessions (FTP), SIP-Calls (SIP) und/oder Telnet.
-
Die Kennung K basiert somit zumindest auf Teilen der Metadaten der Datenmenge D und/oder Teilen der Inhaltsdaten der Datenmenge D.
-
Zusätzlich kann die Kennung K auf dem Byte-Offset des ersten IP-Datums der Datenmenge D basieren.
-
Die Kennung K basiert beispielsweise nicht nur auf der Datenmenge D selbst, sondern auch auf Informationen bzw. Eigenschaften der der Datenmenge D übergeordneten Datenmengen bzw. die die Datenmenge D einrahmenden Datenmengen im IP-Flow.
-
Die übergeordneten Datenmengen bzw. Informationen sind solche aus tieferen Schichten im IP-Datenverkehr.
-
Beispielsweise basiert die Kennung auch auf dem Objekttyp und/oder dem Byte-Offset der übergeordneten Datenmenge, insbesondere aller übergeordneten Datenmengen.
-
Dabei wird als die oberste Datenmenge, d. h. die Datenmenge bis zu der Informationen oder Eigenschaften zur Erstellung der Kennung K berücksichtigt werden, der IP-Flow, der die jeweilige Datenmenge D umfasst, selbst angesehen. Auch die Eigenschaften des IP-Flows selbst, beispielsweise das 5er-, 6er- und/oder 7-Tupel können zur Erstellung der Kennung dienen bzw. basiert die Kennung darauf.
-
Dies hat zur Folge, dass alle Datenmengen D innerhalb des gleichen IP-Flows anhand ihrer jeweiligen Kennung K als zum IP-Flow zugehörig identifizierbar sind.
-
Im nächsten Schritt S5 werden die Datenmengen D, d. h. die Metadaten und/oder Inhaltsdaten, mitsamt ihrer zugehörigen Kennung K im zweiten Datenspeicher 18 hinterlegt.
-
Die im zweiten Datenspeicher 18 hinterlegten Datenmengen D können anhand ihrer Kennung K zu einer späteren Weiterverarbeitung identifiziert und aus dem Speicher abgerufen werden.
-
Sofern der IP-Datenverkehr P in Schritt S1 nicht einem der Extraktionsmodule 16, sondern dem ersten Datenspeicher 14 übergeben wurde, kann das Extrahieren und Identifizieren der Datenmenge D, das Ermitteln der Kennung K und das Abspeichern im zweiten Datenspeicher 18 - d. h. die Schritte S3, S4 und S5 - zu einem späteren Zeitpunkt, im Schaubild der 2 als t2 bezeichnet - durchgeführt werden. Dies erhöht die Flexibilität des Systems 10 und kann zum Abfedern von Belastungsspitzen des Systems 10 verwendet werden.
-
Im nächsten Schritt S6 kann das Analysemodul 20 die Datenmengen D zur Analyse aus dem zweiten Datenspeicher 18 abrufen.
-
Hierzu kann das Analysemodul 20 die Kennungen K verwenden, die die Datenmengen D eindeutig identifizieren.
-
Beispielsweise kann das Analysemodul 20 alle Datenmengen D, also alle Metadaten und/oder Inhaltsdaten, aus dem zweiten Datenspeicher 18 abrufen, die die gleiche Kennung K aufweisen.
-
Diese Datenmengen D können zum einen von unterschiedlichen Extraktionsmodulen 16 über verschiedene Eingänge 12 empfangen und extrahiert worden sein. Zum anderen können die Datenmengen D auch zu unterschiedlichen Zeitpunkten t1, t2 t3 bearbeitet worden sein. Denkbar ist es auch, dass die Datenmengen D mit gleicher Kennung K zu gänzlich unterschiedlichen Zeitpunkten empfangen worden sind, wie durch den eingehenden gestrichelten Pfeil zum Zeitpunkt t3 angedeutet ist.
-
Das Analysemodul 20 kann nun die Datenmengen D mit gleicher Kennung K vergleichen (Schritt S7), um Informationen zu gewinnen.
-
Beispielsweise kann das Analysemodul 20 feststellen, ob eine Datenmenge bzw. ein Objekt bereits im zweiten Datenspeicher 18 existiert und es können Vergleiche zwischen einem alten, d. h. zu einem früheren Zeitpunkt empfangenen Objekt bzw. Datenmenge D und einem neueren Objekt bzw. Datenmenge D schnell ausgeführt werden. Zum Beispiel kann die ältere Datenmenge D anhand der neueren Datenmenge D angepasst und ggf. zurück in den zweiten Datenspeicher 18 geschrieben werden.
-
Außerdem lässt sich auf diese Weise sehr schnell erkennen, welche Änderungen sich in den gleichen Datenmengen D ergeben haben.
-
Mittels der deterministischen Kennungen K lassen sich somit Analysen und Vergleiche zwischen gleichen Datenmengen D äußerst effizient durchführen.
-
In einem nächsten Schritt S8 können die Ergebnisse des Analysemoduls 20 mittels der Benutzerschnittstelle 22 an den Benutzer ausgegeben werden.