DE112012006419T5 - System und Verfahren zum Erkennen von Netzwerkaktivität von Interesse - Google Patents

System und Verfahren zum Erkennen von Netzwerkaktivität von Interesse Download PDF

Info

Publication number
DE112012006419T5
DE112012006419T5 DE112012006419.4T DE112012006419T DE112012006419T5 DE 112012006419 T5 DE112012006419 T5 DE 112012006419T5 DE 112012006419 T DE112012006419 T DE 112012006419T DE 112012006419 T5 DE112012006419 T5 DE 112012006419T5
Authority
DE
Germany
Prior art keywords
network
packets
sequence
integers
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112012006419.4T
Other languages
English (en)
Inventor
John S. Flowers
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TrustPipe LLC
Original Assignee
TrustPipe LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TrustPipe LLC filed Critical TrustPipe LLC
Publication of DE112012006419T5 publication Critical patent/DE112012006419T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Image Analysis (AREA)

Abstract

Ein Netzwerkaktivitätserkennungssystem wird trainiert, um Netzwerkaktivitäten von Interesse zu erkennen, wie Bedrohungen durch bösartige Computerdaten. Das Trainieren umfasst das Destillieren von Eigenschaften bekannter Netzwerkaktivitäten von Interesse (z.B. Eindringen von Computerviren, Exploits, Würmern oder dergleichen) in einen minimalen Satz von Meta-Ausdrücken. Zur Laufzeit, kombiniert das Netzwerkaktivitätserkennungssystem den minimalen Satz von Meta-Ausdrücken mit effizienten Computer-Algorithmen zur Auswertung von Meta-Ausdrücken, um bekannte Netzwerkaktivitäten von Interesse, sowie deren unbekannte Varianten, unter einer unbekannten Gruppe von Netzwerkaktivitäten zu erkennen. Das Netzwerkaktivitätserkennungssystem kann angemessene Antworten bei der Erkennung der Netzaktivitäten von Interesse erzeugen.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der US Non-Provisional-Anmeldung 13/479,222, eingereicht am 23. Mai 2012, die hiermit durch Bezugnahme in ihrer Gesamtheit für alle Zwecke aufgenommen wird.
  • HINTERGRUND
  • 1. Gebiet
  • Die vorliegende Erfindung bezieht sich allgemein auf das Gebiet der digitalen Sicherheit, und insbesondere auf die Erkennung von Aktivitäten von Interesse in Netzwerkverkehr, einschließlich der Erkennung von bösartigen Netzwerkaktivitäten.
  • 2. Beschreibung der verwandten Technik
  • Die Verbreitung von Computertechnologien bietet Herausforderungen auf dem Gebiet der digitalen Sicherheit. Wie allgemein bekannt ist, kann ein an ein Netzwerk angeschlossener Computer (d.h. ein Netzwerkknoten) bösartige Computerdaten an andere Netzknoten verteilen, wodurch Systemstörungen und möglicherweise wirtschaftliche Verluste entstehen. Ein Fachmann auf dem Gebiet würde erkennen, dass Angriffe basierend auf bösartigen Computerdaten Computerviren, Malware, Würmer, Trojanische Pferde, Bots, Hacks (z.B. unberechtigter Zugriff), Exploits (z.B. Überschreitung der Berechtigungen, Verletzung der Vertraulichkeit), zeitbasierte Angriffe (z.B. Denial of Service) oder dergleichen umfassen. Der Begriff "Bedrohung" wird verwendet, um eine oder mehrere dieser Arten von Angriffen zu beschreiben.
  • Digitale Sicherheitstechnologien können verwendet werden, um bösartige Computerdaten in Netzwerkverkehr zu erkennen und/oder zu entfernen. Ein Fachmann auf dem Gebiet würde erkennen, dass sich digitale Sicherheitstechnologien an verschiedenen Netzwerkknoten befinden können, in Hardware und/oder Software gepackt sein können, und "Anti-Viren-Software", "Malware-Erkennung", "Intrusion Prevention", "Anti-Angriff", Firewall oder dergleichen umfassen können, wenn auch die Begriffe nicht in ihrer Bedeutung gleich sind. Der Begriff "Einheitsbedrohungsmanagment" ("UTM") wurde verwendet, um eine oder mehrere dieser Implementierungen von digitalen Sicherheitstechnologien zu beschreiben.
  • Herkömmliche digitale Sicherheitstechnologien erkennen Bedrohungen typischerweise mit Hilfe von Signaturen, die bestimmten Bedrohungen entsprechen. Bestehende Designs unter diesem Paradigma sind auf mindestens zwei Arten unzulänglich. Erstens beruht die Erkennung einer Bedrohung auf der a-priori-Kenntnis der spezifischen Bedrohung und der Verfügbarkeit einer Signatur für die spezifische Bedrohung. Beispielsweise kann es sein, dass sich herkömmliche digitale Sicherheitstechnologien auf eine bekannte Signatur verlassen, um die Anwesenheit eines bekannten Computervirus zu erkennen. Somit kann es sein, dass herkömmliche digitale Sicherheitstechnologien nicht in der Lage sind, Bedrohungen zu erkennen, für die noch keine Signatur verfügbar ist. Beispielsweise kann es sein, dass herkömmliche digitale Sicherheitstechnologien nicht in der Lage sind, eine unbekannte Variante eines bekannten Computervirus zu erkennen.
  • Zweitens halten, aufgrund der ständig steigenden Anzahl von bekannten Bedrohungen, herkömmliche digitale Sicherheitstechnologien eine wachsende Zahl von Signaturen. Während eingehender Netzwerkverkehr erhalten wird, werden die gehaltenen Signaturen gegenüber eingehenden Daten nach möglichen Bedrohungen gescannt. Der Scan-Vorgang verwendet erhebliche Rechenressourcen. Einer Schätzung zufolge, könnte es sein, dass im Rahmen von Rechenzentren auf Unternehmensebene bis zu 85% der Rechenleistung eines Rechenzentrums auf digitalen Sicherheitsoperationen verwendet werden, so dass nur ein Bruchteil der wahren Fähigkeit für den Geschäftsbetrieb verbleibt. Im Rahmen der Verbraucher-Computer, sollte es auch einen gelegentlichen Computernutzer nicht überraschen, dass der Betrieb von Anti-Viren-Software einen Computer träge werden lassen kann.
  • Trotz der Verbesserungen in diesem Bereich, sind herkömmliche digitale Sicherheitstechnologien weiterhin durch diese Unzulänglichkeiten begrenzt, was die Folgen ihres Designs sind.
  • KURZE ZUSAMMENFASSUNG
  • In einer beispielhaften Ausführungsform werden eine Vielzahl von Übertragungssteuerungsprotokoll(TCP)-Paketen und eine Vielzahl von Internet-Protokoll(IP)-Paketen vom Netzwerkverkehr erhalten. Die erhaltenen Netzwerkpakete umfassen eine Netzwerkaktivität von Interesse. Eine Vielzahl von kombinierten Paketen wird erstellt. Ein erstes kombiniertes Paket aus der Vielzahl der kombinierten Pakete umfasst einen Abschnitt von zumindest einem der Vielzahl von TCP-Paketen und einen Abschnitt von zumindest einem der Vielzahl von IP-Paketen. Ein zweites kombiniertes Paket aus der Vielzahl der kombinierten Pakete umfasst einen Abschnitt von zumindest einem der Vielzahl von TCP-Paketen und einen Abschnitt von zumindest einem der Vielzahl von IP-Paketen. Das erste und zweite kombinierte Paket sind unterschiedlich. Eine relevante Untergruppe des ersten und zweiten kombinierten Pakets wird in Sequenzen von Ganzzahlen umgewandelt. Eine Ähnlichkeitsmetrik wird zwischen der ersten und zweiten Sequenz von Ganzzahlen bestimmt. Eine dritte Folge von Ganzzahlen wird auf der Grundlage der Ähnlichkeitsmetrik erzeugt, wobei die dritte Sequenz eine dritte Vielzahl von Ganzzahlen umfasst, die die erste Sequenz und die zweite Sequenz gemeinsam haben, in der Reihenfolge, in der die gemeinsamen Ganzzahlen in der ersten Sequenz dargestellt waren. Eine vierte Sequenz von Ganzzahlen wird basierend auf der Häufigkeit, in der die dritte Sequenz von Ganzzahlen erscheint, in der gleichen Reihenfolge, in der Vielzahl von kombinierten Paketen erzeugt. Die vierte Sequenz von Ganzzahlen wird verwendet, um Netzwerkaktivitäten von Interesse in einer unbekannten Folge von Netzwerkverkehr zu identifizieren.
  • In einer beispielhaften Ausführungsform werden eine Vielzahl von Übertragungssteuerungsprotokoll(TCP)-Paketen und eine Vielzahl von Internet-Protokoll(IP)-Paketen von Netzwerkverkehr erhalten. Eine Vielzahl von kombinierten Paketen wird erstellt. Ein kombiniertes Paket umfasst einen Abschnitt von zumindest einem der Vielzahl von TCP-Paketen und einen Abschnitt von zumindest einem der Vielzahl von IP-Paketen. Eine Sequenz von Ganzzahlen wird erhalten. Wenn die Ganzzahlen der Sequenz von Ganzzahlen in dem kombinierten Paket in der gleichen Reihenfolge erscheinen, wird das kombinierte Paket als anormal betrachtet und es wird eine Netzwerkoperation initiiert. Die Netzwerkoperation kann ein Nutzeralarm, eine Anweisung einen Netzwerkknoten zu tarnen oder eine Anweisung ein Netzwerkpaket von der Übertragung fallen zu lassen sein.
  • In einer beispielhaften Ausführungsform wird ein Computerbild, das einen Bereich von Interesse enthält, erhalten. Das Computerbild kann ein medizinisches radiologisches Bild sein. Das Gebiet von Interesse kann schädliches Gewebe darstellen. Mehrere Sequenzen von bitweisen Daten werden für jeden Pixel des Computerbildes erstellt. Für ein gegebenes Pixel, das verarbeitet wird, kann eine Sequenz von bitweisen Daten auf der Grundlage anderer Pixel, die den gegebenen Pixel von einem Rand des Computerbildes trennen, erzeugt werden. Da es mehrere Pfade von einem gegebenen Bildpunkt zu den verschiedenen Rändern eines Computerbildes gibt, können mehrere Sequenzen von bitweisen Daten für jeden Pixel des Computerbildes erzeugt werden. Ferner werden, da es mehrere Pixel in dem Computerbild gibt, zusätzliche Sequenzen von bitweisen Daten für jeden Pixel erzeugt. Die resultierenden Sequenzen von bitweisen Daten werden jeweils in eine Folge von Ganzzahlen umgewandelt, wodurch mehrere Sequenzen von Ganzzahlen erzeugt werden. Eine Ähnlichkeitsmetrik wird zwischen einer ersten und einer zweiten Sequenz aus den Sequenzen von Ganzzahlen bestimmt. Eine dritte Sequenz von Ganzzahlen wird basierend auf der Ähnlichkeitsmetrik erzeugt, wobei die dritte Sequenz eine Vielzahl von Ganzzahlen aufweist, die die erste und zweite Sequenz gemeinsam haben, in der Reihenfolge, in der die gemeinsamen Ganzzahlen in der ersten Sequenz präsentiert wurden. Eine vierte Sequenz von Ganzzahlen, die als Meta-Ausdruck bezeichnet wird, wird basierend auf der Häufigkeit erzeugt, in der die dritte Sequenz von Ganzzahlen in der gleichen Reihenfolge in den mehreren Sequenzen von Ganzzahlen erscheint, die ursprünglich von dem Computerbild erzeugt wurden. Der Meta-Ausdruck wird verwendet, um Bereiche von Interesse in einem unbekannten Computerbild zu identifizieren.
  • BESCHREIBUNG DER FIGUREN
  • 1 zeigt einen beispielhaften Prozess zum Erkennen von Netzwerkaktivitäten von Interesse.
  • 2 zeigt ein Blockdiagramm eines Netzwerks, welches beispielhafte Ausführungsformen der Netzwerkaktivitätserkennern verwendet.
  • 3 zeigt einen beispielhaften Prozess zum Trainieren eines Einheitsbedrohungsmanagmentsystems (UTMS).
  • 4 zeigt eine beispielhafte Übertragung von Netzwerkpaketen zwischen Netzwerkknoten.
  • 5 zeigt den Aufbau eines IP-Paket-Headers.
  • 6 zeigt den Aufbau eines TCP-Paket-Headers.
  • 7 zeigt beispielhafte Werte in einem IP-Netzwerkpaket-Header.
  • 8 stellt beispielhafte Prozesse in einer Ausführungsform einer Abstandsfunktion dar.
  • Die 9(A)–(F) zeigen beispielhafte Netzwerkpakete.
  • Die 10(A)–(C) zeigen beispielhafte Sequenzen von 8-Bit-Ganzzahlen.
  • 11 zeigt beispielhafte Sequenzen von 8-Bit-Ganzzahlen.
  • 12 zeigt beispielhafte Gruppen von Netzwerkpaketen.
  • 13 zeigt ein beispielhaftes Computersystem zum Erkennen von Netzwerkaktivitäten von Interesse.
  • 14 zeigt einen beispielhaften Prozess zum Erkennen von anderen elektronischen Informationen von Interesse.
  • 15 zeigt einen beispielhaften Prozess zum Trainieren eines Computer-Bildverarbeitungssystems.
  • Die 16(A)–(B) zeigen ein beispielhaftes radiologisches Bild.
  • DETAILLIERTE BESCHREIBUNG
  • Die folgende Beschreibung wird präsentiert, um einem Fachmann zu ermöglichen, die verschiedenen Ausführungsformen herzustellen und zu verwenden. Beschreibungen von spezifischen Vorrichtungen, Techniken und Anwendungen werden nur als Beispiele bereitgestellt. Verschiedene Modifikationen an den hier beschriebenen Beispielen sind für den Fachmann leicht ersichtlich und die allgemeinen Prinzipien, die hier definiert sind, können auf andere Beispiele und Anwendungen angewendet werden, ohne den Geist und den Umfang der verschiedenen Ausführungsformen zu verlassen. Somit sind die verschiedenen Ausführungsformen nicht dazu gedacht, auf die hier beschriebenen und dargestellten Beispiele beschränkt zu sein, sondern hängen vom Schutzumfang der Ansprüche ab.
  • Die hierin beschriebenen Ausführungsformen umfassen Techniken zur Erkennung von Netzwerkaktivitäten von Interesse. Beispielhafte Netzwerkaktivitäten von Interesse umfassen Bedrohungen auf Basis von Computerviren, Malware, Würmer, Trojanische Pferde, Bots, Hacks (z.B. unberechtigter Zugriff), Exploits (z.B. Überschreitung von Berechtigungen, Verletzung der Vertraulichkeit), zeitbasierte Angriffe (z.B. Denial of Service) oder dergleichen. Beispielhafte Netzwerkaktivitäten von Interesse können auch illegale Downloads von urheberrechtlich geschütztem und/oder obszönem Material über ein Netzwerk umfassen.
  • 1. Überblick
  • 1 veranschaulicht beispielhaft Prozess 100 zum Erkennen von Netzwerkaktivitäten von Interesse. Für die Zwecke dieser Offenbarung wird der Begriff "Einheitsbedrohungsmanagementsystem" (UTMS) verwendet, um Computersicherheitstechnologien zu beschreiben, die Prozess 100 ausführen, ungeachtet ob die Technologien in Form von Software (z.B. als ein Software-Paket) oder in Form von Hardware (z.B. eine anwendungsspezifische Schaltung oder Vorrichtung) bereitgestellt werden. Im Prozess 100, kann Block 110 als ein Trainingsprozess bezeichnet werden, während die Blöcke 120140 kollektiv als ein Laufzeit-Prozess bezeichnet werden.
  • Bei Block 110, wird ein UTMS trainiert, um Eigenschaften in Netzwerkverkehr zu erkennen, die mit einer Netzwerkaktivität von Interesse verbunden sind. Beispielsweise kann das UTMS mit einer Folge von Netzwerkdatenverkehr versorgt werden, der eine bestimmte, bekannte Bedrohung reflektiert. Solch eine Folge von Trainingsnetzwerkverkehr kann beispielsweise von einer Netzwerkpaketerfassungs-Anwendungsprogrammierschnittstelle ("API"), wie z.B. "pcap" erlangt werden. Trainingsnetzwerkverkehr kann auch aus Internetquellen von Netzwerkverkehr, wie beispielsweise von der Openpacket-Organisation erlangt werden. Obwohl die Namen der APIs und/oder Quellen sich von Zeit zu Zeit ändern können, sollte das Konzept der Erfassung von Netzwerkverkehr innerhalb der Reichweite eines Fachmanns auf dem Gebiet sein.
  • Bei Block 110 identifiziert das UTMS aus dem Trainingsnetzverkehr begrenzte Sequenzen von Computerdaten, die später verwendet werden können, um die Anwesenheit der gleichen Netzwerkaktivitäten von Interesse in einer anderen, unbekannten Folge von Netzwerkverkehr zu identifizieren. Zusätzlich, durch die Verarbeitung bei Block 110, ist das UTMS auch in der Lage, die Anwesenheit von Bedrohungen zu identifizieren, die auf die Bedrohung bezogen sind, die zuvor beim Trainingsnetzwerkverkehr (d.h. eine Variante) bereitgestellt wurde.
  • Im Block 120 überwacht die UTMS eine Folge von Netzwerkverkehr, um zu bestimmen, ob die (trainierten und ähnlichen) Netzwerkaktivitäten von Interesse im Netzwerkverkehr anwesend sind. Zum Beispiel kann das UTMS bestimmen, ob ein Knoten in dem Netzwerk versucht, einen anderen Netzwerkknoten mit einer Variation der Bedrohung, die zuvor beim Trainingsnetzwerkverkehr an Block 110 bereitgestellt wurde, versucht anzugreifen.
  • Bei Entscheidungsblock 130 bestimmt das UTMS, ob die überwachte Folge von Netzwerkverkehr normal oder abnormal ist. Abnormaler Netzwerkverkehr ist derjenige, in dem das UTMS Netzwerkaktivitäten von Interesse identifiziert hat. Wenn abnormaler Netzwerkverkehr gefunden wird, schreitet die Verarbeitung zu Block 140, wo das UTMS eine oder mehrere geeignete Antworten erzeugt. Eine angemessene Antwort kann ein Benutzer- oder Systemalarm sein. Eine andere angemessene Antwort kann sein, die Antwort von dem gefährdeten Netzwerkknoten zu reinigen, so dass der eindringende Netzwerkknoten nichts von dem "erfolgreichen" Angriff bemerkt. Noch eine andere angemessene Antwort kann sein, den Netzwerkknoten, der angegriffen wird, zu tarnen, so dass der angreifende Netzknoten den Zielnetzwerkknoten nicht mehr erreichen kann. Wenn kein anomaler Netzwerkverkehr gefunden wird, kehrt die Verarbeitung zu Block 120 zurück und das UTMS überwacht eine andere Folge von Netzwerkverkehr.
  • 2 ist ein Netzwerkdiagramm, das eine beispielhafte Implementierung des Prozesses 100 (1) auf einem Netzwerk veranschaulicht. Wie in 2 gezeigt, sind Desktop- und Laptop-Computer 213216 mit dem Cloud-Netzwerk 201 über Kabelmodem 210, Firewall 211 und Router 212 verbunden. Ein Mobiltelefon 222 und ein Tablet-Computer 223 sind mit dem Netzwerk 201 drahtlos über einen Mobilfunkanbieter 220 verbunden. Datencenter 231 ist mit Cloud-Netzwerk 201 über ein Modem 230 verbunden. Teile des Prozesses 100 können auf Netzwerkgeräten (z.B. Firewall 211, Router 212), Endpunkte (z.B. Computer 213216), Gateway-Geräte (z.B. Modem 210, ein Gateway), Mobilgeräte (z.B. Mobiltelefon 222, Tablet-Computer 223), oder dergleichen, eingesetzt werden. Mit anderen Worten, Abschnitte des Prozesses 100 können auf einem oder mehreren Netzwerkknoten 210216, 220223 und/oder 230231 eingesetzt werden. Zum Beispiel kann der Prozess 100 in einen Betriebssystemkern integriert werden, der auf einem Mobiltelefon 222, einem Tablet-Computer 223 und/oder Computer 213216 läuft. Prozess 100 (1) kann auch in die Hardware des Kabelmodems 210, UTMS 211 und/oder Router 212 integriert werden.
  • In der folgenden Diskussion wird der Einfachheit halber die Bedrohung durch Computerviren als eine beispielhafte Netzwerkaktivität von Interesse verwendet. Jedoch ist der Prozess 100 (1) nicht darauf beschränkt. Vielmehr kann der Prozess 100 von einem UTMS verwendet werden, um viele andere Arten von Netzwerkaktivitäten von Interesse, zu handhaben, wie vorstehend diskutiert. Zufälligerweise hebt die (beispielhafte) Diskussion über Computerviren die wesentlichen Vorteile von Prozess 100 in einer Weise hervor, die für viele Computeranwender verständlich ist.
  • Derzeit existieren bekanntermaßen über 2 Millionen Computerviren. Die genaue Anzahl variiert zwischen 2,5 und 8 Millionen, da unterschiedliche Dienstquellen Computerviren unterschiedlich katalogisieren. Bei Block 110 des Prozesses 100 kann ein UTMS mit Netzwerkverkehr versorgt werden, der Angriffe basierend auf einem oder mehreren bekannten Viren widerspiegelt. Bei der Vollendung des Blocks 110, wird das UTMS trainiert, um die Anwesenheit dieser ein oder mehrerer Computerviren sowie deren Varianten, im Netzwerkverkehr zu erfassen. In den Blöcken 120140, überwacht das UTMS Netzwerkverkehr auf die Anwesenheit dieses einen oder mehreren Computerviren und ihrer Varianten. Auf diese Weise ist das UTMS in der Lage, Angriffe zu handhaben, die auf bekannten Bedrohungen und ihren unbekannten Varianten basieren.
  • Der Prozess 100 ist auf mindestens zwei Arten bemerkenswert. Erstes, erzeugt Block 110 begrenzte Sequenzen von Daten, die verwendet werden können, um alle bekannten Viren und deren Varianten zu erkennen. So muss sich ein UTMS, das Prozess 100 verwendet, nicht unbedingt auf dem a-priori-Wissen eines bestimmten Computervirus verlassen, um den Computervirus in Netzwerkverkehr während des Betriebs zu erkennen. Zweitens, erzeugt Block 110 begrenzte Sequenzen von Daten, die effizient in der Struktur und in der Größe im Vergleich zu Computerviren-Signaturdateien sind, die von herkömmlichen Anti-Virus-Technologien verwendet werden. Insbesondere wurde festgestellt, dass begrenzte Sequenzen von Daten von insgesamt weniger als 200 (8 Bit) Bytes ausreichend sind, um die meisten, wenn nicht alle, der gegenwärtig bekannter Weise existierenden Computerviren unter Prozess 100 zu identifizieren. Diese Größe steht in krassem Gegensatz zu der Größe der herkömmlichen Computerviren-Signaturdateien, deren Größen von 50 Megabyte (MB) bis 300 MB reichen. Um dies in Perspektive zu setzen, ist die Größe von 50 MB um 5 Größenordnungen größer als die Größe von 200 (8-Bit) Bytes. Somit kann enorme Recheneffizienz während des Betriebs eines UTMS unter Verwendung von Prozess 100 realisiert werden.
  • 2. Training
  • 3 zeigt einen beispielhaften Prozess 300 zum Trainieren eines UTMS. In einer Ausführungsform führt Prozess 300 die Funktionen des Blocks 110 (1) aus. Bei Block 310 wird Netzwerkverkehr erhalten, und eine Folge von Netzwerkpaketen, die zwischen (d.h. zu und von) zwei Netzknoten gesendet werden, werden zusammengruppiert. Einige oder alle gruppierten Netzwerkpakete können fortlaufend sein. Das Konzept von "Netzwerkpaketen" ist im Stand der Technik gut bekannt und wird hier nicht detailliert beschrieben. Beispielsweise kann der Begriff "Netzwerkpakete" Ethernet-Pakete, Übertragungssteuerungsprotokoll(TCP)-Pakete, Internet-Protokoll(IP)-Pakete oder dergleichen bezeichnen.
  • Netzwerkpakete, die an Block 310 bereitgestellt werden, sollten eine Netzwerkaktivität von Interesse zum Zwecke des Trainings einer UTMS enthalten. Im vorliegenden Beispiel ist die Netzwerkaktivität von Interesse die Anwesenheit eines Computervirus im Netzwerkverkehr zwischen zwei Netzwerkknoten. Somit sollen die Netzwerkpakete, die an Block 310 bereitgestellt werden, einen Angriff unter Verwendung eines Computervirus von einem Netzwerkknoten an einen anderen Netzwerkknoten repräsentieren, und sollen auch die resultierenden Antworten vom angegriffenen Netzwerkknoten repräsentieren.
  • Die Gruppierung von Netzwerkpaketen zwischen zwei Netzwerkknoten bei Block 310 ist bidirektional, weil der Netzwerkverkehr beides, zu und von einem Paar von Netzknoten zusammengruppiert wird. Bidirektionaler Netzwerkverkehr besteht typischerweise aus verschiedenen Ebenen der Kommunikation vom ersten Handshake bis zur vollständigen Übertragung von Daten zwischen den zwei Netzwerkknoten. Diese Gruppierung von (bidirektionalen) Netzwerkpaketen basiert auf der Existenz einer errichteten Kommunikation zwischen zwei Netzwerkknoten. Eine errichtete Kommunikation zwischen zwei Netzwerkknoten wird manchmal als eine "Unterhaltung" bezeichnet. Zwei Netzwerkknoten können anfordern, eine Kommunikation über einen Kanal zu errichten. Beispielsweise können ein Host und ein Server auf einem einzigen Port einen Handshake durchführen. Sobald eine Kommunikation errichtet ist, können die zwei Netzwerkknoten weiter durch einen neu geschaffenen Kanal kommunizieren. Beispielsweise können der Host und der Server über TCP/IP auf einem anderen Port kommunizieren, der sich von dem Port unterscheidet, durch den die errichtete Kommunikation ursprünglich angefordert wurde.
  • In einer Ausführungsform beginnt die Gruppierung (bidirektionaler) Netzwerkpakete bei Block 310 mit der Identifikation eines Netzwerkpakets im Netzwerkverkehr, welches den Beginn einer errichteten Kommunikation repräsentiert, und eines anderen Netzwerkpakets im Netzwerkverkehr, welches das Ende der errichteten Kommunikation repräsentiert. Der Beginn einer errichteten Kommunikation kann ein Netzwerkpaket sein, welches ein Anfordern enthält. Das Ende einer errichteten Kommunikation kann ein Netzwerkpaket sein, das eine entsprechende Bestätigung enthält. In einer Ausführungsform können zusätzliche Netzwerkpakete identifiziert werden, wie beispielsweise ein Netzwerkpaket, das eine "Anfragebestätigung" repräsentiert. Netzwerkpakete in verschiedenen Schichten des OSI-Modells können Anforderungs- und Bestätigungsinformationen bereitstellen. Zum Beispiel enthalten beide, HTTP-Netzwerkpakete (d.h. an der OSI-Anwendungsschicht) und TCP-Netzwerkpakete (d.h. an der OSI Transportschicht), Anforderungsfelder, von denen jedes ausreichend ist für die Zwecke des Blocks 310. Auf diese Weise kann Block 310 bidirektionale Netzwerkpakete zusammengruppieren, die einer errichteten Kommunikation entsprechen, ohne sich auf Quell-Netzwerkadressen und Zieladressen zu verlassen. Block 310 kann auch bidirektionale Netzwerkpakete zusammengruppieren, die einer errichteten Kommunikation entsprechen, ohne sich auf Quell- und Ziel-Port-Nummern zu verlassen.
  • Block 310 wird nun unter Bezugnahme auf 4 diskutiert. Wie gezeigt ist, repräsentieren Netzwerkpakete 430460 eine Folge von Netzwerkpaketen zwischen Netzwerkknoten 410 und 420. Netzwerkpaket 430 wird von Netzwerkknoten 410 zu Netzwerkknoten 420 gesendet, und enthält eine Anforderung. Somit zeigt Netzwerkpaket 430 den Beginn einer Folge von Netzwerkpaketen an, die zusammengruppiert wird. In diesem Zusammenhang kann der Netzwerkknoten 410 als Host bezeichnet werden, weil er eine Anforderung initiiert, und der Netzwerkknoten 420 kann als Server bezeichnet werden, weil er der Empfänger der Anforderung ist. Netzwerkpakete 440 und 450 werden jeweils von Netzwerkknoten 420 und 410 gesendet, und repräsentieren bidirektionale Kommunikation von Daten zwischen den zwei Netzwerkknoten, die zusammengruppiert werden sollten. Netzwerkpaket 460 wird von Netzwerkknoten 420 zu Netzwerkknoten 410 gesendet, um zu bestätigen, dass eine geeignete Datenmenge empfangen wurde. Somit zeigt Netzwerkpaket 460 das Ende der Folge von Netzwerkpaketen an, die zusammen zu gruppieren sind. Auf diese Weise werden Netzwerkpakete 430 bis 460 bei Block 310 (3) in eine begrenzte Gruppe von Netzwerkpaketen zusammengruppiert. Diese Gruppe von Netzwerkpaketen wird als "begrenzt" bezeichnet, weil es einen klaren Anfang und ein klares Ende der Gruppe von Daten gibt. Block 310 kann wiederholt werden, um zusätzliche Gruppen von bidirektionalen Netzwerkpaketen zwischen Paaren von Netzwerkknoten zu erzeugen.
  • Es versteht sich, dass die Gruppierung von Netzwerkpaketen, die bei Block 310 durchgeführt wird, auch implizit andere Arten von Informationen erfasst, die für die Erkennung von Netzwerkaktivitäten von Interesse nützlich sind. Beispielsweise wird bei einem Denial-of-Service-Angriff ("DoS"), der eine Art zeitbasierter Angriff ist, eine relativ große Anzahl von Netzwerkpaketen in einen gegebenen Zeitrahmen übertragen. Das Auftreten von Netzwerkpaketen über einen relevanten Zeitrahmen, die von einem DoS-Angriff (oder allgemeiner, einem zeitbasierten Angriff) resultieren, wird implizit bei Block 310 erfasst, weil Block 310 solche Netzwerkpakete in (bidirektionale) Unterhaltungen zusammengruppiert. Die gruppierten Netzwerkpakete werden dann nach Informationen analysiert, die für das Erkennen eines künftigen DoS-Angriffs relevant sind und zwar durch den stromabwärtigen Prozess im Prozess 300.
  • Nur bestimmte Felder innerhalb der Netzwerkpakete, die von Block 310 gruppiert werden, sind zum Erkennen von Netzwerkaktivitäten von Interesse relevant. Bei Block 320 werden relevante Informationen beibehalten und belanglose Informationen werden verworfen. Block 320 wird nun unter Bezugnahme auf die 5 und 6 diskutiert. 5 zeigt den Aufbau eines IP-Netzwerkpakets, mit den Feldern eingekreist, die für die Erfassung von Netzwerkaktivitäten von Interesse relevant sind. Diese relevanten Felder umfassen (Servicetyp "TOS") 511, Gesamtlänge (von IP-Netzwerkpaket) 512, IP Flaggen 513, Lebenszeit 514, Protokoll 515, IP-Optionen 516 und Dateninhalt 517. 6 veranschaulicht den Aufbau eines TCP-Netzwerkpakets, mit den Feldern, die für die Erfassung von Netzwerkaktivitäten von Interesse relevant sind (z.B. Computerviren) eingekreist. Diese Felder umfassen, Sequenznummer 611, Bestätigungsnummer 612, Versatz 613, TCP-Flags 614, Fenster 615, Dringlichkeitszeiger 616, TCP-Optionen 617, und Dateninhalt 618. Auf diese Weise wird die Ausgabe des Blocks 310 reduziert, sodass sie nur Informationen enthält, die relevant für die Erfassung von Netzwerkaktivitäten von Interesse sind. Dieser Beibehaltungsprozess wird auf jedes IP- und TCP-Netzwerkpaket angewendet, das in den Gruppen der durch den Block 310 erzeugten Netzwerkpakete ist. Die Ausgabe von Block 320 wird als "wiederzusammengesetzte Pakete" bezeichnet.
  • Drei Aspekte von Block 320 sind bemerkenswert. Erstens, Block 320 behält nicht die Quell- oder Ziel-Adresse in einem IP-Netzwerkpaket oder die Quell- oder die Ziel-Port-Nummern in einem TCP-Netzwerkpaket bei. Somit muss sich ein UTMS, das Prozess 300 verwendet, nicht auf die Netzwerkadresse oder die Port-Informationen verlassen, um Netzwerkaktivitäten von Interesse zu erkennen. Zweitens, wird die Header-Länge (IHL) 510 (5) verwendet, um die Länge eines IP-Netzwerkpaket-Headers zu bestimmen, so dass die relevanten Felder im IP-Netzwerkpaket richtig gruppiert werden können, aber die Header-Länge (IHL) 510 wird selbst nicht in der Ausgabe von Block 320 beibehalten. Drittens, sind die beibehaltenen Felder nicht auf die Erkennung von Computerviren beschränkt, die die Netzwerkaktivität von Interesse in dem vorliegenden Beispiel ist. Vielmehr unterstützen die Felder die Erkennung des gesamten Bereichs der Netzwerkaktivitäten von Interesse, wie vorstehend diskutiert.
  • Im Block 330 werden die wiederzusammengesetzten Pakete (d.h. relevante Informationen) von Block 320 bitweise in Ganzzahlen umgewandelt, wodurch Sequenzen von Ganzzahlen erzeugt werden, die einer Untergruppe der Informationen entsprechen, die ursprünglich dem Prozess 300 bereitgestellt wurden. In einer Ausführungsform werden 8-Bit-Ganzzahlen verwendet. Einem Durchschnittsfachmann auf dem Gebiet ist ersichtlich, dass die IP- und TCP-Netzwerkpakete Felder enthalten, die kleiner als 8 Bit sind, genau 8 Bit sind, und mehr als 8 Bits lang sind. Felder, die sich weniger als 8 Bits erstrecken, werden in eine 8-Bit-Darstellung umgewandelt, indem die bedeutendsten Ausgabebits mit Nullen aufgefüllt werden. Beispielsweise wandelt Block 320 die Bits "100" in "0000 0100" um. TOS 511 und die IP-Flags 513 (5), die 4-Bit-und 3-Bit-Felder sind, werden jeweils auf diese Weise umgewandelt. Felder, die sich mehr als 8-Bit erstrecken, werden in mehrere 8-Bit-Segmente umgewandelt. Beispielsweise wandelt Block 320 die Bits "0001 0010 0100 1000" zu "0001 0010" und "0100 1000". Dateninhalt 517, der sich mehr als 8 Bits erstreckt, wird auf diese Weise umgewandelt.
  • Die Blöcke 320 und 330 werden nun unter Bezugnahme auf 7 diskutiert. 7 veranschaulicht einen Teil eines IP-Netzwerkpakets. Wie vorstehend diskutiert, sind innerhalb des IP-Netzwerkpakets 710, TOS 711 und Gesamtlänge 712, unter anderem, für die Erkennung von Netzwerkaktivitäten von Interesse nützlich. Somit werden die Felder 711 und 712 durch Block 320 beibehalten und an Block 330 für die Umwandlung in Ganzzahlen bereitgestellt. Das wiederzusammengesetzte Paket 714 repräsentiert die Teile von IP-Netzwerkpaket 710, die von Block 320 beibehalten werden. Block 330 wandelt die Inhalte des wiederzusammengesetzten Pakets 714 bitweise in 8-Bit-Ganzzahlen 715, 716 und 717 um. Zu beachten ist, dass der Einfachheit halber nur ein Teil eines IP-Netzwerkpakets 710 in 7 dargestellt ist. Während des Normalbetriebs, verarbeitet Block 320 die ganzen Gruppen von IP- und TCP-Netzwerkpaketen, die von Block 320 erzeugt werden, und Block 330 wiederum verarbeitet die ganzen Gruppen von IP- und TCP-Netzwerkpaketen, die durch Block 320 beibehalten werden. Auf diese Weise erzeugt Block 330 eine Sequenz von 8-Bit-Ganzzahlen 718, die die Ganzzahlen "40 1 83..." enthält. Optional kann die Sequenz von 8-Bit-Ganzzahlen 718 auf eine Länge von 65.536 (8-Bit) Ganzzahlen begrenzt sein.
  • Wie hier verwendet, beschreibt der Begriff "Sequenz" eine Liste von geordneten Elementen, z.B. Ganzzahlen. Es sollte beachtet werden, dass die Reihenfolge der Elemente innerhalb der Sequenz an Ganzzahlen 718 von der Reihenfolge und der Nachbarschaft relevanter Teile von bidirektionalem Netzwerkverkehr erlangt wird, der durch die Blöcke 310320 verarbeitet wird. Anders ausgedrückt, in dem Maße, dass eine Netzwerkaktivität von Interesse, eine charakteristische Antwort im Netzwerkverkehr zwischen zwei Netzwerkknoten erzeugt, wird diese Antwort durch die Prozesse der Blöcke 310330 beibehalten. Die Antwort wird in den Prozessen der Blöcke 340360 weiter destilliert, die nachfolgend diskutiert werden, so dass sie für die Erkennung von Netzwerkaktivitäten von Interesse in einer unbekannten Folge von Netzwerkverkehr nutzbar wird.
  • Bei Block 340 wird eine Abstandsfunktion verwendet, um Merkmale aus den Sequenzen von Ganzzahlen zu identifizieren, die durch Block 330 erzeugt wurden. Die Abstandsfunktion wird gegenüber Sequenzen von Ganzzahlen durchgeführt, die zeitlich benachbart sind, was bedeutet, dass eine Sequenz von Ganzzahlen, die von Block 330 erzeugt werden (basierend auf einer einzigen Gruppe von Netzwerkpaketen von Block 320) gegen die nächste, benachbarte Sequenz von Ganzzahlen verglichen wird, die von Block 330 erzeugt werden (basierend auf der nächsten, benachbarten Gruppe von Netzwerkpaketen von Block 320).
  • Herkömmliche Abstandsfunktionen, wie beispielsweise Zeichenkette-Abstandsfunktionen, sind aus dem Stand der Technik gut bekannt und werden hier nicht im Detail diskutiert. Als Beispiel kann eine herkömmliche Zeichenkette-Abstandsfunktion verwendet werden, um zu bestimmen, dass die Zeichenketten "a b c" und "z b c" einen Abstand von 1 haben, weil die Zeichenketten variieren nur dadurch, dass "a" in ersterer mit "z" in letzterer ersetzt ist und den einzigen Unterschied zwischen den beiden Zeichenketten repräsentiert. Die Gruppen der Netzwerkpakete, die durch Block 330 erzeugt werden, eignen sich selbst für den Vergleich durch Abstandsfunktionen, weil Block 330 Sequenzen von Ganzzahlen erzeugt, die als einzelne Elemente durch eine Abstandsfunktion behandelt werden können. Herkömmliche Zeichenkette-Abstandsfunktionen bieten jedoch nicht ausreichend Abstandsmetriken, die zur Erfassung von Netzwerkaktivitäten von Interesse sind. Zum Beispiel kann die Kenntnis, dass sich zwei Zeichenketten um einen Abstand von 1 unterscheiden, wenig nützliche Information für die Computervirenerkennung bieten.
  • In einer Ausführungsform führt Block 340 eine Custom-Abstandsfunktion durch, die nachfolgend beschrieben ist, die reduzierte Sequenzen von Ganzzahlen erzeugt, die die Erkennung von Netzwerkaktivitäten von Interesse unterstützen. Der Einfachheit halber wird die Custom-Abstandsfunktion des Blocks 340 mit Bezug auf die 8 und 9 diskutiert. 8 veranschaulicht beispielhaft Prozess 800 zum Durchführen der Custom-Abstandsfunktion in einem Ausführungsbeispiel. 9 veranschaulicht beispielhafte Gruppen von Netzwerkpaketen, wie sie vom beispielhaften Prozess 800, in dem einen gegenwärtigen Ausführungsbeispiel, verarbeitet werden.
  • Nun Bezug nehmend auf 8, identifiziert bei Block 810 die Custom-Abstandsfunktion Ganzzahlen, die innerhalb benachbarter Paare von Sequenzen von Ganzzahlen, die durch den Block 340 (3) erzeugt werden, erscheinen. 9A veranschaulicht beispielhafte Sequenzen von Ganzzahlen 910919. 9B zeigt beispielhaft die Ganzzahl "101", die zumindest in Paaren benachbarter Sequenzen von Ganzzahlen 910911, 911912 und 912913 erscheint. (Zu beachten ist, dass Sequenzen von Ganzzahlen 914919 der Einfachheit halber nicht dargestellt sind.) Bei Block 810 identifiziert die Custom-Abstandsfunktion das erste Erscheinen einer identifizierten Ganzzahl in Paaren von benachbarten Sequenzen von Ganzzahlen. 9C zeigt das erste Erscheinen von "101", die in benachbarten Sequenzen von Ganzzahlen 910911, 911912 und 912913 identifiziert wird.
  • Bei Block 820 (8), richtet die Custom-Abstandsfunktion die ersten Erscheinungen der identifizierten Ganzzahl in einem Paar benachbarter Sequenzen von Ganzzahlen aus. 9D veranschaulicht die Ausrichtung der ersten Erscheinungen von "101" in Paaren benachbarter Sequenzen von Ganzzahlen 910911, 911912 und 912913.
  • Bei Block 830 (8) kann eine reduzierte Sequenz von Ganzzahlen unter bestimmten Bedingungen erzeugt werden, für ein Paar benachbarter Sequenzen von Ganzzahlen. Eine reduzierte Sequenz von Ganzzahlen wird (für ein Paar benachbarter Sequenzen von Ganzzahlen) erzeugt, wenn eine oder mehrere der Ganzzahlen, die das Paar benachbarter Gruppen von Sequenzen von Ganzzahlen gemeinsam haben: (i) in der gleichen Reihenfolge im Paar benachbarter Gruppen von Netzwerkpaketen erscheinen, und (ii) Positionen in dem Paar benachbarter Gruppen von Netzwerkpaketen haben, die innerhalb eines ersten Schwellwertabstandes sind. In einer Ausführungsform ist der erste Schwellwertabstand vier. Falls erzeugt, würde eine reduzierte Sequenz von Ganzzahlen Ganzzahlen aufweisen, die die vorstehend genannten Anforderungen (i) und (ii) erfüllen (bezüglich einem Paar benachbarter Sequenzen von Ganzzahlen).
  • 9E veranschaulicht, dass, wenn die erste Erscheinung von "101" zwischen Sequenzen von Ganzzahlen 910 und 911 ausgerichtet wird, die Ganzzahlen "48" und "52" die vorstehend genannten Anforderungen (i) und (ii) erfüllen. Insbesondere tauchen die Ganzzahlen "101", "48" und "52" in der gleichen Reihenfolge in beiden Sequenzen von Ganzzahlen 910 und 911 auf. Des Weiteren taucht die Ganzzahl "48" in beiden Sequenzen von Ganzzahlen 910 und 911 innerhalb des ersten Schwellwertabstands (vier in der vorliegenden Ausführungsform) auf. Somit wird, wie in 9F dargestellt, eine reduzierte Sequenz an Ganzzahlen 920 erzeugt wird, und enthält die Sequenz von Ganzzahlen "101 48 52". Auch wie in 9F gezeigt, erfüllen die Ganzzahlen "101" "48" und "52" in den Sequenzen von Ganzzahlen 911 und 912 auch vorstehend die angegebenen Anforderungen (i) und (ii). Somit wird eine reduzierte Sequenz von Ganzzahlen 921 erzeugt und enthält die Sequenz von Ganzzahlen "101 48 52". Wie in 9F gezeigt, erfüllen auch die Ganzzahlen "53" und "101" in Sequenzen von Ganzzahlen 912 und 913 die vorstehend angegebenen Anforderungen (i) und (ii). Somit wird eine reduzierte Sequenz von Ganzzahlen 922 erzeugt und enthält die Sequenz von Ganzzahlen "53 101".
  • Die Blöcke 810830 wiederholen sich für andere Ganzzahlen, die in mindestens einem Paar von benachbarten Sequenzen von Ganzzahlen erscheinen. Beispielsweise taucht die Ganzzahl "48" auch in mindestens einem Paar von benachbarten Sequenzen von Ganzzahlen innerhalb der Sequenzen von Ganzzahlen 910919 auf. Somit werden die Blöcke 810830 für die 8-Bit-Ganzzahl "48" wiederholt.
  • Nach Beendigung von Block 830 (der eine beispielhafte Zeichenkette-Funktion ist, die in Block 340 aus 3 durchgeführt wird), schreitet die Verarbeitung zu Block 350 (3) voran. Bei Block 350 wird die Häufigkeit, mit der die reduzierte Sequenz von Ganzzahlen erscheint, innerhalb einem zweiten Schwellwertabstand, in den Gruppen von Netzwerkpaketen, die bei Block 330 erzeugt werden, bestimmt. Die ersten und zweiten Schwellwertabstände können die gleichen sein oder können sich unterscheiden. In einer Ausführungsform ist der zweite Schwellwertabstand vier. 10A zeigt Sequenzen von Ganzzahlen 910919, die durch Block 330 erzeugt werden. Außerdem zeigt 10B das Erscheinen von reduzierten Sequenzen von Ganzzahlen 920922 (9F) innerhalb Sequenzen von Ganzzahlen 910919. Wie gezeigt, taucht eine reduzierte Sequenz von Ganzzahlen 920 ("101 48 52") (innerhalb dem beispielhaften zweiten Schwellwertabstand von vier) in acht von zehn Sequenzen von Ganzzahlen 910919 auf. Somit wird eine Häufigkeit von 80% mit der reduzierten Sequenz von Ganzzahlen 920 in Verbindung gebracht. Aus dem gleichen Grund wird eine Häufigkeit von 80% mit der reduzierten Sequenz von Ganzzahlen 921 in Verbindung gebracht. Zu beachten ist, dass die reduzierten Sequenzen von Ganzzahlen 920 und 921 nicht innerhalb dem zweiten Schwellwertabstand (vier in diesem Beispiel) in der Sequenz von Ganzzahlen 916 erscheinen, weil die Ganzzahlen "101" und "48" von mehr als vier Positionen in der Gruppe von Netzwerkpaketen 916 getrennt werden. Wie ebenfalls gezeigt, taucht die reduzierte Sequenz von Ganzzahlen 922 ("53 101") (innerhalb dem beispielhaften zweiten Schwellwertabstand von vier) in drei der zehn Gruppen von Netzwerkpaketen 910919 auf.
  • Somit wird eine Häufigkeit von 30% mit der reduzierten Sequenz von Ganzzahlen 922 in Verbindung gebracht. Die Häufigkeiten, die mit den reduzierten Sequenzen von Ganzzahlen 920921 in Verbindung gebracht werden, sind in 10B dargestellt. Diese Werte, die die Häufigkeiten angeben, in denen die reduzierten Sequenzen von Ganzzahlen in der Reihenfolge innerhalb einem Schwellwertabstand in Gruppen von Netzwerkpaketen erscheinen, kann durch den Begriff "Vertrauenswerte" bezeichnet werden.
  • Bei Block 360 (3) werden reduzierte Sequenzen von Ganzzahlen mit Vertrauenswerten unterhalb eines Schwellwert-Vertrauenswerts verworfen. In einer Ausführungsform ist der Schwellwert-Vertrauenswert zwischen 80–90%. 10C veranschaulicht das Verwerfen der reduzierten Sequenz von Ganzzahlen 922. Zusätzlich werden reduzierte Sequenzen von Ganzzahlen 920 und 921 (die die gleichen sind) ent-dupliziert und als verringerte Sequenz von Ganzzahlen 1030 beibehalten. Für die Zwecke dieser Offenbarung kann die reduzierte Sequenz von Ganzzahlen 1030 mit der Bezeichnung "Meta-Ausdruck" bezeichnet werden.
  • Der Meta-Ausdruck 1030 repräsentiert die Informationen, die ausreichen, um eine Netzwerkaktivität von Interesse im Netzwerkverkehr zu erkennen. Insbesondere, ist der Meta-Ausdruck 1030 ausreichend, um die Netzwerkaktivität zu erkennen, die durch die ursprüngliche Eingabe zu Prozess 300 (3) repräsentiert wird. Erinnern Sie sich, dass die Eingabe zu Prozess 300 (3) eine Folge von Netzwerkpaketen ist, die einen Angriff von einem Netzknoten gegen einen anderen Netzwerkknoten unter Verwendung eines Computervirus und die Antworten von dem gefährdeten Netzwerkknoten repräsentiert.
  • Der Prozess 300 (3) kann für andere Arten von Netzwerkaktivitäten von Interesse wiederholt werden. Zum Beispiel kann der Prozess 300 unter Verwendung des Netzwerkverkehrs ausgeführt werden, der einen Angriff durch Computerwurm A anzeigt, um einen Meta-Ausdruck zum Erkennen von Computerwurm A und seinen Varianten zu identifizieren. Prozess 300 kann ferner unter Verwendung von Netzwerkverkehr ausgeführt werden, der einen Angriff durch Computer-Exploit B anzeigt, um einen Meta-Ausdruck zum Erkennen von Computer-Exploit B und seinen Varianten zu identifizieren. In der Tat kann der Prozess 300 für verschiedene Computerviren, Malware, Würmer, Trojanische Pferde, Bots, Hacks (z.B. unberechtigter Zugriff), Exploits (z.B. Überschreitung der Berechtigungen, Verletzung der Vertraulichkeit), zeitbasierte Angriffe (z.B. Denial of Service) oder dergleichen, die bekannter Weise existieren, wiederholt werden, um Meta-Ausdrücke zu bestimmen, die verwendet werden können, um solche bösartigen Computeranweisungen sowie deren Varianten zu identifizieren.
  • Wichtig ist, dass festgestellt wurde, dass viele verschiedene bösartige Netzwerkaktivitäten sich die gleichen Meta-Ausdrücke teilen. Das heißt, zwei verschiedene Netzwerkaktivitäten von Interesse (wie ein bekannter Computervirus A und ein bekannter Computervirus B) können sich den gleichen Meta-Ausdruck teilen und sind damit unter Verwendung des einzelnen Meta-Ausdrucks erkennbar. Ferner kann beispielsweise ein Meta-Ausdruck, der von einem existierenden Computervirus erzeugt wird, verwendet werden, um alle Varianten des existierenden Computervirus zu erkennen, unabhängig von den Permutationen, Größen und Eigenschaften der Varianten (d.h. auch wenn die Variationen unbekannt sind). Nur eine völlig neue Art von Computervirus, und nicht eine Variation eines existierenden Computervirus, würde nicht durch den existierenden Meta-Ausdruck erkannt werden. Auf diese Weise ist eine Handvoll Meta-Ausdrücke ausreichend, um viele, wenn nicht alle, der bekannten Viren (deren Zahl zwischen 2,5 und 8 Millionen beträgt, abhängig von der Dienstquelle) sowie deren Varianten zu identifizieren.
  • 11 veranschaulicht 13 beispielhafte Meta-Ausdrücke 11001112. Meta-Ausdrücke 11001112 erstrecken sich insgesamt weniger als 200 (8-Bit) Bytes, und können verwendet werden, um alle Varianten des existierenden Computervirus, wie vorstehend diskutiert, zu erkennen. Diese Größe steht in krassem Gegensatz zu der Größe einer typischen Datenbank von Antiviren-Signaturen, die in der Größenordnung von 50 MB oder mehr ist. Die Struktur und die minimale Größe dieser Meta-Ausdrücke bieten enorme Recheneffizienz im Vergleich zu herkömmlichen Computer-Sicherheitstechnologien.
  • 3. Laufzeit
  • Die Effizienz, mit der Netzwerkaktivitäten von Interesse unter Verwendung der Meta-Ausdrücke, die von Prozess 300 bereitgestellt werden, erkannt werden können, wird nun diskutiert. Bei Fertigstellung des Prozesses 300 (der ein beispielhafter UTMS Trainingsprozess ist, der bei Block 110 aus 1 ausgeführt wird), schreitet die Verarbeitung zu Block 120 aus 1 fort. Bei Block 120 verwendet ein UTMS Meta-Ausdrücke, um den Netzwerkverkehr zu analysieren und zu erkennen, ob der Netzwerkverkehr normal oder abnormal ist. Die Verarbeitung bei Block 120 beginnt mit der Gruppierung einer Folge von bidirektionalem Datenverkehr zwischen zwei Netzwerkknoten. Zu diesem Zweck können die Techniken von Block 310 (3) verwendet werden. Als nächstes werden die Gruppen von Netzwerkpaketen nach relevanten Informationen gefiltert. Zu diesem Zweck können die Techniken des Blocks 320 (3) verwendet werden. Als nächstes werden die wieder zusammengesetzten Pakete (relevante Informationen enthaltend), die neue Gruppen von Netzwerkverkehr bilden, in Sequenzen von Ganzzahlen umgewandelt. Die Bitgröße von Ganzzahlen, die während der Laufzeit verwendet werden, sollten die gleichen sein, wie die Bitgröße von Ganzzahlen, die während des Trainings verwendet werden. In einer Ausführungsform haben die Ganzzahlen eine Größe von 8-Bit. Für die Zwecke der Umwandlung von wiederzusammengesetzten Paketen in Sequenzen von Ganzzahlen, können die Techniken von Block 330 (3) verwendet werden.
  • Die Sequenzen von Ganzzahlen, die durch Block 330 erzeugt werden, werden gegenüber einem oder mehreren Meta-Ausdrücken verglichen, um festzustellen, ob der Netzwerkverkehr, der analysiert wird, normal oder abnormal ist. Eine Folge von Netzwerkverkehr, der analysiert wird, wird als "abnormal" betrachtet, wenn zwei Kriterien erfüllt sind: (i) jede Ganzzahl im Meta-Ausdruck ist in der Sequenz von Ganzzahlen vorhanden, die dem Netzwerkverkehr entspricht, und (ii) jede Ganzzahl taucht in der gleichen Reihenfolge in sowohl der entsprechenden Sequenz von Ganzzahlen als auch im MetaAusdruck auf. Insbesondere wird eine Gruppe von Netzwerkpaketen beim ersten Erscheinen als normal betrachtet, in denen die Bedingung (i) nicht zutrifft. (Das Nichtzutreffen der Bedingung (ii) ist weniger hilfreich, da eine Sequenz von Ganzzahlen mehrere Erscheinungen einer bestimmten Ganzzahl haben kann, und für alle Erscheinungen Bedingung (ii) nicht zutreffen muss, damit die Bedingung (ii) als Ganzes nicht zutrifft.)
  • Wenn normaler Verkehr erkannt wird, folgt das UTMS Entscheidungsblock 130 bis Block 140, wo entsprechende Antworten erzeugt werden. Wenn normaler Datenverkehr erkannt wird, kehrt das UTMS zu Block 120 zurück und analysiert zusätzlichen Netzwerkverkehr. Die Blöcke 120130 werden unter Bezugnahme auf 12 diskutiert. 12 veranschaulicht beispielhafte Gruppen von Netzwerkpaketen 12001209 und beispielhafte Meta-Ausdrücke 1210. Meta-Ausdruck 1210 kann einer der Meta-Ausdrücke sein, die während des Trainings (Block 110 aus 1) erzeugt wurden. Die Länge des Meta-Ausdrucks 1210 ist der Einfachheit halber verkürzt. Wie gezeigt, enthalten Gruppen von Netzwerkpaketen 1201, 1202 und 1209 alle Ganzzahlen von Meta-Ausdruck 1210, in der gleichen Reihenfolge, in der die Ganzzahlen im Meta-Ausdruck 1210 erscheinen. Somit werden die Gruppen von Netzwerkpaketen 1201, 1202 und 1209 als abnormal betrachtet. Gruppen von Netzwerkpaketen 1200 und 12031208 enthalten nicht alle der in Reihenfolge befindlichen Ganzzahlen von Meta-Ausdruck 1210. Somit werden die Gruppen von Netzwerkpaketen 1200 und 12031208 als normal betrachtet.
  • Wie aus der vorangegangenen Diskussion zu sehen, führt das UTMS bei Block 120 viele Ganzzahlen-Vergleiche durch. Somit ist die Optimierung der Ganzzahlen-Vergleiche wichtig für die Effizienz des UTMS. Erinnern Sie sich, dass eine Folge von Netzwerkverkehr beim ersten Erscheinen als normal betrachtet wird, bei dem eine Ganzzahl in dem Meta-Ausdruck in der Sequenz von Ganzzahlen, die dem Netzwerkverkehr entspricht, fehlt. Somit wird die Leistung des UTMS verbessert, wenn eine frühe "normale" Bestimmung gemacht werden kann. Zu diesem Zweck ist es vorteilhaft, die Technik des Blocks 120 so zu strukturieren, dass der Ganzzahlen-Vergleich zwischen einer Sequenz von Ganzzahlen und einem Meta-Ausdruck endet, sobald eine Ganzzahl aus dem Meta-Ausdruck als fehlend in der Sequenz von Ganzzahlen identifiziert wird.
  • In einer Ausführungsform verwendet Block 120 einen verschachtelten Computer-Programmiersprachen-Ausdruck, der einen Gesamtwert von "nicht-erfüllt" (z.B. ein Boolean-Wert) zurückgibt, wenn irgendeiner der verschachtelten Ebenen eine "nicht-erfüllte" Bedingung zurückgibt. Somit, sobald eine UTMS die Abwesenheit einer Ganzzahl (auf irgendeiner der verschachtelten Ebenen) identifiziert, endet die Verarbeitung des gesamten verschachtelten Programmiersprachen-Ausdrucks. Die entsprechende Folge von Netzwerkverkehr wird somit als normal betrachtet (in diesem Fall, ist keine weitere Bedrohungserkennung erforderlich), und eine nachfolgende Folge von Netzwerkverkehr kann analysiert werden. Zum Beispiel erlaubt die LISP-Computerprogrammiersprache für einen verschachtelten Ausdruck in Form von ((((A) (B)) (C)) (D)), der einen Gesamtwert von "nicht-erfüllt" zurückgibt, wenn irgendeine der Ausdrücke (A), (B), (C) und/oder (D) "nicht-erfüllt" ist. In diesem Beispiel kann der Ausdruck (A) abfragen, ob die erste Ganzzahl in einem Meta-Ausdruck in einer Sequenz von Ganzzahlen erscheint, und der Ausdruck (B) kann abfragen, ob die zweite Ganzzahl in dem Meta-Ausdruck in der Sequenz von Ganzzahlen erscheint, usw.
  • Bei Block 140 können geeignete Antworten erzeugt werden. Eine angemessene Antwort kann ein Benutzer- oder Systemalarm sein, der die Anwesenheit einer Netzwerkaktivität von Interesse anzeigt. Eine weitere angemessene Antwort kann sein, die Antwort von dem gefährdeten Netzwerkknoten zu reinigen, so dass der eindringende Netzwerkknoten nichts von dem "erfolgreichen" Angriff bemerkt. Noch eine andere angemessene Antwort kann sein, den Netzwerkknoten, der angegriffen wird, zu tarnen, so dass der angreifende Netzknoten den Zielnetzwerkknoten nicht mehr erreichen kann.
  • Abschnitte von Prozesses 100 (1) können in dem bespielhaften Computersystem 1300 umgesetzt werden, das in 13 veranschaulicht ist. In einigen Ausführungsformen, ist das Computersystem 1300 ein Netzwerkgerät, wie beispielsweise ein Router, ein Gateway oder eine Firewall oder dergleichen. In einigen Ausführungsformen ist das Computersystem 1300 eine Gateway-Vorrichtung, wie beispielsweise ein Modem oder dergleichen. In einigen Ausführungsformen ist das Computersystem 1300 ein Mobilgerät, wie beispielsweise ein Desktop-Computer, ein Laptop-Computer, ein Mobiltelefon, ein Tablet oder dergleichen. In einigen Ausführungsformen ist das Computersystem 1300 eine Netzwerkschnittstelle "Karte". Insbesondere können die Trainingsaspekte von Prozess 100 (d.h. Block 110) und die Laufzeit-Aspekte von Prozess 100 (d.h. Blöcke 120140) auf den gleichen oder auf unterschiedlichen Computersystemen implementiert werden.
  • Wie in 13 dargestellt, enthält das Computersystem 1300 eine Computer-Hauptplatine 1302 mit einem Bus 1310, der den I/O-Abschnitt 1304, eine oder mehrere zentrale Verarbeitungseinheiten (CPU) 1306 und einen Speicherabschnitt 1308 miteinander verbindet. Der Speicherabschnitt 1308 kann ein Speichermodul 1320 haben, das mit ihm in Verbindung steht. Das Speichermodul 1320 kann zum Beispiel ein Flash-Speicher und/oder ein Wechselspeichergerät sein. Der I/O-Abschnitt 1304 ist mit einer Netzwerk-Schnittstelle 1312 verbunden, die Netzwerkpakete empfängt und/oder sendet. Der I/O-Abschnitt 1304 kann mit einer Anzeige 1314, einer Eingabevorrichtung 1316 und/oder einer Speichereinheit 1318 verbunden sein. Der Speicherabschnitt 1308, das Speichermodul 1320 und/oder eine Speichereinheit 1322 können ein computerlesbares Medium speichern (beispielsweise konkret verkörpert), das durch Computer ausführbare Befehle und/oder Daten zum Durchführen irgendeines der vorstehend beschriebenen Verfahren unter Verwendung der CPU 1306 enthält. Die durch Computer ausführbaren Befehle können beispielsweise in einer Universal-Programmiersprache (z.B. LISP, C) oder speziellen anwendungsspezifischen Sprachen geschrieben sein. Die Eingabevorrichtung 1316 kann ein USB-Port sein, der die Eingabe von USB-kompatiblen Geräten, wie einer Tastatur, einer Maus, einem, Memory-Stick, oder dergleichen unterstützt. Zumindest einige Werte basierend auf den Ergebnissen der vorstehend beschriebenen Prozesse, können in dem Speicher, wie beispielsweise Speicher 1308, Speichermodul 1320 und/oder eine Plattenspeichereinheit 1318 für die spätere Verwendung gespeichert werden.
  • Die Abschnitte des Prozesses 100 (1) können auch in einem Prozessor durch speziell angeordnete integrierte Schaltungen (z.B. anwendungsspezifische integrierte Schaltungen) implementiert werden. In einigen Ausführungsformen kann der integrierte Schaltkreis ein Teil des Hauptprozessors einer Vorrichtung sein, wie beispielsweise der Hauptprozessor eines Mobiltelefons. In einigen Ausführungsformen kann die integrierte Schaltung Teil eines Hilfsprozessors einer Vorrichtung sein, wie beispielsweise ein Prozessor, der mit der Hauptplatine eines Laptops verbunden ist. Die integrierten Schaltungen können durch Computer ausführbare Befehle und/oder Daten enthalten, zum Ausführen irgendeines der vorstehend beschriebenen Prozesse. Die durch Computer ausführbaren Befehle können, beispielsweise in einer speziellen anwendungsspezifischen (z.B. prozessorspezifischen) Sprache geschrieben sein.
  • In manchen Ausführungsformen sind durch Computer ausführbare Befehle, auf der Basis der C-Programmiersprache, die kleiner als 1 MB insgesamt sind, ausreichend, um Prozess 100 (1) auszuführen. Die Ausführung dieser durch Computer ausführbaren Befehle erfordert nicht mehr als 300 Kilobytes (16-Bit-Bytes) an Laufzeitspeicher (z.B. Schreib-Lese-Speicher). Moderne Computersysteme und/oder Prozessoren sind gut in der Lage durch Computer ausführbare Befehle dieser Größe zu verarbeiten. Tatsächlich ist in diesen Ausführungsformen, die Netzwerk-Schnittstellen-Bandbreite (d.h. Eingangsbandbreite) und nicht die Prozessorgeschwindigkeit typischerweise der Eingangstor-Faktor für die Verarbeitung noch höherer Volumina an Netzwerkverkehr.
  • Obwohl nur bestimmte Ausführungsbeispiele im Detail vorstehend beschrieben wurden, wird der Fachmann leicht erkennen, dass viele Modifikationen in den Ausführungsformen möglich sind, ohne wesentlich von den neuen Lehren und Vorteilen der vorliegenden Offenbarung abzuweichen. Aspekte der vorstehend offenbarten Ausführungsformen können in anderen Kombinationen kombiniert werden, um zusätzliche Ausführungsformen zu bilden. Es ist beabsichtigt, dass alle derartigen Modifikationen sich innerhalb des Rahmens dieser Technik befinden.
  • Beispielsweise können in einigen Ausführungsformen, die vorstehend beschriebenen Techniken verwendet werden, um andere Arten von elektronischen Informationen von Interesse zu erkennen. Eine besonders geeignete Anpassung der vorstehenden Techniken ist die Erkennung von schädlichem Gewebe, wie beispielsweise Tumoren, die in medizinischen radiologischen Bildern vorhanden sind. Das heißt, der beispielhafte Prozess 100 kann angepasst werden, die Erkennung von Informationen von Interesse in der Computerbildverarbeitung durch ein Computerbildverarbeitungssystem zu unterstützen.
  • 14 veranschaulicht Prozess 1400, der eine mögliche Anpassung von Prozess 100 zum Erkennen von schädlichem Gewebe in radiologischen Bildern repräsentiert. Bei Block 1410 wird ein Computer-Bildverarbeitungssystem trainiert, um Eigenschaften in den radiologischen Bildern zu erkennen, die mit schädlichem Gewebe in Zusammenhang stehen. Insbesondere kann das Computer-Bildverarbeitungssystem verschiedene radiologische Bilder erhalten, die von Ärzten bestätigt worden sind, dass sie schädliches Gewebe zeigen. Aus den Pixeldaten der radiologischen Bilder identifiziert das Computer-Bildverarbeitungssystem begrenzte Sequenzen von Daten (d.h. einen Meta-Ausdruck), die später verwendet werden können, um die Anwesenheit von ähnlichem schädlichen Gewebe in anderen, unbekannten (d.h. noch nicht durch Ärzte verifizierten) radiologischen Bildern zu identifizieren.
  • Bei Block 1420 erhält das Computer-Bildverarbeitungssystem ein unbekanntes radiologisches Bild, das schädliches Gewebe zeigen kann oder nicht. Das Computer-Bildverarbeitungssystem bestimmt bei Block 1430, ob das unbekannte radiologische Bild die gleiche begrenzte Sequenz an Daten enthält, die bei Block 1410 identifiziert wurde. Wenn die gleiche begrenzte Sequenz an Daten in dem unbekannten Bild gefunden wird, benachrichtigt das Computerbildsystem einen Benutzer in Block 1440, dass schädliches Gewebe in dem unbekannten radiologischen Bild gefunden wurde.
  • 15 veranschaulicht den beispielhaften Prozess 1500 für die Erzeugung von Meta-Ausdrücken, wie vorstehend beschrieben. In einigen Ausführungsformen kann der Prozess 1500 die Merkmale von Block 1410 (14) ausführen. Bei Block 1510 von Prozess 1500 werden Pixeldaten aus einem radiologischen Bild durch das Computer-Bildverarbeitungssystem erhalten und es werden Sequenzen von bitweisen Daten aus dem radiologischen Bild erzeugt.
  • Eine beispielhafte Erzeugung von Sequenzen von bitweisen Daten wird mit Bezug auf die 16A–B diskutiert. 16A veranschaulicht das radiologische Bild 1610, welches das Organ 1611 mit schädlichem Gewebe enthält. Das radiologische Bild 1610 umfasst eine Anzahl von Pixeln, einschließlich beispielhafter Pixel 1612. Jeder Pixel des radiologischen Bilds 1610, einschließlich Pixel 1612, kann bei Block 1510 (15) verarbeitet werden.
  • Die Verarbeitung des beispielhaften Pixels 1612 wird unter Bezugnahme auf 16B diskutiert. In 16B, wird Pixel 1612 in größerem Maßstab mit seinen umliegenden Pixeln gezeigt. Bei der Verarbeitung von Pixel 1612 werden imaginäre Linien 16211628, die sich jeweils von Pixel 1612 in Richtung der Ränder des radiologischen Bilds 1610 nach außen erstrecken, von dem Computer-Bildverarbeitungssystem bestimmt. Jede imaginäre Linie schneidet eine Anzahl anderer Pixel zwischen Pixel 1612 und einem Rand des radiologischen Bilds 1610. So beginnt beispielsweise die imaginäre Linie 1621 bei Pixel 1612 und schneidet Pixel 1613, 1614, 1615 und 1616, während die imaginäre Linie 1622 bei Pixel 1612 beginnt und eine Anzahl anderer Pixel schneidet.
  • Das Computer-Bildverarbeitungssystem erzeugt eine Sequenz von bitweisen Daten basierend auf jeder imaginäre Linie, die von Pixel 1612 ausstrahlt. Insbesondere wird der Wert eines jeden Pixels, der durch eine imaginäre Linie geschnitten wird, in einer Sequenz gespeichert, um eine Sequenz von bitweisen Daten zu bilden. Der Wert eines Pixels kann beispielsweise einen RGB-Wert des Pixels, eine Transparenz des Pixels, repräsentieren oder kann von einigen anderen Meta-Daten erlangt werden, die von der Computerbilddatei zu dem radiologischen Bild 1610 bereitgestellt werden. Wenn beispielsweise das radiologische Bild 1610 ein PNG-Bild mit einer Graustufen-Farbtiefe von 16 Bit bei jedem Pixel ist, kann eine Sequenz von 80 Bits auf der Grundlage der Werte von Pixeln von 16121616 erzeugt werden, die durch die imaginäre Linie 1621 geschnitten werden, von je 16-Bit. Eine weitere Sequenz von 80 Bits kann auf der Grundlage der fünf Pixel erzeugt werden, die durch imaginäre Linie 1622 geschnitten werden. Auf diese Weise können mehrere Sequenzen von bitweisen Daten für jeden Pixel eines radiologischen Bildes erzeugt werden. Die Längen der verschiedenen Bit-Zeichenketten können basierend auf dem Abstand zwischen einem Pixel und einem Rand des radiologischen Bilds, das verarbeitet wird, variieren. Dieser Prozess kann für jeden Pixel im radiologischen Bild 1610 wiederholt werden.
  • Bei Block 1520 wird der Inhalt der Sequenzen von bitweisen Daten, die in Block 1510 erzeugt werden, in Ganzzahlen umgewandelt, wodurch eine Sequenz von Ganzzahlen für jede Sequenz von bitweisen Daten erzeugt wird. In einer Ausführungsform werden 8-Bit-Ganzzahlen verwendet, was bedeutet, dass eine Sequenz von 80 Bit in eine Sequenz von zehn 8-Bit-Ganzzahlen umgewandelt wird. Bei den Blöcken 15301540 wird eine Abstandsfunktion verwendet, um Eigenschaften von den Sequenzen von Ganzzahlen, die durch Block 1520 erzeugt werden, zu identifizieren. Die Blöcke 15301540 können die Techniken der Blöcke 340350 (3) verwenden. Bei Block 1550 können Meta-Ausdrücke, die verwendet werden können, um schädliches Gewebe ähnlich zu dem im gegenwärtigen Organ 1610 (16A) zu identifizieren, bestimmt werden. Block 1550 kann die Techniken von Block 360 (3) verwenden.
  • Abschnitte des Prozesses 1400 (14) können in einem beispielhaften Rechensystem 1300, welches in 13 dargestellt ist, umgesetzt werden. Auf diese Weise werden Meta-Ausdrücke erzeugt, die zur Bestimmung nützlich sind, ob ein radiologisches Bild schädliches Gewebe zeigt, und optional können die Meta-Ausdrücke verwendet werden, um die Anwesenheit von schädlichem Gewebe in radiologischen Bildern zu bestimmen.

Claims (35)

  1. Ein computerimplementiertes Verfahren zum Erfassen einer Netzwerkaktivität von Interesse, wobei das Verfahren umfasst: Erhalten, von einem oder mehreren Prozessoren, eine Vielzahl von Netzwerkpaketen von einem Netzwerk, wobei die erhaltene Vielzahl von Netzwerkpaketen Netzwerkpakete umfasst, die als Übertragungssteuerungsprotokoll(TCP)-Pakete und Internetprotokoll(IP)-Pakete kategorisiert sind, wobei die erhaltene Vielzahl von Netzwerkpaketen die Netzwerkaktivität von Interesse enthalten; Erzeugen, durch den einen oder die mehreren Prozessoren, eine Vielzahl von kombinierten Paketen von zumindest einer Untergruppe der Vielzahl von TCP-Paketen und IP-Paketen, wobei: ein erstes kombiniertes Paket aus der Vielzahl der kombinierten Pakete einen Abschnitt von zumindest einem der TCP-Pakete und ein Abschnitt von zumindest einem der IP-Pakete umfasst, und ein zweites kombiniertes Paket aus der Vielzahl der kombinierten Pakete einen Abschnitt von zumindest einem der TCP-Pakete, und einen Abschnitt von zumindest einem der IP-Pakete umfasst, wobei das zweite kombinierte Paket sich von dem ersten kombinierten Paket unterscheidet; Erzeugen, durch den einen oder die mehreren Prozessoren, einer ersten Sequenz durch Umwandeln von bitweisem Inhalt von zumindest einem Abschnitt des ersten kombinierten Pakets in eine erste Vielzahl von Ganzzahlen, wobei die erste Sequenz die erste Vielzahl von Ganzzahlen enthält; Erzeugen, durch den einen oder die mehreren Prozessoren, einer zweiten Sequenz durch Umwandeln von bitweisem Inhalt von zumindest einem Abschnitt des zweiten kombinierten Pakets in eine zweite Vielzahl von Ganzzahlen, wobei die zweite Sequenz die zweite Vielzahl von Ganzzahlen enthält; Bestimmen, durch den ein oder die mehreren Prozessoren, eine Ähnlichkeitsmetrik zwischen der ersten Sequenz und der zweiten Sequenz basierend auf einer Abstandsfunktion; Erzeugen, durch den einen oder die mehreren Prozessoren, einer dritten Sequenz, basierend auf der Ähnlichkeitsmetrik, wobei die dritte Sequenz eine dritte Vielzahl von Ganzzahlen umfasst, die die erste Sequenz und die zweite Sequenz gemeinsam haben, in der ersten Reihenfolge; Erzeugen, durch den einen oder mehrere Prozessoren, einer vierten Sequenz, wobei die vierte Sequenz ein Meta-Ausdruck ist, der: eine Untergruppe der dritten Vielzahl von Ganzzahlen der dritten Liste, in der ersten Reihenfolge aufweist, und der Anwesenheit der Netzwerkaktivität von Interesse in dem Netzwerkverkehr entspricht; und Speichern des Meta-Ausdrucks, wobei der gespeicherte Meta-Ausdruck verwendet wird, um die Anwesenheit der Netzwerkaktivität von Interesse zu detektieren.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei: die Netzwerkaktivität von Interesse eine Bedrohung auf der Basis eines Computervirus ist.
  3. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Erzeugen des ersten kombinierten Pakets umfasst: Identifizieren eines ersten TCP-Pakets aus der Vielzahl von Netzwerkpaketen, die eine Anforderung repräsentieren; Identifizieren eines zweiten TCP-Pakets aus der Vielzahl von Netzwerkpaketen, die eine Bestätigung repräsentieren, wobei das zweite TCP-Paket: nach dem ersten TCP-Paket auftritt, und ein Bestätigung repräsentiert, die dem ersten TCP-Paket entspricht; und Identifizieren eines dritten TCP-Pakets aus der Vielzahl von Netzwerkpaketen, wobei das dritte TCP-Paket zwischen dem ersten TCP-Paket und dem zweiten TCP-Paket auftritt.
  4. Computerimplementiertes Verfahren nach Anspruch 1, wobei: die Ähnlichkeitsmetrik einen Unterschied zwischen einer Position einer Ganzzahl in der ersten Sequenz und einer Position der Ganzzahl in der zweiten Sequenz repräsentiert, und die Ganzzahl in der dritten Sequenz enthalten ist, wenn der Unterschied innerhalb eines ersten vorbestimmten Abstands ist.
  5. Computerimplementiertes Verfahren nach Anspruch 4, wobei: der erste vorbestimmte Abstand vier ist.
  6. Computerimplementiertes Verfahren nach Anspruch 1, wobei: die Ganzzahlen der vierten Sequenz, in der ersten Reihenfolge, in zumindest einer vorbestimmten Häufigkeit unter der Vielzahl der kombinierten Pakete erscheinen, wobei die Häufigkeit zwischen 80–90% Prozent ist, inklusive.
  7. Das computerimplementierte Verfahren nach Anspruch 1, wobei: die erste, zweite und dritte Vielzahl von Ganzzahlen 8-Bit-Ganzzahlen sind.
  8. Das computerimplementierte Verfahren nach Anspruch 7, wobei: das Umwandeln des bitweisen Inhalts von zumindest einem Abschnitt der ersten kombinierten Pakete in die erste Vielzahl von Ganzzahlen ein Gruppieren des bitweisen Inhalts von zumindest einem Abschnitt des ersten kombinierten Pakets in 8 Bit-Ganzzahlen umfasst.
  9. Ein computerimplementiertes Verfahren zum Erfassen einer Netzwerkaktivität von Interesse, wobei das Verfahren umfasst: a) Erhalten, von einem oder mehreren Prozessoren, eine Vielzahl von Netzwerkpaketen von einem Netzwerk, wobei die erhaltene Vielzahl von Netzwerkpaketen Netzwerkpakete umfasst, die als Übertragungssteuerungsprotokoll(TCP)-Pakete und Internetprotokoll(IP)-Pakete kategorisiert sind, wobei die erhaltene Vielzahl an Netzwerkpaketen, die Netzwerkaktivität von Interesse enthält; b) Erzeugen, durch den einen oder die mehreren Prozessoren, ein kombiniertes Paket aus zumindest einer Untergruppe der Vielzahl von TCP-Paketen und IP-Paketen, die in a) erhaltenen werden, wobei das kombinierte Paket einen Abschnitt von zumindest einem der TCP-Pakete und einen Abschnitt von zumindest einem der IP-Pakete umfasst; c) Erhalten eines Meta-Ausdrucks, der: eine Vielzahl von Ganzzahlen in einer Reihenfolge aufweist, und der Anwesenheit der Netzwerkaktivität von Interesse im Netzwerkverkehr entspricht; d) Bestimmen, ob der Meta-Ausdruck, der in c) erhaltenen wird, in dem kombinierten Paket erscheint, das in b) erzeugt wird e) wenn der Meta-Ausdruck, der in c) erhalten wird, in dem kombinierten Paket erscheint, welches in b) erzeugt wird, dann wird ein Vorgang initiiert.
  10. Computerimplementiertes Verfahren nach Anspruch 9, wobei das Bestimmen umfasst: Bestimmen, ob die Vielzahl von Ganzzahlen, die in einer Reihenfolge sind, von dem Meta-Ausdruck, der in c) erhaltenen wird, in dem kombinierten Paket, welches in b) erzeugt wird, in der gleichen Reihenfolge erscheinen.
  11. Computerimplementiertes Verfahren nach Anspruch 9, wobei der Betrieb das Filtern eines TCP-Pakets oder eines IP-Pakets umfasst.
  12. Computerimplementiertes Verfahren nach Anspruch 9, wobei der Betrieb das Tarnen eines Netzknotens umfasst, der die erhaltene Vielzahl an Netzwerkpaketen übertragen hat.
  13. Computerimplementiertes Verfahren nach Anspruch 9, wobei das Erzeugen des kombinierten Pakets umfasst: Identifizieren eines ersten TCP-Pakets, das eine Anforderung repräsentiert; Identifizieren eines zweiten TCP-Pakets, das eine Bestätigung repräsentiert, wobei das zweite TCP-Paket: nach dem ersten TCP-Paket auftritt, und eine Bestätigung repräsentiert, die dem ersten TCP-Paket entspricht; und Identifizieren eines dritten TCP-Pakets, wobei das dritte TCP-Paket zwischen dem ersten TCP-Paket und dem zweiten TCP-Paket auftritt.
  14. Eine Netzwerkvorrichtung zum Erfassen einer Netzwerkaktivität von Interesse, umfassend: einen Netzwerk-Port zum Verbinden mit einer Netzwerkinfrastruktur, wobei der Netzwerk-Port angepasst ist, eine Vielzahl von Netzwerkpaketen zu erhalten, wobei die erhaltene Vielzahl von Netzwerkpaketen Netzwerkpakete umfasst, die als Übertragungssteuerungsprotokoll(TCP)-Pakete und Internetprotokoll(IP)-Pakete kategorisiert sind, wobei die erhaltene Vielzahl an Netzwerkpaketen, die Netzwerkaktivität von Interesse enthalten; einen Prozessor, der mit dem Netzwerk-Port verbunden ist, wobei der Prozessor angepasst ist, zum Erzeugen einer Vielzahl von kombinierten Paketen, die von zumindest einer Untergruppe der Vielzahl von TCP-Paketen und IP-Paketen, wobei: ein erstes kombiniertes Paket der Vielzahl von kombinierten Paketen einen Abschnitt von zumindest einem der TCP-Pakete und einen Abschnitt von zumindest einem der IP-Pakete umfasst, und ein zweites kombiniertes Paket der Vielzahl von kombinierten Paketen einen Abschnitt von zumindest einem der TCP-Pakete und einen Abschnitt von zumindest einem der IP-Pakete umfasst, wobei das zweite kombinierte Paket sich von dem ersten kombinierten Paket unterscheidet; Erzeugen einer ersten Sequenz durch Umwandeln von bitweisem Inhalt von zumindest einem Abschnitt des ersten kombinierten Pakets in eine erste Vielzahl von Ganzzahlen, wobei die erste Sequenz eine erste Vielzahl von Ganzzahlen enthält; Erzeugen einer zweiten Sequenz durch Umwandeln von bitweisem Inhalt von zumindest einem Abschnitt des zweiten kombinierten Pakets in eine zweite Vielzahl von Ganzzahlen, wobei die zweite Sequenz die zweite Vielzahl von Ganzzahlen umfasst; Bestimmen einer Ähnlichkeitsmetrik zwischen der ersten Sequenz und der zweiten Sequenz basierend auf einer Abstandsfunktion; Erzeugen einer dritten Sequenz basierend auf der Ähnlichkeitsmetrik, wobei die dritte Sequenz eine dritte Vielzahl von Ganzzahlen, die die erste Sequenz und die zweite Sequenz gemeinsam haben, umfasst, in der ersten Reihenfolge; und Erzeugen einer vierten Sequenz, wobei die vierte Sequenz ein Meta-Ausdruck ist, der: eine Untergruppe der dritten Vielzahl von Ganzzahlen der dritten Liste in der ersten Reihenfolge umfasst, und der Anwesenheit der Netzwerkaktivität von Interesse in dem Netzwerkverkehr entspricht; und einen Speicher, der mit dem Prozessor verbunden ist, wobei der Speicher angepasst ist, den Meta-Ausdruck zu speichern, wobei der gespeicherte Metadaten-Ausdruck verwendet wird, um die Anwesenheit der Netzwerkaktivität von Interesse zu erkennen.
  15. Die Netzwerkvorrichtung nach Anspruch 14, wobei: die Netzwerkaktivität von Interesse eine Bedrohung basierend auf einem Computervirus ist.
  16. Die Netzwerkvorrichtung nach Anspruch 14, wobei das Erzeugen des ersten kombinierten Pakets umfasst: Identifizieren eines ersten TCP-Pakets aus der Vielzahl von Netzwerkpaketen, die eine Anforderung repräsentieren; Identifizieren eines zweiten TCP-Pakets aus der Vielzahl von Netzwerkpaketen, die eine Bestätigung repräsentieren, wobei das zweite TCP-Paket: nach dem ersten TCP-Paket auftritt, und eine Bestätigung repräsentiert, die dem ersten TCP-Paket entspricht; und Identifizieren eines dritten TCP-Pakets aus der Vielzahl von Netzwerkpaketen, wobei das dritte TCP-Paket zwischen dem ersten TCP-Paket und dem zweiten TCP-Paket auftritt.
  17. Die Netzwerkvorrichtung nach Anspruch 14, wobei: die Ähnlichkeitsmetrik einen Unterschied zwischen einer Position einer Ganzzahl in der ersten Sequenz und einer Position der Ganzzahl in der zweiten Sequenz repräsentiert, und die Ganzzahl in der dritten Sequenz enthalten ist, wenn der Unterschied innerhalb eines ersten vorbestimmten Abstands ist.
  18. Die Netzwerkvorrichtung nach Anspruch 17, wobei: der erste vorbestimmte Abstand vier ist.
  19. Die Netzwerkvorrichtung nach Anspruch 14, wobei: die Ganzzahlen der vierten Sequenz in der ersten Reihenfolge, in zumindest einer vorbestimmten Häufigkeit unter der Vielzahl der kombinierten Pakete erscheinen, und wobei die Häufigkeit zwischen 80–90% Prozent ist, inklusive.
  20. Die Netzwerkvorrichtung nach Anspruch 14, wobei: die erste, zweite und dritte Vielzahl von Ganzzahlen 8-Bit-Ganzzahlen sind.
  21. Die Netzwerkvorrichtung nach Anspruch 14, wobei das Umwandeln des bitweisen Inhalts von zumindest einem Abschnitt der ersten kombinierten Pakete in die erste Vielzahl von Ganzzahlen ein Gruppieren des bitweisen Inhalts von zumindest einem Abschnitt des ersten kombinierten Pakets in 8 Bit-Ganzzahlen umfasst.
  22. Ein nicht-transitorisches computerlesbares Speichermedium mit computerausführbaren Anweisungen zum Erfassen einer Netzwerkaktivität von Interesse, wobei die computerausführbaren Anweisungen Anweisungen umfassen zum: Erhalten einer Vielzahl von Netzwerkpaketen von einem Netzwerk, wobei die erhaltene Vielzahl von Netzwerkpaketen Netzwerkpakete umfasst, die als Übertragungssteuerungsprotokoll(TCP)-Pakete und Internetprotokoll(IP)-Pakete kategorisiert sind, wobei die erhaltene Vielzahl von Netzwerkpaketen die Netzwerkaktivität von Interesse enthält; Erzeugen einer Vielzahl von kombinierten Paketen von einer Untergruppe der Vielzahl von TCP-Paketen und IP-Paketen, wobei: ein erstes kombiniertes Paket aus der Vielzahl der kombinierten Pakete einen Abschnitt von zumindest einem der TCP-Pakete und einen Abschnitt von zumindest einem der IP-Pakete umfasst, und ein zweites kombiniertes Paket aus der Vielzahl der kombinierten Pakete einen Abschnitt von zumindest einem der TCP-Pakete und einen Abschnitt von zumindest einem der IP-Pakete umfasst, wobei das zweite kombinierte Paket sich von dem ersten kombinierten Paket unterscheidet; Erzeugen, durch den einen oder mehrere Prozessoren, eine erste Sequenz durch Umwandeln von bitweisem Inhalt von zumindest einem Abschnitt des ersten kombinierten Pakets in eine erste Vielzahl von Ganzzahlen, wobei die erste Sequenz die erste Vielzahl von Ganzzahlen enthält; Erzeugen, durch den einen oder mehrere Prozessoren, eine zweite Sequenz durch Umwandeln von bitweisem Inhalt von zumindest einem Abschnitt des zweiten kombinierten Pakets in eine zweite Vielzahl von Ganzzahlen, wobei die zweite Sequenz die zweite Vielzahl von Ganzzahlen enthält; Bestimmen einer Ähnlichkeitsmetrik zwischen der ersten Sequenz und der zweiten Sequenz basierend auf einer Abstandsfunktion; Erzeugen einer dritten Sequenz, basierend auf der Ähnlichkeitsmetrik, wobei die dritte Sequenz eine dritte Vielzahl von Ganzzahlen umfasst, die die erste Sequenz und die zweite Sequenz gemeinsam haben, in der ersten Reihenfolge; Erzeugen einer vierten Sequenz, wobei die vierte Sequenz ein Meta-Ausdruck ist, der: eine Untergruppe der dritten Vielzahl von Ganzzahlen der dritten Liste, in der ersten Reihenfolge umfasst, und der Anwesenheit der Netzwerkaktivität von Interesse in dem Netzwerkverkehr entspricht; und Speichern des Meta-Ausdrucks, wobei der gespeicherte Meta-Ausdruck verwendet wird, um die Anwesenheit der Netzwerkaktivität von Interesse zu erkennen.
  23. Das nicht-transitorische computerlesbare Medium nach Anspruch 22, wobei: die Netzwerkaktivität von Interesse eine Bedrohung auf der Basis eines Computervirus ist.
  24. Das nicht-transitorische computerlesbare Medium nach Anspruch 22, wobei das Erzeugen des ersten kombinierten Pakets umfasst: Identifizieren eines ersten TCP-Pakets aus der Vielzahl von Netzwerkpaketen, die eine Anforderung repräsentieren; Identifizieren eines zweiten TCP-Pakets aus der Vielzahl von Netzwerkpaketen, die eine Bestätigung repräsentieren, wobei das zweite TCP-Paket: nach dem ersten TCP-Paket auftritt, und ein Bestätigung repräsentiert, die dem ersten TCP-Paket entspricht; und Identifizieren eines dritten TCP-Pakets aus der Vielzahl von Netzwerkpaketen, wobei das dritte TCP-Paket zwischen dem ersten TCP-Paket und dem zweiten TCP-Paket auftritt.
  25. Das nicht-transitorische computerlesbare Medium nach Anspruch 22, wobei: die Ähnlichkeitsmetrik einen Unterschied zwischen einer Position einer Ganzzahl in der ersten Sequenz und einer Position der Ganzzahl in der zweiten Sequenz repräsentiert, und die Ganzzahl in der dritten Sequenz enthalten ist, wenn der Unterschied innerhalb eines ersten vorbestimmten Abstands ist.
  26. Das nicht-transitorische computerlesbare Medium nach Anspruch 25, wobei: der erste vorbestimmte Abstand vier ist.
  27. Das nicht-transitorische computerlesbare Medium nach Anspruch 22, wobei: die Ganzzahlen der vierten Sequenz, in der ersten Reihenfolge, in zumindest einer vorbestimmten Häufigkeit unter der Vielzahl der kombinierten Pakete erscheinen, wobei die Häufigkeit zwischen 80–90% Prozent ist, inklusive.
  28. Das nicht-transitorische computerlesbare Medium nach Anspruch 22, wobei: die erste, zweite und dritte Vielzahl von Ganzzahlen 8-Bit-Ganzzahlen sind.
  29. Das nicht-transitorische computerlesbare Medium nach Anspruch 28, wobei: das Umwandeln des bitweisen Inhalts von zumindest einem Abschnitt der ersten kombinierten Pakete in die erste Vielzahl von Ganzzahlen ein Gruppieren des bitweisen Inhalts von zumindest einem Abschnitt des ersten kombinierten Pakets in 8 Bit-Ganzzahlen umfasst.
  30. Das Computerimplementierte Verfahren nach Anspruch 1, wobei der eine oder die mehreren Prozessoren Prozessoren einer ersten Rechenvorrichtung sind, wobei der gespeicherte Meta-Ausdruck auf der ersten Rechenvorrichtung gespeichert ist, und das Verfahren ferner umfasst: Erfassen, durch den einen oder die mehreren Prozessoren der ersten Rechenvorrichtung, die Netzwerkaktivität von Interesse unter Verwendung des gespeicherten Meta-Ausdrucks.
  31. Das computerimplementierte Verfahren nach Anspruch 1, wobei der eine oder die mehreren Prozessoren Prozessoren einer ersten Rechenvorrichtung sind, wobei der gespeicherte Meta-Ausdruck auf der ersten Rechenvorrichtung gespeichert ist, und das Verfahren ferner umfasst: Übertragen, von der ersten Rechenvorrichtung zu einer zweiten Rechenvorrichtung, den gespeicherten Meta-Ausdruck, wobei sich die erste Rechenvorrichtung von der zweiten Rechenvorrichtung unterscheidet; Speichern, durch die zweite Rechenvorrichtung, des übertragenen Meta-Ausdrucks; und Erkennen, durch die zweite Rechenvorrichtung, die Netzwerkaktivität von Interesse unter Verwendung des Meta-Ausdrucks, der auf der zweiten Rechenvorrichtung gespeichert ist.
  32. Die Netzwerkvorrichtung nach Anspruch 14, wobei der Prozessor des Weiteren angepasst ist zum: Erkennen der Netzwerkaktivität von Interesse unter Verwendung des gespeicherten Meta-Ausdrucks.
  33. Die Netzwerkvorrichtung nach Anspruch 14, wobei der Prozessor des Weiteren angepasst ist zum: Übertragen, zu einer anderen Netzwerkrechenvorrichtung, den gespeicherten Meta-Ausdruck, wobei der übertragene Meta-Ausdruck durch die andere Netzwerkrechenvorrichtung gespeichert wird, und wobei der übertragene Meta-Ausdruck durch die andere Netzwerkrechenvorrichtung verwendet wird, um die Netzwerkaktivität von Interesse zu erkennen.
  34. Das nicht-transitorische computerlesbare Medium nach Anspruch 22, wobei der gespeicherte Meta-Ausdruck auf einer ersten Rechenvorrichtung gespeichert wird, und wobei die durch Computer ausführbaren Anweisung Anweisung umfassen zum: Erfassen, durch die erste Rechenvorrichtung, der Netzwerkaktivität von Interesse unter Verwendung des gespeicherten Metadaten-Ausdrucks.
  35. Das nicht-transitorische computerlesbare Medium nach Anspruch 22, wobei der gespeicherte Meta-Ausdruck auf einer ersten Rechenvorrichtung gespeichert ist, und wobei die durch Computer ausführbaren Anweisungen Anweisungen zum: Übertragen, von der ersten Rechenvorrichtung zu einer zweiten Rechenvorrichtung, des gespeicherten Meta-Ausdrucks, wobei die erste Rechenvorrichtung sich von der zweiten Rechenvorrichtung unterscheidet, wobei der übertragene Meta-Ausdruck durch die zweite Rechenvorrichtung gespeichert wird, und wobei der übertragene Meta-Ausdruck durch die zweite Rechenvorrichtung verwendet wird, um die Netzwerkaktivität von Interesse zu erkennen.
DE112012006419.4T 2012-05-23 2012-12-28 System und Verfahren zum Erkennen von Netzwerkaktivität von Interesse Pending DE112012006419T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/479,222 2012-05-23
US13/479,222 US8347391B1 (en) 2012-05-23 2012-05-23 System and method for detecting network activity of interest
PCT/US2012/072170 WO2013176704A1 (en) 2012-05-23 2012-12-28 System and method for detecting network activity of interest

Publications (1)

Publication Number Publication Date
DE112012006419T5 true DE112012006419T5 (de) 2015-03-05

Family

ID=47388472

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012006419.4T Pending DE112012006419T5 (de) 2012-05-23 2012-12-28 System und Verfahren zum Erkennen von Netzwerkaktivität von Interesse

Country Status (4)

Country Link
US (6) US8347391B1 (de)
CN (3) CN104520826B (de)
DE (1) DE112012006419T5 (de)
WO (1) WO2013176704A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347391B1 (en) 2012-05-23 2013-01-01 TrustPipe LLC System and method for detecting network activity of interest
US8856324B2 (en) * 2013-01-28 2014-10-07 TrustPipe LLC System and method for detecting a compromised computing system
US9021574B1 (en) * 2013-03-12 2015-04-28 TrustPipe LLC Configuration management for network activity detectors
US8943592B1 (en) * 2013-07-15 2015-01-27 Eset, Spol. S.R.O. Methods of detection of software exploitation
US10015239B1 (en) 2015-08-12 2018-07-03 Evengx, Llc Self-organizing distributed computation grid
DE102017106016A1 (de) * 2016-03-22 2017-09-28 TrustPipe LLC System und Verfahren zur Erkennung von Befehlssequenzen von Interesse
US10917502B2 (en) * 2018-06-29 2021-02-09 Futurewei Technologies, Inc. Method for using metadata in internet protocol packets
US10990676B1 (en) 2020-07-01 2021-04-27 Morgan Stanley Services Group Inc. File collection method for subsequent malware detection
US11061879B1 (en) 2020-07-01 2021-07-13 Morgan Stanley Services Group Inc. File indexing and retrospective malware detection system
US10860717B1 (en) 2020-07-01 2020-12-08 Morgan Stanley Services Group Inc. Distributed system for file analysis and malware detection
CN113347184A (zh) * 2021-06-01 2021-09-03 国家计算机网络与信息安全管理中心 网络流量安全检测引擎的测试方法、装置、设备及介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280428A (en) * 1992-07-14 1994-01-18 General Electric Company Method and apparatus for projecting diagnostic images from volumed diagnostic data accessed in data tubes
US5912986A (en) * 1994-06-21 1999-06-15 Eastman Kodak Company Evidential confidence measure and rejection technique for use in a neural network based optical character recognition system
US5867221A (en) * 1996-03-29 1999-02-02 Interated Systems, Inc. Method and system for the fractal compression of data using an integrated circuit for discrete cosine transform compression/decompression
US6016163A (en) * 1997-03-12 2000-01-18 Scientific-Atlanta, Inc. Methods and apparatus for comparing blocks of pixels
US6028956A (en) * 1997-04-04 2000-02-22 Kofile Inc. Object location and span determination method and apparatus which determines a location and span of an object in an image
US6298166B1 (en) * 1998-03-30 2001-10-02 Seiko Epson Corporation Image transformations in the compressed domain
US6697061B1 (en) * 1999-01-21 2004-02-24 Hewlett-Packard Development Company, L.P. Image compression featuring selective re-use of prior compression data
JP2000295406A (ja) * 1999-04-09 2000-10-20 Canon Inc 画像処理方法、装置及び記憶媒体
JP2001034737A (ja) * 1999-07-16 2001-02-09 Minolta Co Ltd 画像合成装置、画像合成処理方法および画像合成処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US20040073617A1 (en) * 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7336378B2 (en) * 2000-08-07 2008-02-26 Minolta Co., Ltd. Image processing with recognized character codes
US6920504B2 (en) 2002-05-13 2005-07-19 Qualcomm, Incorporated Method and apparatus for controlling flow of data in a communication system
US6654882B1 (en) 2002-05-24 2003-11-25 Rackspace, Ltd Network security system protecting against disclosure of information to unauthorized agents
FR2842970B1 (fr) * 2002-07-29 2005-03-18 Qosmos Procede de reconnaissance et d'analyse de protocoles dans des reseaux de donnees
US6917946B2 (en) * 2002-08-12 2005-07-12 International Business Machines Corporation Method and system for partitioning filter rules for multi-search enforcement
US7681235B2 (en) * 2003-05-19 2010-03-16 Radware Ltd. Dynamic network protection
EP2413559B1 (de) 2003-09-11 2017-11-08 Detica Limited Echtzeit-Netzwerküberwachung und -sicherheit
US7223241B2 (en) * 2004-12-16 2007-05-29 Aloka Co., Ltd. Method and apparatus for elasticity imaging
US7627900B1 (en) 2005-03-10 2009-12-01 George Mason Intellectual Properties, Inc. Attack graph aggregation
RU2007142368A (ru) * 2005-04-18 2009-05-27 Дзе Трастиз Оф Коламбия Юниверсити Ин Дзе Сити Оф Нью Йорк (Us) Системы и способы для детектирования и подавления атак с использованием "медоносов"
US8028160B1 (en) 2005-05-27 2011-09-27 Marvell International Ltd. Data link layer switch with protection against internet protocol spoofing attacks
EP1960867A4 (de) 2005-12-13 2010-10-13 Crossbeam Systems Inc Systeme und verfahren zur verarbeitung von datenflüssen
KR100738537B1 (ko) * 2005-12-27 2007-07-11 삼성전자주식회사 네트워크 침입 탐지 시스템 및 그 탐지 방법
US7940657B2 (en) 2006-12-01 2011-05-10 Sonus Networks, Inc. Identifying attackers on a network
US9009829B2 (en) * 2007-06-12 2015-04-14 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for baiting inside attackers
JP4998219B2 (ja) * 2007-11-09 2012-08-15 富士通株式会社 帳票認識プログラム、帳票認識装置および帳票認識方法
US8726382B2 (en) 2008-08-20 2014-05-13 The Boeing Company Methods and systems for automated detection and tracking of network attacks
US8813220B2 (en) 2008-08-20 2014-08-19 The Boeing Company Methods and systems for internet protocol (IP) packet header collection and storage
US8788841B2 (en) * 2008-10-23 2014-07-22 Samsung Electronics Co., Ltd. Representation and verification of data for safe computing environments and systems
JP4737269B2 (ja) * 2008-10-31 2011-07-27 富士ゼロックス株式会社 画像処理装置及びプログラム
JP4821869B2 (ja) * 2009-03-18 2011-11-24 富士ゼロックス株式会社 文字認識装置、画像読取装置、およびプログラム
JP2011233039A (ja) * 2010-04-28 2011-11-17 Sony Corp 画像処理装置、画像処理方法、撮像装置、およびプログラム
US8347391B1 (en) 2012-05-23 2013-01-01 TrustPipe LLC System and method for detecting network activity of interest
US9306902B2 (en) 2012-08-29 2016-04-05 Qualcomm Incorporated Embedded thin DHCP for wi-fi direct to provide an IP address during connection establishment

Also Published As

Publication number Publication date
CN104520826B (zh) 2018-02-23
WO2013176704A1 (en) 2013-11-28
US20150163230A1 (en) 2015-06-11
US8347391B1 (en) 2013-01-01
US20180069877A1 (en) 2018-03-08
US20190297099A1 (en) 2019-09-26
CN105407077B (zh) 2019-04-26
CN104520826A (zh) 2015-04-15
US9548992B2 (en) 2017-01-17
CN107294950A (zh) 2017-10-24
CN105407077A (zh) 2016-03-16
US9819692B2 (en) 2017-11-14
US9621578B2 (en) 2017-04-11
US20130318611A1 (en) 2013-11-28
US20170163667A1 (en) 2017-06-08
US10326784B2 (en) 2019-06-18

Similar Documents

Publication Publication Date Title
DE112012006419T5 (de) System und Verfahren zum Erkennen von Netzwerkaktivität von Interesse
DE112014000578T5 (de) System und Verfahren zum Erkennen eines kompromittierten Computersystems
DE112012002624B4 (de) Regex-Kompilierer
DE112011101831B4 (de) Schutz vor websiteübergreifenden Scripting-Attacken
DE10249888B4 (de) Knoten eines Netzes, das ein Einbruchserfassungssystem betreibt, Verfahren zum Ausführen einer Einbruchsprävention an einem Knoten eines Netzes, sowie computerlesbares Medium
DE112019001121B4 (de) Auf einem computer implementiertes verfahren zum identifizieren von malware und system hierfür
DE60210408T2 (de) Ueberwachung des Datenflusses zur Verbesserung des Netzwerksicherheitsschutzes
DE102017106016A1 (de) System und Verfahren zur Erkennung von Befehlssequenzen von Interesse
DE112021002259T5 (de) Network intrusion detection durch deep learning
US10972496B2 (en) Upload interface identification method, identification server and system, and storage medium
DE202010018642U1 (de) System zur Erfassung zuvor unbekannter Schadsoftware
DE112014002789T5 (de) Netzwerksicherheitssystem
Wang et al. Using CNN-based representation learning method for malicious traffic identification
DE112021004808T5 (de) Erkennen von malware durch analyse verteilter telemetriedaten
DE112021000455T5 (de) Deep packet analyse
DE69919560T2 (de) Verfahren und system zur vorbeugung von unerwüschten betätigungen von ausführbaren objekten
DE112021006405T5 (de) System und Verfahren zur Eindringungserkennung von Malware-Datenverkehr
Bahaa et al. nndpi: A novel deep packet inspection technique using word embedding, convolutional and recurrent neural networks
DE102022202878A1 (de) Verwendung einer datenverarbeitungseinheit als vorprozessor für maschinelles lernen auf der basis einer grafikverarbeitungseinheit
DE202022101839U1 (de) Ein datenschutzgerechtes System zur Durchsetzung des Schutzes sensibler Daten
DE102004048167B4 (de) Verfahren zur inhaltsbezogenen Handhabung eines Datenstroms
Mohaisen et al. Babble: Identifying malware by its dialects
DE102023201178A1 (de) Erkennung von ransom ware im speicher einer datenverarbeitungseinheit mit hilfe von erkennungsmodellen des maschinellen lernens
DE102023201189A1 (de) Erkennen von bösartigen url (uniform resource locator) in arbeitsspeicher einer datenverarbeitungseinheit mit hilfe von machine-learning-erkennungsmodellen
DE102015016832B4 (de) Abwehr eines Angriffs über ein Netzwerk auf ein Computersystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R130 Divisional application to

Ref document number: 112012007298

Country of ref document: DE

R082 Change of representative

Representative=s name: ZACCO LEGAL RECHTSANWALTSGESELLSCHAFT MBH, DE

R016 Response to examination communication