DE60124295T2 - Flussbasierte erfassung eines eindringens in ein netzwerk - Google Patents

Flussbasierte erfassung eines eindringens in ein netzwerk Download PDF

Info

Publication number
DE60124295T2
DE60124295T2 DE60124295T DE60124295T DE60124295T2 DE 60124295 T2 DE60124295 T2 DE 60124295T2 DE 60124295 T DE60124295 T DE 60124295T DE 60124295 T DE60124295 T DE 60124295T DE 60124295 T2 DE60124295 T2 DE 60124295T2
Authority
DE
Germany
Prior art keywords
flow
host
data
packet
packets
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.)
Expired - Lifetime
Application number
DE60124295T
Other languages
English (en)
Other versions
DE60124295T8 (de
DE60124295D1 (de
Inventor
A. III John Atlanta COPELAND
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.)
Lancope LLC
Original Assignee
Lancope 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 Lancope LLC filed Critical Lancope LLC
Publication of DE60124295D1 publication Critical patent/DE60124295D1/de
Application granted granted Critical
Publication of DE60124295T2 publication Critical patent/DE60124295T2/de
Publication of DE60124295T8 publication Critical patent/DE60124295T8/de
Active legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Description

  • Ein Teil der Offenbarung dieses Patentdokuments einschließlich des Computercodes enthält Material, das dem Urheberrechtsschutz unterliegt. Der Urheberrechtsinhaber hat keinen Einwand gegen die Faksimilewiedergabe des Patentdokuments oder der Patentoffenbarung durch irgendjemanden, wie sie in der Patentakte oder in Protokollen des Patent- und Warenzeichenamts erscheint, behält sich aber ansonsten alle Urheberrechte vor.
  • TECHNISCHES GEBIET
  • Die Erfindung bezieht sich allgemein auf das Gebiet der Netzüberwachung und insbesondere auf ein Intrusionserfassungssystem, das die gesamte kommende und gehende Netzaktivität untersucht und verdächtige Muster identifiziert, die einen Netz- oder Systemangriff oder eine Netz- oder Systemintrusion angeben können.
  • STAND DER TECHNIK
  • Während die Welt ins 21-te Jahrhundert übergeht, wächst das Internet unbeschränkt weiter. Netze sind für die Durchführung aller Formen der Geschäfts- und persönlichen Kommunikation unverzichtbar geworden. Netzsysteme ermöglichen, schnell auf benötigte Informationen zuzugreifen, mit Partnern zusammenzuarbeiten und elektronischen Handel zu treiben. Die durch die Internet-Technologien gebotenen Vorteile sind zu groß, um sie zu ignorieren. Allerdings folgt wie bei allen technologischen Fortschritten eine Abwägung. Obgleich Computernetze die Art und Weise der Geschäftsführung revolutionieren, können die eingeführten Risiken wesentlich sein. Angriffe auf Netze können zum Verlust von Geld, von Zeit, des Rufs und vertraulicher Informationen führen.
  • Eine zu vermeidende Hauptgefahr ist, dass äußere Eindringlinge die Steuerung eines Hosts in einem Netz erlangen. Wenn die Steuerung erreicht worden ist, können private Unternehmensdateien heruntergeladen werden, kann der gesteuerte Host verwendet werden, um weitere Computer innerhalb der Firewall anzugreifen, oder kann der gesteuerte Host Computer irgendwo auf der Welt abtasten oder angreifen. Viele Organisationen verfolgen den Schutz ihrer Grenzen durch die Implementierung von Firewalls und Intrusionserfassungssystemen (IDS).
  • Firewalls beschränken lediglich den Zugriff zwischen Netzen. Firewalls sind typisch so ausgelegt, dass sie den Netzverkehr basierend auf Attributen wie etwa Quell- oder Zieladresse, Portnummern oder Transportschichtprotokollen filtern. Firewalls sind anfällig für böswillig gefertigten Verkehr, der so ausgelegt ist, dass er die festgesetzten Blockierungsvorschriften umgeht. Außerdem sind fast alle kommerziell verfügbaren IDS signaturbasierte Erfassungssysteme oder anomaliebasierte Systeme.
  • Signaturbasierte Erfassungssysteme setzen die Pakete in einer Verbindung zusammen, um einen Strom von Bytes zu sammeln, der übertragen wird. Daraufhin wird der Strom auf bestimmte Zeichenketten in den Daten analysiert, die üblicherweise als "Signaturen" bezeichnet werden. Diese Signaturen sind besondere Zeichenketten, die in bestimmten Ausbeutungen entdeckt worden sind. Je mehr Signaturen in einer Datenbank gespeichert sind, desto länger dauert es, in jedem Datenstrom eine erschöpfende Suche auszuführen. Für größere Netze mit massiven Mengen übertragener Daten ist ein Zeichenkettenvergleichszugang undurchführbar. Um den gesamten Kommunikationsverkehr zu analysieren, sind wesentliche Rechenbetriebsmittel erforderlich.
  • Außerdem ist die Signatur selbst dann, wenn eine bekannte Ausbeutungssignatur entdeckt worden ist, erst nützlich, wenn sie in dem Netz installiert worden ist und verfügbar ist. Außerdem schützt die Signaturanalyse ein System nur vor bekannten Angriffen. Allerdings werden jederzeit neue Angriffe implementiert. Leider würde ein signaturbasiertes Erfassungssystem diese neuen Angriffe nicht erfassen und das Netz verletzbar lassen.
  • Ein weiterer Zugang zur Intrusionserfassung enthält die Erfassung einer ungewöhnlichen Abweichung von normalem Netzverkehr, die üblicherweise als "Anomalien" bezeichnet wird. Wie signaturbasierte Erfassungssysteme erfassen viele momentane anomaliebasierte Intrusionserfassungssysteme nur bekannte Angriffsverfahren. Einige dieser bekannten anomaliebasierten Angriffe enthalten TCP/IP-Stapel-Fingerabdrücke, halboffene Angriffe und Portabtastung. Allerdings sind Systeme, die sich auf bekannte Angriffe stützen, leicht zu umgehen und lassen das System verletzbar. Außerdem ereignet sich im normalen Netzverkehr ein gewisser anomaler Netzverkehr, häufig nicht böswillig, routinemäßig. Zum Beispiel könnte eine falsch eingegebene Adresse zu einem unberechtigten Port gesendet werden und als eine Anomalie interpretiert werden. Folglich neigen bekannte ano maliebasierte Systeme dazu, eine unerwünschte Anzahl falscher Alarme zu erzeugen, was eine Tendenz erzeugt, alle erzeugten Alarme zu ignorieren.
  • Einige bekannte Intrusionserfassungssysteme versuchen, statistische Anomalien zu erfassen. Der Zugang ist, eine Grundlinie zu messen und daraufhin einen Alarm auszulösen, wenn eine Abweichung erfasst wird. Falls ein System z. B. üblicherweise um 2 Uhr keinen Verkehr von einzelnen Workstations hat, wird eine Aktivität während dieses Zeitrahmens als verdächtig betrachtet. Allerdings sind Grundliniensysteme üblicherweise ineffektiv, da eine kleine Menge böswilliger Aktivität durch die großen Mengen hochvariabler normaler Aktivität maskiert wird. Insgesamt betrachtet, ist es äußerst schwierig, die potentiellen Angriffe zu erfassen.
  • Weitere Intrusionserfassungssysteme vergleichen Langzeitprofil-Datenströme mit Kurzzeitprofil-Datenströmen. Ein solches System ist im US-Patent Nr. 6.321.338 an Porras u. a. mit dem Titel "Network Surveillance" beschrieben. Das in diesem Patent beschriebene System analysiert nicht notwendig den gesamten Netzverkehr, sondern konzentriert sich stattdessen auf schmale Datenströme. Das System filtert ein Datenpaket in verschiedene Datenströme und vergleicht Kurzzeitprofile mit Profilen, die über eine lange Zeitdauer gesammelt worden sind. Allerdings ist Datenverkehr üblicherweise zu vielfältig, um Kurzzeitprofile sinnvoll mit Langzeitprofilen zu vergleichen. Zum Beispiel gibt lediglich die Tatsache, dass die durchschnittlichen FTP-Ströme über lange Zeit 3 Megabytes sein können, nicht an, dass ein 20-Megabyte-Strom eine Anomalie ist. Folglich erzeugen diese Systeme eine erhebliche Menge falscher Alarme oder kann die böswillige Aktivität maskiert werden, indem nicht die richtigen Datenströme analysiert werden.
  • Folglich verfolgt und charakterisiert ein skalierbares Intrusionserfassungssystem effektiv die Netzaktivität, um anomales Verhalten zu unterscheiden. Wegen der Unbrauchbarkeit der Analyse aller durch das Netz fließenden Daten kann sich das System nicht auf signaturbasierte Verfahren stützen. Das Erfassungssystem muss selbst mit dem Datenverkehr größerer Netze funktionieren können. Außerdem muss das System ohne übermäßige Menge falscher Alarme schnell und effizient bestimmen, ob das Netz einem Angriff unterliegt.
  • WO 00/34847 bezieht sich auf die Erfassung von Netzintrusionen basierend auf statistischer Analyse, um Anwenderbefehle und Programmnamen mit einer Schablonenfolge anzupassen.
  • OFFENBARUNG DER ERFINDUNG
  • Die vorliegende Erfindung schafft ein genaueres und zuverlässigeres Verfahren zur Erfassung von Netzangriffen, das im Gegensatz zu Signaturen oder Anomalien zum großen Teil auf "Flüssen" beruht. Dieses neue Erfassungssystem erfordert keine aktualisierte Datenbank von Signaturen. Stattdessen untersucht das Intrusionserfassungssystem die gesamte kommende und gehende Aktivität und identifiziert verdächtige Muster, die nicht normale Flüsse bezeichnen und einen Angriff angeben können. Die rechnerische Einfachheit der Technik ermöglicht den Betrieb mit viel höheren Geschwindigkeiten, als er mit einem signaturbasierten System auf vergleichbarer Hardware möglich ist.
  • Gemäß der Erfindung wird ein Verfahren zum Analysieren von Netzkommunikationsverkehr auf eine potentielle Intrusionsaktivität gemäß Anspruch 1 geschaffen.
  • Ferner wird gemäß der Erfindung ein System zum Analysieren von Netzkommunikationsverkehr gemäß Anspruch 9 geschaffen.
  • In einer Ausführungsform der Erfindung arbeitet das Erfassungssystem so, dass es Datenpakete verschiedenen Client/Server-Flüssen (C/S-Flüssen) zuweist. Für jeden bestimmten Fluss werden Statistiken gesammelt. Daraufhin werden die Flussstatistiken analysiert, um zu bestimmen, ob der Fluss berechtigter Verkehr oder möglicherweise eine verdächtige Aktivität zu sein scheint. Jedem Fluss, der verdächtig zu sein scheint, wird ein als ein "Betreffindex" bezeichneter Wert zugewiesen. Dadurch, dass jedem Fluss, der verdächtig erscheint, ein Wert zugewiesen wird und dieser Wert zu einem akkumulierten Betreffindex, der dem verantwortlichen Host zugeordnet ist, hinzugefügt wird, ist es möglich, Hosts zu identifizieren, die an einer Eindringlingsaktivität beteiligt sind, ohne dass erhebliche ungerechtfertigte falsche Alarme erzeugt werden. Sobald der Betreffindexwert eines Hosts einen voreingestellten Alarmwert übersteigt, wird eine Warnung ausgegeben und kann eine geeignete Maßnahme ergriffen werden.
  • Allgemein gesagt, analysiert das Intrusionserfassungssystem den Netzkommunikationsverkehr auf eine potentielle schädliche Aktivität. Das System sammelt Flussdaten aus Paketanfangsblöcken zwischen zwei Hosts oder Internetprotokoll adressen (IP-Adressen). Das Sammeln von Flussdaten aus Paketanfangsblöcken, die einem einzelnen Dienst zugeordnet sind, wobei wenigstens ein Port konstant bleibt, ermöglicht eine effizientere Analyse der Flussdaten. Die gesammelten Flussdaten werden analysiert, um dem Fluss basierend auf der Wahrscheinlichkeit, dass der Fluss für die Datenaustauschvorgänge nicht normal war, einen Betreffindexwert zuzuweisen. Es wird eine Host-Liste gehalten, die einen akkumulierten Betreffindex enthält, der aus den dem Host zugeordneten Flüssen abgeleitet wurde. Sobald der akkumulierte Betreffindex einen Alarmschwellenwert überschritten hat, wird ein Alarmsignal erzeugt.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Nutzen und weitere Merkmale der vorliegenden Erfindung gehen aus einer ausführlichen Beschreibung einer bevorzugten Ausführungsform davon hervor, die in Verbindung mit der folgenden Zeichnung zu nehmen ist, in der auf gleiche Elemente mit gleichen Bezugszeichen Bezug genommen wird und in der:
  • 1 ein Funktionsblockschaltplan ist, der ein flussbasiertes Intrusionserfassungssystem veranschaulicht, das in Übereinstimmung mit einer bevorzugten Ausführungsform der vorliegenden Erfindung konstruiert ist.
  • 2 ein Diagramm ist, das Anfangsblöcke von Datagrammen veranschaulicht.
  • 3 ein Funktionsblockschaltplan ist, der einen beispielhaften normalen TCP-Austauschvorgang veranschaulicht.
  • 4 ein Funktionsblockschaltplan ist, der C/S-Flüsse veranschaulicht.
  • 5 ein Funktionsblock ist, der eine flussbasierte Intrusionserfassungsmaschine veranschaulicht.
  • 6 eine Tabelle ist, die den Betreffindexwert für C/S-Flüsse veranschaulicht.
  • 7 eine Tabelle ist, die Betreffindexwerte für weitere Host-Aktivitäten veranschaulicht.
  • 8 ein Funktionsblockschaltplan ist, der eine Hardwarearchitektur veranschau licht.
  • 9, die aus den 9A bis 9C besteht, Ablaufpläne von Programm-Threads in einer beispielhaften Ausführungsform der Erfindung sind.
  • BESTE AUSFÜHRUNGSART
  • Die beschriebene Ausführungsform offenbart ein System, das ein effizientes, zuverlässiges und skalierbares Verfahren zum Erfassen von Netzintrusionen durch Analysieren der Austauschvorgangs-Flussstatistiken schafft. Die Netzintrusionen werden durch eine flussbasierte Maschine erfasst, die Netzaktivitäten charakterisiert und verfolgt, um zwischen anomaler Aktivität und normalen Austauschvorgängen zu unterscheiden. Die flussbasierte Erfassung stützt sich nicht auf die Analyse der Daten von Paketen für Signaturen bekannter Angriffe. Das Analysieren von Zeichenketten für bekannte Angriffe ist äußerst betriebsmittelintensiv und schützt nicht vor neuen, unbekannten Angriffen. Stattdessen wird die vorliegende Eindringlingserfassung dadurch ausgeführt, dass Austauschvorgangsflüsse analysiert werden, um zu bestimmen, ob der Austauschvorgang die Flusscharakteristiken von Sondierungen oder Angriffen aufweist. Für den Fachmann auf dem Gebiet ist leicht klar, dass außer den explizit beschriebenen zahlreiche Austauschvorgänge eine Intrusionsaktivität angeben können. Durch die Analyse von Austauschvorgängen für anomale Flusscharakteristiken können Angriffe ohne die Notwendigkeit einer betriebsmittelintensiven Paketdatenanalyse bestimmt werden.
  • Allerdings ist es nützlich, die Grundlagen von Internet-Austauschvorgängen zu diskutieren, um ein Verständnis des Betriebs der flussbasierten Maschine zu erlangen. Folglich wird anfangs eine Übersicht über ein flussbasiertes Erfassungssystem diskutiert. Nach der Übersicht folgen Diskussionen verschiedener Aspekte von Internet-Austauschvorgängen. Anhand von 5 bis 9 wird ausführlich eine ausführliche Funktionalität der flussbasierten Maschine der vorliegenden Erfindung beschrieben.
  • Übersicht
  • Übergehend zu den Figuren, in denen gleiche Bezugszeichen in den mehreren Figuren durchgängig gleiche Elemente bezeichnen, gibt 1 eine Übersicht über ein flussbasiertes Intrusionserfassungssystem oder eine flussbasierte Intrusionserfassungsmaschine 155 in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung. Das flussbasierte Intrusionserfassungssystem 155 überwacht Netzcomputer-Austauschvorgänge. Die Netzcomputer-Austauschvorgänge werden über ein bekanntes globales Computernetz, das üblicherweise als das Internet 199 bekannt ist, geleitet. In Übereinstimmung mit einem Aspekt der Erfindung ist die Intrusionserfassungsmaschine 155 zusammen mit einer Datenbank 160, die Informationen speichert, die in der Intrusionserfassungsmethodik genutzt werden, in ein Überwachungsgerät 150 integriert.
  • Es wird betrachtet, dass die Betriebsumgebung des Intrusionserfassungssystems 155 zahlreiche mit dem Internet 199 verbundene Hosts, z. B. den Host Nr. 1, den Host Nr. 2, den Host Nr. 3 (in dieser Reihenfolge auch als H1–H3 bezeichnet) aufweist. Hosts sind irgendwelche Computer, die vollständigen Zweiwegezugriff auf weitere Computer im Internet 199 haben und die ihre eigene eindeutige IP-Adresse haben. Zum Beispiel hat der Host Nr. 1 eine beispielhafte IP-Adresse 208.60.239.19. Das Internet 199 verbindet Clients 110 in bekannter Client/Server-Beziehung mit einem Host-Server 130.
  • In einer typischen Konfiguration werden einige Computer als "Server" bezeichnet, während andere als "Clients" bezeichnet werden. Ein Server-Computer wie etwa der Host Nr. 2 130 liefert üblicherweise Antworten auf Anfragen von Client-Computern und stellt Dienste, Daten, Betriebsmittel und dergleichen bereit. Währenddessen fordert ein Client-Computer wie etwa der Host Nr. 1 110 üblicherweise die durch den Server bereitgestellten Dienste, Daten, Betriebsmittel und dergleichen an und nutzt sie.
  • Es ist im Gebiet bekannt, Austauschübermittlungen zwischen Hosts über das Internet 199 zu senden. Das Internetprotokoll (IP) ist das Verfahren, durch das Daten im Internet 199 von einem Host-Computer zu einem anderen gesendet werden. Jeder Host im Internet 199 besitzt eine IP-Adresse, die ihn eindeutig gegenüber allen anderen Computern identifiziert. Wenn Daten übertragen werden, wird die Nachricht in Pakete 101 geteilt. Die Pakete 101 werden anhand von 2 ausführlicher diskutiert.
  • Jedes IP-Paket 101 enthält einen Anfangsblock, der sowohl die Internet-Adresse des Senders als auch die Internet-Adresse des Empfängers enthält. Die Pakete 101 werden zu dem Computer, dessen Adresse spezifiziert ist, weitergeleitet. Es sind ein berechtigter Anwender/Client 110, ein Host Nr. 1 (H1) mit einer IP-Adresse 208.60.239.19, und ein Server, der Host Nr. 2 (H2) mit einer IP-Adresse 128.0.0.1, veranschaulicht.
  • Wie gezeigt ist, kommuniziert ein Client 110 mit einem Server 130, indem er Pakete 101 von Daten sendet. Ein Paket 101 ist eine Dateneinheit, die zwischen einem Ursprung und einem Ziel geleitet wird. Wie veranschaulicht ist, werden Nachrichten in zahlreiche Pakete 101 segmentiert und über das Internet 199 zu dem empfangenden Host geleitet. Der empfangende Host setzt den Strom von Paketen 101 wieder zusammen, um die ursprüngliche Nachricht wieder herzustellen, die daraufhin durch Anwendungsprogramme, die auf dem empfangenden Computersystem ausgeführt werden, behandelt wird.
  • Allerdings können einige der Hosts Eindringlinge 120 sein, die üblicherweise als Hacker oder Cracker bezeichnet werden. Die Eindringlinge 120 nutzen verletzbare Computer aus. Wie gezeigt ist, ist der Eindringling 120 ein Host mit seiner eigenen IP-Adresse 110.5.47.224. Außerdem kommuniziert der Eindringling 120, indem er Pakete 101 über das Internet 199 sendet. Wie zuvor angegeben wurde, enthalten die Pakete 101 die IP-Adresse des Absenders und des Ziels, um eine richtige Leitweglenkung sicherzustellen. Wie gezeigt ist, kann der durch den Eindringling 120 gesendete Strom von Paketen 101 mit den von anderen Hosts gesendeten Paketen 101 verschachtelt sein. Die Pakete 101 enthalten Anfangsblockinformationen, die ermöglichen, dass der empfangende Host den verschachtelten Strom von Paketen wieder zu den ursprünglichen Nachrichten wie gesendet zusammensetzt.
  • Normale Client/Server-Austauschvorgangsaktivität (C/S-Austauschvorgangsaktivität) enthält das Senden von E-Mails, Web-Verkehr, Dateiübertragungen und dergleichen. Austauschübermittlungen über das Internet 199 müssen an eine spezifische IP-Adresse und an einen spezifischen Dienstkontaktport gesendet werden. Ein "Port" ist dem Fachmann auf dem Gebiet als eine beliebig zugewiesene Nummer bekannt, der ein bestimmter Typ eines Rechendienstes in herkömmlichen Internet-Computer-Computer-Austauschvorgängen zugewiesen ist, wobei z. B. Web-Verkehr herkömmlich auf Port 80, FTP-Verkehr auf den Ports 20 und 21 usw. ist. Die IP-Adresse spezifiziert einen spezifischen Host, während die Dienstkontakt-Portnummer ein besonderes Server-Programm oder einen besonderen Server-Dienst identifiziert, das/den der Host-Computer bereitstellen kann. Heutige Portnummern reichen von 0 bis 65.535. Wie in 1 gezeigt ist, haben eine Anzahl häufig verwendeter Dienste oder Prozesse herkömmlich zugewiesene Dienstkontakt-Portnummern, auf die als gut bekannte Portnummern Bezug genommen wird, die durch die Internet Assigned Number Authority (IANA) unterhalten werden. Diese zugewiesenen Portnummern sind im Gebiet gut bekannt und sind typisch Ports mit niedrigen Nummern zwischen 0 und 1023. Außerdem sind momentan bestimmte Ports mit höheren Nummern zugewiesen worden.
  • Eine Dienstporttabelle in 1 führt einige übliche Dienste auf, die heutige Internet-gestützte Computersysteme bereitstellen können. Abgehende E-Mail nutzt üblicherweise das bekannte Simple Mail Transfer Protocol (SMTP), das über den Dienstkontaktport 25 implementiert wird. Für Hypertext-Transfer-Protocol-Austauschvorgänge (HTTP-Austauschvorgänge) öffnen Web-Browser eine kurzlebige hohe Portnummer, um Web-Verkehr zu beginnen, der zu dem Host-Server-Port 80 gesendet wird. File-Transfer-Protocol-Steueraustauschvorgänge (FTP-Steueraustauschvorgänge) werden zu dem Server-Port 21 gesendet, während eine FTP-Datenübertragung vom Port 20 ausgeht. Der Finger-Dienst nutzt den Dienstkontaktport 79, der Domain Name Service (DNS) nutzt den Dienstkontaktport 53 und Telnet-Austauschvorgänge nutzen den Dienstkontaktport 23. Wie veranschaulicht ist, sind häufige Dienste üblicherweise spezifischen vorgegebenen Dienstkontaktports zugeordnet.
  • Außerdem sind in 1 vier Flüsse F1 bis F4 zwischen dem Client-Host Nr. 1 110 und dem Dienst-Host Nr. 2 130 zugewiesen. Der Fluss F1 ist eine Dateiübertragung, die das File Transfer Protocol (FTP) nutzt. Wie gezeigt ist, wird die Dateiübertragung (der Fluss F1) durch einen Strom von Paketen 101 (P1–P3) geliefert, der durch den empfangenden Host 110 wieder zusammengesetzt wird.
  • Nachdem die Dateiübertragung abgeschlossen ist, beginnt der Client 110 eine HTTP-Web-Sitzung (Fluss F2) mit dem Server 120. Der Fachmann auf dem Gebiet versteht, dass eine Web-Sitzung üblicherweise stattfindet, wenn ein Internet-Browser-Computerprogramm wie etwa MICROSOFT INTERNET EXPLORER oder NETSCAPE NAVIGATOR eine Web-Seite von einem World-Wide-Web-Dienst (WWW-Dienst) am Port 80 anfordert. Die Pakete P4, P5, P6 und P9 sind dem Web-Verkehr des Flusses F2 zugeordnet. Diese Pakete können Daten wie etwa ein anzuzeigendes Bild im JPG-Format, Text, ein JAVA-Programm oder weitere Informationsmaterialien, die durch das Internet-Browser-Programm des Clients angezeigt oder behandelt werden sollen, enthalten.
  • In Fortsetzung des Beispiels aus 1 sendet der Client 110 eine durch den Fluss F3 veranschaulichte E-Mail, während die Web-Sitzung des Flusses F2 noch geöffnet ist. Wie gezeigt ist, können die E-Mail-Pakete des Flusses F3 mit der zuvor geöffneten Web-Sitzung des Flusses F2 verschachtelt sein. Wie veranschaulicht ist, enthalten die Pakete P7, P8 und P12 die E-Mail-Nachricht.
  • Schließlich fordert der Client 110 von dem Server 120 eine weitere Web-Seite an, was einen nochmals weiteren HTTP-Fluss F4 beginnt. Die Pakete P9, P10, P11, P12 und P14 repräsentieren den neuen Web-Verkehr.
  • In Übereinstimmung mit einem Aspekt der Erfindung wird ein Fluss als abgeschlossen betrachtet, nachdem an einer bestimmten Verbindung oder an einem bestimmten Port eine vorgegebene Zeitdauer verstrichen ist. Falls z. B. der HTTP-Web-Verkehr am Port 80 für eine vorgegebene Zeitdauer aufhört, während nach Ablauf dieser vorgegebenen Zeitdauer weiterer Verkehr am Port 80 aufzutreten beginnt, wird dies in der Weise betrachtet, dass ein neuer Fluss begonnen hat, wobei das System dementsprechend reagiert, um eine neue Flussnummer zuzuweisen und dessen Statistiken und Charakteristiken zu verfolgen. In der offenbarten Ausführungsform beträgt die vorgegebene Zeitdauer 330 Sekunden, wobei aber für den Fachmann auf dem Gebiet selbstverständlich ist, dass diese Zeit beliebig ist und heuristisch eingestellt werden kann.
  • Obgleich die bevorzugte Ausführungsform das Verstreichen einer vorgegebenen Zeitdauer nutzt, um Flüsse zu begrenzen, versteht und würdigt der Fachmann auf dem Gebiet, dass weitere Ereignisse, Indikatoren oder Informationen, z. B. vorgegebene Charakteristiken des Verkehrs an einem gegebenen Port oder das Auftreten eines FIN-Merkers in einem Paket im Verkehr usw., verwendet werden können, um Flüsse zu begrenzen. Dem Fachmann auf dem Gebiet fallen weitere solche Ereignisse oder Indikatoren ein.
  • Da in dem Beispiel aus 1 eine Zeitdauer (in diesem Beispiel 330 Sekunden) verstrichen ist, seit der Server letztmals irgendwelchen Web-Verkehr verarbeitet hat, wird der neue Web-Verkehr mit den Paketen P9, P10, P11, P12 und P14 als ein neuer Fluss (F4) betrachtet. Falls die neue Web-Seite innerhalb der vorgege benen Zeitperiode angefordert worden wäre, die das Ende eines Flusses definiert, wäre der neue Verkehr als Teil des Flusses F3 enthalten.
  • Eindringlinge 120 senden über das Netz Daten, die schädigen sollen oder Einzelheiten über die Hosts in dem Netz, die sie in Zukunft schädigen lassen, aufklären sollen. Da Eindringlinge 120 andere Ziele haben, senden Eindringlinge 120 üblicherweise Austauschübermittlungen, die für Client-Server-Austauschübermittlungen nicht normal sind.
  • Zum Beispiel können Eindringlinge zahlreiche Ports hoher Ebene abtasten, was in normalen Client/Server-Austauschvorgängen nicht geschehen würde, oder kann ein Eindringling ein User-Datagram-Protocol-Paket (UDP-Paket), das üblicherweise bei Streaming-Medien verwendet wird, ohne angebrachte Daten senden. Ein Eindringling kann zu identifizieren versuchen, welches Betriebssystem ein Host nutzt, indem er ein Paket mit einer undefinierten Menge von TCP-Merkern sendet. Eine hohe Anzahl von TCP-Paketen 101 zu einem einzelnen Host von einem weiteren Host kann einen halboffenen Angriff angeben, der die Betriebsmittel des Ziels zu belegen versucht. Jede dieser verdächtigen Aktivitäten ist im normalen Netzverkehr normalerweise nicht zu sehen.
  • In Übereinstimmung mit einem Aspekt der Erfindung wird in Verbindung mit jedem durch die Intrusionserfassungsmaschine 155 identifizierten Host eine als "Betreffindex" (CI) bezeichnete Variable bereitgestellt. Diese Betreffindexvariable CI wird verwendet, um Werte zu akkumulieren, die verschiedenen in dem Netz auftretenden anomalen Ereignissen zugeordnet sind, wenn z. B. ein bestimmter Fluss für ungewöhnlich gehalten wird oder wenn bestimmte Typen anomaler Ereignisse auftreten. Während der kumulierte Wert der CI-Variablen für einen bestimmten Host zu dieser Zeit einen vorgegebenen Schwellenwert übersteigt, kann dieser Host als eine ausreichende Bedrohung betrachtet werden, um das Erzeugen einer Warnung oder eines Alarms und das Ergreifen von Maßnahmen zu rechtfertigen.
  • Folglich heben anomale Flüsse und/oder Ereignisse, die durch die Intrusionserfassungsmaschine 155 identifiziert werden, den Betreffindex (CI) für den zugeordneten Host an. Die Intrusionserfassungsmaschine 155 analysiert den Datenfluss zwischen IP-Vorrichtungen. Allerdings haben verschiedene Typen von Diensten verschiedene Flusscharakteristiken, die diesem Dienst zugeordnet sind. Somit kann ein C/S-Fluss durch die Pakete bestimmt werden, die zwischen den zwei Hosts, die denselben Dienst behandeln, ausgetauscht werden.
  • In Übereinstimmung mit einem Aspekt der Erfindung arbeitet die Intrusionserfassungsmaschine 155 in der Weise, dass sie Datenpakete 101 verschiedenen Flüssen zuweist. Die Maschine 155 sammelt Informationen über jeden Fluss und jedem Fluss zugeordnete Statistiken und speichert diese Informationen und Statistiken in einer Datenbank 160. Die Flussdatenbank 160 umfasst eine Flussdatenstruktur 162 und eine Host-Datenstruktur 166. Die Flussdatenstruktur 162 speichert gesammelte Flussinformationen wie etwa die IP-Adressen. Die Maschine bestimmt, welcher Host eine niedrigere IP-Adresse hat, und weist diesem Host die IP0 zu. Dem anderen Host wird die IP1 zugewiesen. Der Port0 wird IP0 zugewiesen und der Port1 ist der Dienstverbindungsport für Host1. Außerdem speichert die Flussdatenstruktur 162 die Zeit und weitere verwandte Paketinformationen, die von dem Paketanfangsblock abgeleitet werden. In der offenbarten Ausführungsform werden diese Zeitinformationen (z. B. die Zeit des ersten Pakets, die Zeit des letzten Pakets) wie oben beschrieben genutzt, um zur Flussbegrenzung das Verstreichen der Zeit zu messen.
  • Die Intrusionserfassungsmaschine 155 analysiert die Flussdaten 160, um zu bestimmen, ob der Fluss berechtigter Verkehr oder möglicherweise eine verdächtige Aktivität zu sein scheint. Flüssen mit verdächtiger Aktivität wird anhand einer heuristisch vorgegebenen Beurteilung der Bedeutung der Bedrohung des besonderen Verkehrs oder Flusses oder der verdächtigen Aktivität ein Betreffindexwert (CI-Wert) zugewiesen. Die Flussbetreffindexwerte sind heuristisch aus einer umfangreichen Netzverkehrsanalyse abgeleitet worden. Die Betreffindexwerte werden bestimmten Hosts zugewiesen und in der Host-Datenstruktur 166 (1) gespeichert. In Verbindung mit den 6 und 7 sind beispielhafte Betreffindexwerte für verschiedene beispielhafte flussbasierte Ereignisse und weitere Typen von Ereignissen veranschaulicht.
  • Dadurch, das jedem Fluss, der verdächtig erscheint, ein Wert zugewiesen wird und dass dieser Wert zu einem Gesamt-CI des für den Fluss verantwortlichen Hosts hinzugefügt wird, ist es möglich, Hosts zu identifizieren, die an Eindringlingsaktivitäten beteiligt sind. Sobald der CI eines Hosts einen im Voraus festgelegten Alarmschwellenwert übersteigt, kann ein Alarmsignal erzeugt werden. In dem Beispiel aus 1 hat der Host H3 einen CI von 3.980 akkumuliert. Dieser übersteigt den im Voraus festgelegten Schwellenwert von 3.500 für dieses Netz, wobei durch eine Warnmeldung, durch eine Dialogfeld, durch einen Personenfunkrufempfänger, durch eine E-Mail, per Telephon oder mit einer anderen Alarmeinrichtung ein Systemadministrator (SYS ADMIN) benachrichtigt werden kann.
  • Die Host-Server 130 sind mit einer oder mit mehreren Netzvorrichtungen 135 wie etwa Routern, Switches oder Hubs gekoppelt. In einer typischen bevorzugten Konfiguration für die vorliegende Erfindung ist ein Überwachungsgerät 150, das eine flussbasierte Intrusionserfassungsmaschine 155 betreibt, mit einer der Netzvorrichtungen 135 oder mit einem Abgriff in einer Internet-Backbone-Übertragungsstrecke gekoppelt. Das Überwachungsgerät 150 überwacht in dem Versuch, die Intrusionsaktivität zu erfassen, die Nachrichtenübermittlungsvorgänge zwischen dem Host-Server 130 und weiteren Hosts 120, 110.
  • Der Fachmann auf dem Gebiet versteht, dass viele Netze Firewalls nutzen, um unerwünschten Netzverkehr zu beschränken. Ein Überwachungsgerät 150 kann vor einer Firewall verbunden sein, um auf das Netz gerichtete Intrusionen zu erfassen. Umgekehrt kann das Überwachungsgerät 150 hinter einer Firewall installiert sein, um Intrusionen zu erfassen, die die Firewall umgehen. Einige Systeme installieren zwei Firewalls mit Web- und E-Mail-Servern in der so genannten "entmilitarisierten Zone" oder "DMZ" zwischen Firewalls. Eine übliche Anordnung des Überwachungsgeräts 150 ist in dieser entmilitarisierten Zone. Natürlich ist für den Fachmann auf dem Gebiet klar, dass das flussbasierte Intrusionserfassungssystem 155 oder Intrusionserfassungsgerät 150 ohne Vorhandensein irgendwelcher Firewalls arbeiten kann.
  • Es ist nun klar, dass die offenbarte Methodik der Intrusionserfassung wenigstens teilweise dadurch ausgeführt wird, dass Austauschvorgangsflüsse analysiert werden, um zu bestimmen, ob diese Austauschvorgänge die Flusscharakteristiken von Sondierungen oder Angriffen haben. Durch Analysieren der Austauschvorgänge auf anomale Flusscharakteristiken können Angriffe ohne die Notwendigkeit einer betriebsmittelintensiven Paketdatenanalyse bestimmt werden. Es kann ein Fluss von den Paketen 101 bestimmt werden, die zwischen zwei Hosts, die einen einzigen Dienst nutzen, übertragen werden. Die Adressen und die Portnummern der Austauschvorgänge werden leicht durch Analyse der Anfangsblockinformationen in einem Datagramm erkannt.
  • Paket
  • Nunmehr anhand von 2 und insofern, als ein Verständnis von Internet-Datenpaketen hilfreich für die Konstruktion von Ausführungsformen der vorliegenden Erfindung ist, wird nachfolgend als Verständnishilfe eine Beschreibung solcher auch "Datagramme" genannter Pakete gegeben. Ein Paket oder Datagramm 101 ist eine selbständige, unabhängige Entität oder Dateneinheit, die ausreichend Informationen trägt, um von einem Quell- zu einem Zielcomputer geleitet zu werden, ohne sich auf frühere Austausche zwischen dem Quell- und dem Zielcomputer zu stützen. Wie in 2 veranschaulicht ist, haben die Pakete 101 einen Anfangsblock und ein Datensegment Im heutigen Sprachgebrauch hat der Begriff "Paket" den Begriff "Datagramm" allgemein ersetzt.
  • Noch einmal festgestellt, ist ein Paket 101 diejenige Dateneinheit, die in einem paketvermittelten Netz wie etwa im Internet 199 zwischen einem Ursprung und einem Ziel geleitet wird. Ein Paketvermittlungsschema ist ein effizientes Verfahren der Behandlung von Übertragungen in einem verbindungslosen Netz. Allerdings können verbindungsorientierte Protokolle genutzt werden, um eine Sitzung zu erzeugen. Eine Sitzung ist eine Reihe von Wechselwirkungen zwischen zwei Austauschvorgangs-Endpunkten, die während der Spanne einer einzelnen Verbindung stattfinden. Eine ausführliche Diskussion einer TCP/IP-Sitzung ist anhand von 3 beschrieben. Allerdings kann ein Host eine Nachricht senden, ohne eine Verbindung mit dem Empfänger aufzubauen. Das heißt, der Host sendet einfach ein Paket 101 mit der Zieladresse an das Netz 199 und hofft, dass es ankommt.
  • 2 veranschaulicht ein beispielhaftes TCP/IP-Paket oder -Datagramm 210 und ein beispielhaftes UDP-Datagramm 240. In einem typischen TCP/IP-Paket wie 210 enthält jedes Paket üblicherweise einen Anfangsblockabschnitt, der einen IP-Anfangsblock 220 und einen TCP-Anfangsblock 230 umfasst, gefolgt von einem Datenabschnitt, der die in dem Paket zu übermittelnden Informationen enthält. Die Informationen in dem IP-Anfangsblock 220, die in einem TCP/IP-Paket 210 oder in irgendeinem anderen IP-Paket enthalten sind, enthalten die IP-Adressen und stellen sicher, dass das Paket zu dem richtigen Host geliefert wird. Auf den Internetprotokoll-Anfangsblock folgt der Transportschichtprotokoll-Anfangsblock (TCP-Anfangsblock), der die Portnummern für den zugeordneten Dienst spezifiziert.
  • Der Anfangsblockabschnitt in dem typischen TCP/IP-Datagramm 210 beträgt 40 Bytes, wobei er 20 Bytes Informationen des IP-Anfangsblocks 220 und 20 Bytes Informationen des TCP-Anfangsblocks 230 enthält. Auf die Anfangsblockinformationen folgt der Datenabschnitt oder das Datensegment, der/das dem Paket 210 zugeordnet ist.
  • Hinsichtlich eines typischen IP-Pakets 210 identifizieren die ersten 4 Bits des IP-Anfangsblocks 220 die Internetprotokoll-Version (IP-Version). Die folgenden 4 Bits identifizieren in 32-Bit-Wörtern die IP-Anfangsblocklänge. Die nächsten 8 Bits unterscheiden den Diensttyp, indem sie beschreiben, wie das Paket unterwegs behandelt werden sollte. Die folgenden 16 Bits übermitteln die Gesamtpaketlänge.
  • Große Pakete neigen dazu, durch Netze, die keine große Paketgröße behandeln können, fragmentiert zu werden. Um fragmentierte Pakete wieder zusammenzusetzen, wird eine 16-Bit-Paketidentifizierung verwendet. Eine Menge von drei Bits von Fragmentierungsmerkern steuern, ob ein Paket fragmentiert ist oder sein kann. Der 13-Bit-Fragment-Offset ist eine Laufzahl für die 4-Byte-Wörter in dem Paket, wenn es wieder zusammengesetzt wird. In einer Reihe von Fragmenten ist der erste Offset null.
  • Nach den Fragmentierungsinformationen spezifiziert ein 8-Bit-Lebensdauerfeld die verbleibende Lebensdauer eines Pakets, wobei es jedes Mal, wenn das Paket weitergeleitet wird, dekrementiert wird. Falls dieses Feld 0 ist, wird das Paket zerstört. Das nächste ist ein 8-Bit-Protokollfeld, das das in dem Datenabschnitt verwendete Transportprotokoll spezifiziert. Das folgende 16-Bit-Feld ist eine Anfangsblockprüfsumme nur an dem Anfangsblock. Schließlich enthalten die veranschaulichten letzten zwei Felder die 32-Bit-Quelladresse und die 32-Bit-Zieladresse. Auf die Adresseninformationen folgen die IP-Paket-Daten.
  • In einem TCP/IP-Datagramm 210 sind die Anfangsdaten des IP-Datagramms die Informationen des TCP-Anfangsblocks 230. Die Anfangsinformationen des TCP-Anfangsblocks 230 enthalten die 16-Bit-Quell- und die 16-Bit-Ziel-Portnummer. Auf die Portnummern folgt eine 32-Bit-Laufzahl für die Daten in dem Paket. Auf die Laufzahl folgt eine 32-Bit-Quittierungszahl. Falls ein (unten diskutierter) ACK-Merker gesetzt ist, ist die Zahl die nächste Laufzahl, die der Sender des Pakets zu empfangen erwartet. Das nächste ist ein 4-Bit-Daten-Offset, der die Anzahl der 32-Bit-Wörter in dem TCP-Anfangsblock ist. Es folgt ein reserviertes 6-Bit-Feld.
  • Nach dem reservierten Feld sind die nächsten 6 Bits eine Reihe von Ein-Bit-Merkern, die in 2 als die Merker U, A, P, R, S, F gezeigt sind. Der erste Merker ist der Dringlich-Merker (U). Falls der U-Merker gesetzt ist, gibt er an, dass der Dringlich-Zeiger gültig ist und auf dringliche Daten zeigt, die so schnell wie möglich bearbeitet werden sollten. Der nächste Merker ist der A-Merker (oder ACK-Merker oder "Quittierungs"-Merker). Der ACK-Merker gibt an, dass eine Quittierungszahl gültig ist, und quittiert, dass Daten empfangen worden sind. Der nächste Merker, der Schiebe-Merker (P-Merker), teilt dem empfangenden Ende mit, dass alle gepufferten Daten zu der Empfangsanwendung geschoben werden sollen. Der folgende Merker ist der Rücksetzmerker (R-Merker), der beide Enden der TCP-Verbindung abschließt. Nachfolgend ist in dem Anfangspaket einer TCP-Verbindung der S-Merker (oder SYN-Merker für "Synchronisier"-Merker) gesetzt, wo beide Enden ihre TCP-Puffer synchronisieren müssen. Auf den SYN-Merker folgt der F-Merker (für FIN-Merker oder "Fertig"-Merker). Dieser Merker bedeutet, dass das sendende Ende des Austauschvorgangs und der Host keine weiteren Daten senden, aber weiter Daten quittieren können, die empfangen werden.
  • Auf die TCP-Merker-Bits folgt ein 16-Bit-Empfangsfenster-Größenfeld, das die Menge des Raums spezifiziert, der in dem Empfangspuffer für die TCP-Verbindung verfügbar ist. Die Prüfsumme des TCP-Anfangsblocks ist ein 16-Bit-Feld. Auf die Prüfsumme folgt ein 16-Bit-Dringlich-Merker, der auf die dringlichen Daten zeigt. Auf den TCP-Anfangsblock folgen die TCP/IP-Datagramm-Daten.
  • Weiter anhand von 2 stellt ein typisches Anwenderdatagrammprotokoll-Paket (UDP-Paket) 240 für Anwendungsprogramme eine Prozedur bereit, um Nachrichten mit einem Minimum an Protokollmechanismen zu anderen Programmen zu senden. Als das zugrundeliegendende Protokoll wird das zuvor beschriebene IP-Protokoll verwendet. Das UDP-Protokoll ist transaktionsorientiert und es ist kein Lieferschutz sichergestellt. Anwendungen, die eine zuverlässige Lieferung von Daten erfordern, verwenden üblicherweise das zuvor beschriebene Übertragungssteuerprotokoll (TCP).
  • Der 16-Bit-UDP-Quellport ist ein Feld, zu welchem Port eine Antwort, wenn sinnvoll, adressiert werden sollte. Der 16-Bit-UDP-Zielport spezifiziert das Server-Programm zur Ausführung des Pakets in dem empfangenden Host. Nachfolgend ist das 16-Bit-UDP-Nachrichtenlängenfeld die Länge in Bytes des Anwenderdata gramms einschließlich Anfangsblock und irgendwelchen Daten. Auf das Längenfeld folgen die 16-Bit-Prüfsumme des UDP-Anfangsblocks, die UDP-Pseudoanfangsblockinformationen 250 von einem IP-Anfangsblock 220 und die Daten.
  • Wie für den Fachmann auf dem Gebiet selbstverständlich ist, besteht der grundlegende Internet-Dienst aus einem Paketliefersystem. Da jedes Paket unabhängig von allen anderen behandelt wird, wird der Internet-Dienst üblicherweise als "verbindungslos" betrachtet. Einige Transportprotokolle wie etwa UDP stellen einen unzuverlässigen Dienst bereit, da die Lieferung des Pakets nicht sichergestellt ist. Weitere Transportprotokolle wie etwa TCP stellen einen Mechanismus bereit, um die Lieferung eines Pakets sicherzustellen, und können somit zum Aufbau von Computer-Computer-"Sitzungen" im herkömmlichen Begriffssinn verwendet werden. 3 veranschaulicht eine typische TCP/IP-Sitzung und den Mechanismus der sichergestellten Paketlieferung.
  • Wie zuvor festgestellt wurde, analysiert die flussbasierte Maschine 155 nicht die Datensegmente von Paketen für eine Signaturidentifizierung. Stattdessen ordnet die Maschine 155 alle Pakete einem Fluss zu. Sie analysiert bestimmte statistische Daten und ordnet einer anomalen Aktivität einen Betreffindexwert zu. Die Maschine 155 baut für verdächtige Hosts einen Betreffindex auf, indem sie verdächtige Aktivitäten in dem Netz erfasst. Wenn diese Hosts ausreichend Betreff (in Form eines kumulierten CI-Werts) aufgebaut haben, so dass sie den vorgegebenen Schwellenwert des Netzadministrators überqueren, wird ein Alarm erzeugt.
  • Sitzung
  • Nunmehr übergehend zu 3 ist eine TCP-Sitzung 300 eine Vollduplexverbindung, die die gleichzeitige Übertragung von Daten in beiden Richtungen ermöglicht. Bevor die Übertragung beginnen kann, treten sowohl das sendende als auch das empfangende Anwendungsprogramm mit ihren jeweiligen Betriebssystemen in Wechselwirkung, wobei sie sie über die bevorstehende Stream-Übertragung informieren. Die Protokollsoftware kommuniziert, indem sie Nachrichten hinüber sendet, überprüft, dass die Übertragung berechtigt ist, und angibt, dass beide Seiten zum Empfangen von Daten bereit sind.
  • 3 veranschaulicht eine beispielhafte TCP/IP-Sitzung 300. Wie anhand von 2 diskutiert wurde, wird jedes Mal, wenn ein Host eine Sitzung mit einem wei teren Host beginnt, ein SYN-Merker gesetzt. In dem Anfangspaket sendet der Host 1 eine Nachricht, in der nur der SYN-Merker gesetzt ist. Der SYN-Merker ist so ausgelegt, dass er eine TCP-Verbindung aufbaut und ermöglicht, dass beide Enden ihre TCP-Puffer synchronisieren. Der Host1 liefert die Folge des ersten Datenpakets, das er senden wird.
  • Der Host2 reagiert mit einem SYN-ACK-Paket. In dieser Nachricht sind sowohl der SYN-Merker als auch der ACK-Merker gesetzt. Der Host2 liefert die Anfangslaufzahl für seine Daten an den Host1. Der Host2 sendet außerdem die Quittierungszahl, die die nächste Laufzahl ist, die der Host2 vom Host 1 zu empfangen erwartet, an den Host1. In dem von dem Host 2 gesendeten SYN-ACK-Paket ist die Quittierungszahl die Anfangslaufzahl des Hosts 1 plus 1, was die nächste empfangene Laufzahl sein sollte.
  • Der Host 1 reagiert auf das SYN-ACK mit einem Paket, in dem nur der ACK-Merker gesetzt ist. Der Host 1 quittiert, dass das nächste vom Host 2 empfangene Paket von Informationen die Anfangslaufzahl des Hosts 2 plus 1 ist. Der Dreiwege-Quittierungsaustausch ist abgeschlossen und es werden Daten übertragen.
  • Der Host2 reagiert auf das ACK-Paket mit seinem eigenen ACK-Paket. Der Host2 quittiert die Daten, die er vom Host1 empfangen hat, indem er eine Quittierungszahl sendet, die um eins höher als seine zuletzt empfangene Datenlaufzahl ist. Beide Hosts senden Pakete, bei denen der ACK-Merker gesetzt ist, bis die Sitzung enden soll, obgleich der P- und der U-Merker, falls berechtigt, ebenfalls gesetzt sein können.
  • Wie veranschaulicht ist, sendet der Host1, wenn er sein Ende der Sitzung abschließt, ein Paket, bei dem der FIN- und der ACK-Merker gesetzt sind. Der FIN-Merker informiert den Host2, dass keine weiteren Daten durch den Host1 gesendet werden. Der ACK-Merker quittiert die letzten durch den Host1 empfangenen Daten, indem er den Host2 über die nächste Laufzahl, die er zu empfangen erwartet, informiert.
  • Der Host2 quittiert das FIN-Paket, indem er sein eigenes ACK-Paket sendet. Das ACK-Paket hat die Quittierungszahl, die um eins höher als die Laufzahl des FIN-ACK-Pakets des Hosts1 ist. Abgesehen davon, dass die Pakete des HOST1 keine Daten an das TCP/IP-Ende der Anfangsblöcke angehängt haben, werden weiter ACK-Pakete zwischen den zwei Hosts geliefert.
  • Wenn der Host 2 bereit ist, die Sitzung abzuschließen, sendet er sein eigenes Paket, bei dem der FIN- und der ACK-Merker gesetzt sind. Der Host1 antwortet, dass er das letzte Paket empfangen hat, mit einem ACK-Paket, das an den Host2 eine Quittierungszahl liefert, die um eins größer als die in dem FIN-ACK-Paket des Host2 gelieferte Laufzahl ist.
  • Alternativ kann ein Host wünschen, eine Sitzung aktiv zu halten, auch nachdem er das Senden seiner momentanen Daten abgeschlossen hat. Falls in naher Zukunft weitere Daten gesendet werden sollen, ist es effizienter, eine Sitzung offen zu halten, als mehrere Sitzungen zu öffnen. Eine Sitzung, bei der die Verbindung offen gehalten wird, falls zukünftige Daten übermittelt werden sollen, wird typisch als eine "Dauer"-Sitzung bezeichnet. In diesem Szenarium wird eine Sitzung dadurch geschlossen, dass ein Paket gesendet wird, bei dem der Rücksetzmerker (R) gesetzt ist (auch ein "Rücksetzpaket" genannt), nachdem eine Zeitdauer keine Daten geliefert worden sind. Viele Browser-Anwendungen stellen ein 300-Sekunden-Inaktivitätsfenster bereit, bevor sie eine Sitzung mit einem R-Paket (Rücksetzen) schließen.
  • Die beschriebene TCP-Sitzung 300 aus 3 ist eine allgemeine TCP-Sitzung, an der ein Netz beteiligt sein könnte. In Übereinstimmung mit der Erfindung werden Flussdaten über die Sitzung gesammelt, um bestimmen zu helfen, ob der Austauschvorgang anomal ist. In der bevorzugten Ausführungsform werden Informationen wie etwa die Gesamtzahl der gesendeten Pakete, die Gesamtmenge der gesendeten Daten, die Sitzungsstartzeit und die Sitzungsdauer und die in allen Paketen gesetzten TCP-Merker gesammelt, in der Datenbank 160 gespeichert und analysiert, um zu bestimmen, ob der Austauschvorgang verdächtig war. Falls ein Austauschvorgang für verdächtig gehalten wird, d. h., falls er vorgegebene Kriterien erfüllt, wird zu dem kumulierten CI-Wert, der dem Host zugeordnet ist, der den Austauschvorgang ausgeführt hat, ein vorgegebener Betreffindexwert hinzugefügt, der einer vorgegebenen Kategorie der verdächtigen Aktivität zugeordnet ist.
  • Zum Beispiel gibt es in einem normalen Austauschvorgang kein TCP/IP-Paket, bei dem sowohl der SYN-Merker als auch der FIN-Merker gesetzt sind. Da ein Paket, bei dem sowohl der SYN-Merker als auch der FIN-Merker gesetzt sind, undefiniert ist, behandelt jedes Betriebssystem dieses Paket in verschiedenen Verfahren. Ein Betriebssystem kann eine ICMP-Nachricht senden, kann ein Rücksetzen senden oder kann es möglicherweise einfach ignorieren und nichts senden. Folglich kann ein Eindringling ein SYN-FIN-Paket spezifisch senden, um das Betriebssystem des Ziel-Hosts identifizieren zu helfen.
  • Als ein weiteres Beispiel wird eine potentielle TCP-Sondierung angegeben, falls ein bestimmter Host eine große Anzahl von SYN-Paketen an einen Ziel-Host sendet und als Antwort zahlreiche R-Pakete von dem Ziel-Host empfängt. Gleichfalls geben zahlreiche von einem Host zu einem Ziel-Host gesendete UDP-Pakete und zahlreiche von dem Ziel-Host empfangene ICMP-"Port-nicht-verfügbar"-Pakete eine potentielle UDP-Sondierung an. Durch mehrere Pakete von derselben Quellportnummer, die an verschiedene Portnummern an einem Ziel-Host gesendet werden, wird eine Stealth-Sondierung angegeben.
  • Wie anderswo beschrieben wurde, werden UDP-Pakete häufig in Verbindung mit Streaming-Medien und weiteren Anwendungen, die Daten an viele Hosts liefern, verwendet. Ein UDP-Paket ohne angehängte Daten tritt in normalen Austauschvorgängen nicht auf. Tatsächlich kann ein Fluss mit zahlreichen SYN-Paketen mit zahlreichen SYN-ACK-Antworten einen halboffenen Angriff angeben, der dafür ausgelegt ist, die Ports und Betriebsmittel des Ziel-Hosts zu belegen. Aus dem Vorstehenden ist selbstverständlich und klar, dass eine Analyse des Flusses von Austauschvorgängen Angriffe auf ein System identifizieren kann.
  • Anhand der 6 und 7 sind einige typische anomale Austauschvorgänge aufgeführt, die eine Intrusionsaktivität angeben. Allerdings besitzt jeder Diensttyp sein eigenes Profil normaler Aktivität. Folglich ist es erwünscht, jeden Diensttyp zu analysieren und die Charakteristiken eines "normalen" Flusses einschließlich der normalen Folge von Merkern und dergleichen zu ermitteln.
  • Fluss
  • In Übereinstimmung mit einem beispielhaften Aspekt der Erfindung kann ein "Fluss" durch die Pakete bestimmt sein, die zwischen zwei einem einzelnen Dienst zugeordneten Hosts ausgetauscht werden. Es wird daran erinnert, dass ein einzelner Dienst üblicherweise einem bestimmten Port an einem Server zugeordnet ist und außerdem einem zugewiesenen Dienst auf einer Client-Maschine zuge ordnet ist; die Portnummern in Server-Maschinen wie etwa im Server 130 des Hosts Nr. 2 (1) sind üblicherweise festgesetzt, während sie in Client-Maschinen wie etwa im Client 110 des Hosts Nr. 1 üblicherweise variieren. Wie zuvor beschrieben wurde, endet ein Fluss in der wie hier beschriebenen bevorzugten Ausführungsform, wenn für eine vorgegebene Zeitdauer wie etwa 330 Sekunden für HTTP-Flüsse keine Pakete zwischen den Hosts ausgetauscht werden.
  • 4 veranschaulicht einige übliche Flüsse. Wie bekannt ist, besitzt jeder Host seine eigene eindeutige IP-Adresse. Auf IP-Adressen wird üblicherweise durch vier Sätze von Zahlen, die durch Punkte getrennt sind, z. B. N.N.N.N., wobei N zwischen 0 und 255 variiert, Bezug genommen. Wie ebenfalls beschrieben wurde, begrenzen die zugewiesenen Portnummern des Servers die durch diesen Server bereitgestellten Dienste; in heutigen Systemen können die Portnummern zwischen 0 und 65.536 variieren.
  • Der Client ist mit einer IP-Adresse Adresse1 veranschaulicht, während der Server mit einer IP-Adresse Adresse0 veranschaulicht ist. Wie veranschaulicht ist, werden durch den Client drei getrennte Dienste – HTTP, SMTP und FTP – aufgerufen. Eine auf der Client-Maschine ausgeführte Web-Browser-Anwendung (nicht gezeigt) nutzt das Hypertext Transfer Protocol (HTTP), eine E-Mail-Anwendung (ebenfalls nicht gezeigt), nutzt das Simple Mail Transfer Protocol (SMTP) und ein Dateiübertragungs-Anwendungsprogramm (nicht gezeigt) nutzt das File Transfer Protocol (FTP).
  • Austauschvorgänge, die jedes dieser Protokolle nutzen, stellen verschiedene Flusscharakteristiken bereit. Folglich ist es erwünscht Flüsse zu bestimmen, in denen jeder der Dienste getrennt analysiert wird. Somit repräsentieren die veranschaulichten Austauschvorgänge wie definiert drei verschiedene Flüsse.
  • Der erste veranschaulichte Fluss ist Web-Verkehr (HTTP-Protokoll) zwischen dem Client bei der IP-Adresse1 und dem Server bei der IP-Adresse0. Wie in dem Beispiel veranschaulicht ist, öffnet der Client-Web-Browser einen wahlfreien kurzlebigen hohen Port (51.132). Ein hoher Port wird genutzt, da die niedrigen Portnummern kleiner als 1024 für bestimmte Dienste vorbelegt sind. Einer dieser bestimmten Dienste ist Port 80 für HTTP, der auf bekannte Weise anzeigbare Web-Seiten und verwandte Dateien überträgt. Der Web-Browser sendet die Anforderung an den Port 80 des Servers. Der Server-Port antwortet, indem er die an geforderten Web-Seiten-Daten in Paketen sendet, wobei die Portnummer in den an den Client übertragenen Paketen den Zielport auf 51.132 des Client einstellt. Alle Austauschübermittlungen durch Clients, die HTTP nutzen, werden an Port 80 des Servers geendet. Die HTTP-Austauschvorgänge zwischen Port 51.132 von Adresse1 und Port 80 von Adresse0 sind ein C/S-Fluss.
  • Falls 330 Sekunden keine Austauschvorgänge zwischen den zwei IP-Adressen und dem einen niedrigen Port (z. B. dem Port 80) stattfinden, wird ein Fluss abgeschlossen. Die meisten Web-Browser oder eine TCP-Verbindung senden ein Rücksetzpaket (d. h. ein Paket, bei dem der R-Merker gesetzt ist), falls 5 Minuten keine Austauschübermittlungen gesendet oder empfangen werden. Eine Analyse kann bestimmen, ob der Fluss für HTTP-Austauschvorgänge anomal ist oder nicht.
  • Der nächste veranschaulichte Fluss ist E-Mail-Verkehr zwischen dem Client und dem Server, der Port 25 nutzt. Wie in 4 veranschaulicht ist, öffnet die Client-E-Mail-Anwendung einen wahlfreien hohen kurzlebigen Port, z. B. den Port 49.948. Die E-Mail-Anwendung des Clients sendet die E-Mail unter Nutzung des Simple Mail Transfer Protocol (SMTP) an den Port 25 des Servers. Der Port 25 ist herkömmlich für SMTP-Austauschvorgänge bestimmt. Falls 330 Sekunden keine Austauschübermittlungen zwischen den zwei IP-Adressen und dem niedrigen Port geliefert werden, wird ein Fluss abgeschlossen. Falls der Client innerhalb 330 Sekunden nach dem Ende der ersten E-Mail ein weiteres SMTP-E-Mail-Paket oder weitere SMTP-E-Mail-Pakete an den Server sendet, gibt es nur einen Fluss.
  • Falls z. B., wie in 4 gezeigt ist, innerhalb von 330 Sekunden ein zweites E-Mail-Paket gesendet wird, das von dem kurzlebigen Port 35.620 ausgeht, gibt es nur einen Fluss. Falls das zweite E-Mail-Paket gegenüber der ersten gesendeten E-Mail später als 330 Sekunden war, wird es für Analysezwecke als ein weiterer Fluss klassifiziert. Eine Analyse kann bestimmen, ob der Fluss für SMTP-Austauschvorgänge anomal ist oder nicht.
  • Das File Transfer Protocol (FTP) ist das einfachste Verfahren für den Austausch von Dateien zwischen Hosts im Internet. Ein Client beginnt eine Sitzung, indem er eine Anforderung für Austauschvorgänge an Port 21 der bestimmten Server-Maschine sendet. Außerdem nimmt der Client eine zweite Portnummer auf, die verwendet werden soll, wenn Daten ausgetauscht werden. Wie in 4 veranschau licht ist, beginnt der Server den Austausch von seinem eigenen Port 20 (FTP-Daten) zu dem durch den Client bestimmten Port, Port 4993. Obgleich zwei Ports, Port 20 und Port 21, an dem Server genutzt wurden, wird dieser eindeutige Fall als ein C/S-Fluss klassifiziert. Vorzugsweise haben Ausführungsformen der vorliegenden Erfindung einer flussbasierten Intrusionserfassungsmaschine die Fähigkeit, die FTP-Austauschvorgänge an beiden Ports als einen Fluss zuzuordnen.
  • Wie gezeigt ist, kann ein Fluss durch die Pakete bestimmt werden, die zwischen zwei einem einzelnen Dienst zugeordneten Hosts ausgetauscht werden. Eine Portnummer bestimmt eine Dienstanwendung, die dem besonderen Port zugeordnet ist. Austauschvorgänge, die verschiedene Protokolle oder Dienste nutzen, stellen verschiedene Flusscharakteristiken bereit. Folglich wird jeder der Dienste durch die Flussmaschine 155 getrennt analysiert.
  • Flussbasierte Maschine
  • 5 veranschaulicht eine logische Softwarearchitektur einer flussbasierten Intrusionserfassungsmaschine 155, die in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung konstruiert ist. Wie für den Fachmann auf dem Gebiet selbstverständlich ist, ist das System unter Nutzung Internet-fähiger Computersysteme mit Computerprogrammen konstruiert, die so ausgelegt sind, dass sie die hier beschriebenen Funktionen ausführen. Vorzugsweise sind die verschiedenen Rechenfunktionen als verschiedene, aber verwandte Prozesse, die als "Threads" bekannt sind, implementiert, die auf modernen Multithreading-Multitasking-Computersystemen gleichzeitig ausgeführt werden.
  • Die Computerprogramme oder Threads werden auf einem Computersystem 800 ausgeführt, das wie anhand von 8 beschrieben konstruiert ist, die ein geeignetes beispielhaftes Computersystem veranschaulicht, das zur Konstruktion eines Überwachungsgeräts 150, das eine Intrusionserfassungsmaschine 155 enthält, oder einer getrennt implementierten Intrusionserfassungsmaschine genutzt werden kann. Obgleich die beschriebenen Ausführungsformen allgemein anhand eines im Internet zugänglichen Computersystems beschrieben sind, das für die Implementierung der Maschine 155 vorgesehen ist, erkennt der Fachmann auf dem Gebiet, dass die vorliegende Erfindung in Computerprogrammcode implementiert werden kann, der in Verbindung mit weiteren Programmmodulen in verschiedenen Typen von Universalcomputern, Spezialcomputern oder dedizierten Computern ausführt werden kann. Dementsprechend umfassen die Begriffe "Computer", "Betriebssystem" und "Anwendungsprogramm" selbstverständlich alle Typen von Computern und die Programmmodule, die dafür ausgelegt sind, durch die Computer implementiert zu werden.
  • Die folgende Diskussion von Verfahren, insbesondere in Bezug auf die Softwarearchitektur, wird zum größten Teil hinsichtlich Prozessen und symbolischen Darstellungen von Operationen durch herkömmliche Computerkomponenten einschließlich einer Zentraleinheit (CPU), Speicherablagevorrichtungen für die CPU, Netzkommunikationsschnittstellen, verbundenen Anzeigevorrichtungen und Eingabevorrichtungen dargestellt. Darüber hinaus können diese Prozesse und Operationen herkömmliche Computerkomponenten in einer heterogen verteilten Rechenumgebung einschließlich fernen Datei-Servern, fernen Computer-Servern und fernen Speicherablagevorrichtungen nutzen. Jede dieser herkömmlichen verteilten Rechenkomponenten ist durch die CPU über ein Austauschvorgangsnetz zugänglich.
  • Die Prozesse und Operationen, die durch den Computer ausgeführt werden, enthalten die Manipulation von Signalen durch eine CPU oder durch einen fernen Server wie etwa durch eine Internet-Web-Site sowie die Pflege dieser Signale in Datenstrukturen, die in einer oder in mehreren der lokalen oder fernen Speicherablagevorrichtungen liegen. Diese Datenstrukturen erlegen der Sammlung von Daten, die in einer Speicherablagevorrichtung gespeichert sind, eine physikalische Organisation auf und repräsentieren spezifische elektrische, optische oder magnetische Elemente. Diese symbolischen Darstellungen sind die Einrichtungen, die von dem Fachmann auf dem Gebiet der Computerprogrammierung und Computerkonstruktion verwendet werden, um die Lehren und Erfindungen einem anderen Fachmann auf dem Gebiet effektiv zu übermitteln. Für diese Diskussion wird ein Prozess so verstanden, dass er eine Folge vom Computer ausgeführter Schritte, die zu einem konkreten, nutzbaren und fassbaren Ergebnis führen, d. h. zur Erfassung von Eindringlingen anhand von C/S-Flüssen, sowie weiterer Aktivität, die heuristisch als eine Bedrohung empfunden wird, die wesentlich genug ist, um die Zuweisung eines Betreffindexwerts zu rechtfertigen, enthält.
  • Diese Schritte erfordern allgemein Manipulationen von Größen wie etwa IP-Adressen, der Paketlänge, der Anfangsblocklänge, Startzeiten, Endzeiten, Portnummern und weiteren paketbezogenen Informationen. Üblicherweise, aber nicht not wendig, nehmen diese Größen die Form elektrischer, magnetischer oder optischer Signale an, die gespeichert, übertragen, kombiniert, verglichen oder auf andere Weise manipuliert werden können. Herkömmlich wird für den Fachmann auf dem Gebiet auf diese Signale als Bits, Bytes, Wörter, Werte, Elemente, Symbole, Zeichen, Terme, Zahlen, Punkte, Datensätze, Objekte, Bilder, Dateien oder dergleichen Bezug genommen. Allerdings sollte nicht vergessen werden, dass diese und ähnliche Begriffe geeigneten Größen für Computeroperationen zugeordnet werden sollten und dass diese Begriffe lediglich herkömmliche Etiketten sind, die an Größen angebracht sind, die innerhalb und während des Betriebs des Computers vorhanden sind.
  • Außerdem wird auf diese Manipulationen in dem Computer selbstverständlich häufig in Begriffen wie etwa Anzeigen, Entscheiden, Speichern, Hinzufügen, Vergleichen, Verschieben, Positionieren, Anordnen und Ändern Bezug genommen, die häufig manuellen Operationen zugeordnet sind, die durch einen menschlichen Betreiber ausgeführt werden. Die hier beschriebenen Operationen enthalten Maschinenoperationen, die in Verbindung mit verschiedenen Eingaben ausgeführt werden, die durch einen menschlichen Betreiber oder Anwender geliefert werden, der mit dem Computer in Wechselwirkung tritt. Außerdem sind die hier beschriebenen Programme, Prozesse, Routinen und Verfahren selbstverständlich weder auf irgendeinen besonderen Computer oder auf irgendeine besondere Vorrichtung bezogen oder beschränkt noch auf irgendein besonderes Austauschvorgangsnetz oder auf irgendwelche besonderen Computerarchitekturen bezogen oder beschränkt. Eher können verschiedene Typen von Universalmaschinen mit Programmmodulen, die in Übereinstimmung mit den hier beschriebenen Lehren konstruiert sind, verwendet werden. Ähnlich kann es sich als vorteilhaft erweisen, eine Spezialvorrichtung zur Ausführung der hier beschriebenen Verfahrensschritte mittels dedizierter Computersysteme in einer spezifischen Netzarchitektur mit fest verdrahteter Logik oder mit in einem nicht flüchtigen Speicher wie etwa in einem Nur-Lese-Speicher gespeicherten Programmen zu konstruieren.
  • Unter Berücksichtigung des Vorstehenden beginnen die Zeichnungsfiguren mit 5, wobei der beigefügte Anhang von Computerprogrammcode verschiedene Funktionen, Prozesse oder Routinen veranschaulicht, die durch eine Ausführungsform der vorliegenden Erfindung ausgeführt werden. Außerdem können die hier dargestellten Prozesse und Verfahren selbstverständlich verschieden angeordnet sein oder können die Schritte in einer anderen Reihenfolge verwendet werden. Mit anderen Worten, einige Prozesse und Verfahren können gelöscht, wiederholt, umgeordnet, kombiniert oder gemischt werden, um ähnliche Prozesse und Verfahren zu bilden.
  • 5 veranschaulicht den Betrieb der bevorzugten flussbasierten Maschine 155. Die Maschine speichert Daten von ihren Operationen in einer Datenbank 160, die in der offenbarten Ausführungsform zwei Datenstrukturen umfasst, wobei eine zum Sammeln von Statistiken über Datenflüsse (Flussdatenstruktur 162), die im Gang sind, und eine weitere zum Akkumulieren von Daten über die an diesen Flüssen beteiligten Host-Computer (Host-Datenstruktur 166) verwendet wird. Sie hat drei Haupt-Threads oder -Prozesse, die diese Datenstrukturen lesen und schreiben, um mögliche Eindringlinge zu identifizieren, die als Hosts mit hohem Betreffindex oder Hosts mit hohem CI identifiziert werden. Diese Threads sind ein Paketklassifizierer-Thread 510, ein Flusssammler-Thread 520 und ein Warnungsmanager-Thread 530. Außerdem identifizieren die Threads die Client- und Server-Netzanwendungen, die durch die Hosts betrieben werden, von denen beobachtet wird, dass sie an den beobachteten Flüssen beteiligt sind (Portprofilbildung).
  • Paketklassifizierer
  • Die Anfangsblockdaten werden durch den Paketklassifizierer-Thread 510 gelesen. Der Paketklassifizierer-Thread 510 wird jedes Mal ausgeführt, wenn neue Paketinformationen verfügbar sind. Der Thread 510 sucht anhand der Quell- und der Ziel-IP-Adresse in der Flussdatenstruktur 162 nach einem vorhandenen Fluss. Um die Suche und die Datensatzeinfügung zu ermöglichen, wird ein symmetrischer Hash der zwei IP-Adressen erzeugt und als ein Index eines Datenfelds verwendet, das auf den Beginn einer zweiseitig verketteten Liste aller Flüsse mit diesem Hash-Wert zeigt. Wie dem Fachmann auf dem Gebiet bekannt ist, ist ein symmetrischer Hash ein mathematischer Prozess, der eine probabilistisch eindeutige Zahl erzeugt, die in einer Datenstruktur wie etwa in der Flussdatenstruktur 162 die schnelle Indizierung und Sortierung ermöglicht.
  • Die Flussverarbeitung erfolgt für TCP- und UDP-Pakete, wobei die Portnummern in dem Transportschichtanfangsblock verwendet werden, um den zu aktualisierenden Flussdatensatz zu indizieren. Für ICMP-Pakete, die Zurückweisungen eines Pakets bilden, wird die Kopie des zurückgewiesenen Pakets in dem ICMP-Datenfeld verwendet, um die IP-Adressen und die Portnummern des entsprechenden Flusses zu identifizieren.
  • Für die folgende Beschreibung wird die IP-Adresse mit dem niedrigeren Wert, wenn sie als eine vorzeichenlose 32-Bit-Ganzzahl betrachtet wird, als ip[0] bezeichnet, und wird die entsprechende Portnummer als pt[0] bezeichnet. Die höhere IP-Adresse wird als ip[1] bezeichnet und die entsprechende TCP- oder UDP-Portnummer wird als pt[1] bezeichnet. An diesem Punkt kann entweder pt[0] oder pt[1] als der "Server"-Port bestimmt werden, indem ein geeignetes Bit in einer Bitmap gesetzt wird, die Teil des Flussdatensatzes ist (Datensatz-"Zustand", Bit 1 oder 2 ist gesetzt).
  • Falls ein bestimmtes Paket 101, das durch den Paketklassifizierer 510 verarbeitet wird, an einen bestimmten Eintrag oder Datensatz in der Flussdatenstruktur 162 angepasst ist, werden Daten von diesem bestimmten Paket 101 verwendet, um die Statistiken in dem entsprechenden Flussdatenstruktur-Datensatz zu aktualisieren. Ein Paket 101 wird als an einen Flussdatenstruktur-Datensatz angepasst betrachtet, falls beide IP-Nummern angepasst sind und falls:
    • a) beide Portnummern angepasst sind und kein Port als der "Server"-Port gekennzeichnet ist oder
    • b) die zuvor als der "Server"-Port gekennzeichnete Portnummer angepasst ist oder
    • c) eine der Portnummern angepasst ist, während es die andere nicht ist, und keine der Portnummern als der Server-Port gekennzeichnet worden ist (in diesem Fall wird die angepasste Portnummer als der "Server"-Port gekennzeichnet).
  • Falls in der Flussdatenstruktur 162 kein früherer Datensatz vorhanden ist, der an das momentane Paket angepasst ist, wird in der Flussdatenstruktur 162 unter Verwendung der IP-Adressen und der Portnummern von dem momentanen Paket ein neuer Flussdatensatz erzeugt und mit dem Ende der geeigneten verketteten Liste von Flussdatensätzen verkettet. Der Zeitpunkt, zu dem der Fluss begonnen hat, d. h. der Zeitpunkt der Erfassung der ersten Pakete, wird in den Datensatz als die "Start"-Zeit in ein vorgegebenes Feld des Datensatzes geschrieben.
  • Die Zeit jedes Pakets wird "zuletzt" in den Datensatz geschrieben, wobei der vorherige Wert überschrieben wird.
  • Flussdatenstruktur
  • Die bevorzugte Flussdatenstruktur 162 besitzt in jedem Datensatz mehrere verschiedene Felder. Die bevorzugte Flussdatenstruktur ist (in der bekannten Programmiersprache C) wie folgt, wobei der als [2] gezeigte Index (0 oder 1) "0" ist, falls die Paketquelle der Host ip[0] ist, während er ansonsten "1" ist (wobei z. B. die Paketbytes zu bytes[1] hinzugefügt werden, pkt[1] inkrementiert wird usw., wenn die Paketquelle ip[1] ist):
  • Figure 00280001
  • Es wird angemerkt, dass viele der Felder, z. B. die Anzahl der gesendeten Pakete und Bytes, die Anzahl der Pakete mit verschiedenen TCP-Merker-Bit-Kombinationen, die für TCP-Flüsse gesendet werden, die Anzahl der ICMP-"Port-Nichtverfügbarkeiten" für einen UDP-Fluss, Zähler für jeden Host sind. Außerdem können Bitmaps wie etwa die Bitmap aller gesehenen TCP-Merker, die mit dem TCP-Merkerfeld jedes TCP-Pakets bitweise ODER-verknüpft sind, ausgefüllt werden. Es werden Daten für den Quell-Host (Ursprungs-Host) ausgefüllt.
  • Außerdem fügt der Paketklassifizierer-Thread 510 einige Daten direkt zu der Host-Datenstruktur 166 hinzu. Die meisten dieser Daten (wie etwa die durch jeden Host gesendeten Bytes) könnten später durch den Flusssammler-Thread 520 hinzugefügt werden, wobei aber ihre Hinzufügung auf paketweiser Grundlage die Sammlung von Echtzeit-Rateninformationen (wie etwa die in jedem Zeitintervall gesendeten Bytes) ermöglicht. Diese Datensätze werden in der folgenden Host-Datenstruktur 166 angegeben.
  • Host-Datenstruktur
  • Die Host-Datenstruktur 166 akkumuliert Daten über alle Hosts, von denen beobachtet wird, dass sie an einem Fluss beteiligt sind. Es folgt eine Beschreibung dieser Datenstruktur im Format der Sprache C:
  • Figure 00290001
  • Figure 00300001
  • Flusssammler-Thread
  • Der Flusssammler-Thread 520 wird periodisch (z. B. alle fünf Minuten) ausgeführt und durchsucht linear die gesamte Flussdatenstruktur 162, um Flüsse zu ermitteln, die eine bestimmte Zeitdauer (z. B. 6 Minuten) inaktiv waren. Diese Flüsse werden als fertig betrachtet, wobei eine Logikbaumanalyse erfolgt, um sie entweder als einen normalen Fluss oder als eine potentielle Sondierung oder als eine andere verdächtige Aktivität, die die Zuweisung eines Betreffindexwerts rechtfertigt, zu klassifizieren.
  • Normale Flüsse sind jene, für die die entsprechenden Statistiken einen normalen Informationsaustausch zwischen zwei Hosts angeben. Derjenige Host, der den Fluss begonnen hat, wird als der Client (d. h. als der Computer, der TCP SYN-Pakete gesendet hat oder der ein Anfangs-UDP-Paket gesendet hat) betrachtet. Der andere Host wird als der Server (d. h. als der Computer, der TCP SYN-ACK-Pakete gesendet oder auf ein UDP-Paket geantwortet hat) betrachtet. Während eines normalen Flusses werden einige Daten ausgetauscht.
  • Eine potentielle Sondierung ist ein Fluss, der einen Host (einen möglichen Eindringling) zu haben scheint, der Pakete sendet, um Informationen über einen weiteren Host (ein beabsichtigtes Opfer) zu erlangen. Ein Beispiel einer potentiellen Sondierung ist ein Fluss, der TCP-Pakete irgendeiner Sorte hat, die durch einen Host (den Eindringling) gesendet wurden, und der näherungsweise die gleiche Anzahl von TCP-Rücksetzpaketen hat, die durch den anderen gesendet wurden. Ein weiteres Beispiel ist ein Fluss, der UDP-Pakete hat, die durch ICMP-"Port-nicht-verfügbar"-Pakete beantwortet wurden. Ein Fluss mit ICMP-"Ziel-nicht-erreichbar"-Paketen, die durch einen Host gesendet wurden, wird als eine potentielle Sondierung betrachtet, die durch den anderen Host erfolgt.
  • In Übereinstimmung mit der Erfindung geben einige potentielle Sondierungen wesentlich wahrscheinlicher als andere eine Sondierung an. Um dies zu behandeln, wird für jeden Fluss ein der "Betreffindex" genannter Wert berechnet oder auf andere Weise bestimmt und dieser Wert zu dem Betreffindexwert, der in der Host-Datenstruktur 166 akkumuliert wird, hinzugefügt. Tabelle I aus 6 zeigt ein Schema für die Zuweisung von Betreffindexwerten wegen der Flussanalyse. Nachdem der Fluss analysiert worden ist, wird der Flussdatensatz in die Flussprotokolldatei geschrieben und daraufhin aus der Flussdatenstruktur gelöscht.
  • Weitere Betreffindexinkremete
  • Betreffindexwerte (CI-Werte), die aus Paketanomalien berechnet werden, werden ebenfalls zum akkumulierten Betreffindexwert eines Hosts hinzugefügt. Tabelle II aus 7 zeigt ein Schema für die Zuweisung von Betreffindexwerten wegen weiterer Ereignisse, die durch die Flussanalyse offenbart werden. Zum Beispiel gibt es viele Kombinationen von TCP-Merkerbits, die in gültigen TCP-Verbindungen selten oder nie gesehen werden. Wenn eine dieser Kombinationen durch den Paketklassifizierer-Thread 510 erkannt wird, fügt er zu dem akkumulierten Betreffindexwert des sendenden Hosts direkt einen vorgegebenen Wert hinzu. Wenn der Paketklassifizierer-Thread 510 entlang der verketteten Liste des Flusses (d. h. der Flussdaten 162) nach einer Anpassung an das momentane Paket 101 sucht, hält er einen Zählwert der Anzahl aktiver Flüsse mit angepassten IP-Adressen, aber keiner angepassten Portnummer. Falls diese Anzahl einen vorgegebenen Schwellenwert (z. B. 4) übersteigt und größer als die vorher festgestellte Zahl ist, wird ein CI für eine Menge, die einer "Portabtastung" entspricht, hinzugefügt. Zur Angabe, dass der Host einen CI für "Portabtastung" empfangen hat, wird ein Bit in dem Host-Datensatz gesetzt.
  • Es kann eine Liste von IP-Adressen gehalten werden, die durch jeden Host kontaktiert oder sondiert werden. Wenn diese Liste angibt, dass mehr als eine Schwellenwertzahl weiterer Hosts (z. B. 8) in demselben Teilnetz kontaktiert worden sind, wird zu dem Host ein CI hinzugefügt und wird ein Bit in dem Host-Datensatz gesetzt, um anzugeben, dass der Host einen CI für "Adressenabtastung" empfangen hat.
  • Diese und weitere Werte des Betreffindex sind für nicht flussbasierte Ereignisse in 7 gezeigt.
  • Warnungsmanager-Thread
  • Der Warnungsmanager-Thread 530 wird periodisch (z. B. nach dem Flussmanager-Thread 520) ausgeführt und führt eine lineare Suche durch die Host-Datenstruktur 166 aus. Während er dies tut, stellt er eine Anzahl von Listen zusammen, die zur Verwendung durch Anwenderschnittstellenprogramme, d. h. Programme, die Informationen von dem Betrieb des Intrusionserfassungssystems oder Intrusionserfassungsgeräts 150 berichten, in verschiedene Ausgangsdateien geschrieben werden.
  • Zum Beispiel erzeugt der Warnungsmanager-Thread 530 vorzugsweise eine Warnungsliste 546 von Hosts mit einem CI über einem bestimmten Schwellenwert. Dieser Schwellenwert wird so eingestellt, dass die Liste über 100 Host-Datensätze lang ist. In Übereinstimmung mit der bevorzugten Ausführungsform der Erfindung sortiert ein Anwenderschnittstellenprogramm (nicht gezeigt) diese Liste in der Reihenfolge eines absteigenden CI-Werts, die obersten 60 Hosts mit hohen CI-Werten, und zeigt sie an. Es wird eine ähnliche Liste erzeugt, die auf der durchschnittlichen Byterate über das letzte Zeitintervall (z. B. 5 Minuten) basiert. Falls durch den Netzadministrator ein Bereich oder eine Menge von Bereichen von IP-Adressen als "innere Adressen" definiert worden sind, können getrennte Listen für "innere" und "äußere" Hosts erzeugt werden. Es können zahlreiche weitere Abfragen und Berichte 548 zur Durchsicht und Analyse durch einen Netzsystemadministrator (SYS ADMIN) erzeugt werden.
  • Der Thread des Paketklassifizierers 510 sammelt Informationen über Netzoperationen wie etwa Pakete und Bytes auf Sekunden-, Minuten- und Stundenbasis. Diese Informationen werden über alle Pakete und über bestimmte Kategorien von Paketen wie etwa TCP und UDP und Teilmengen von diesen, die auf der Portnummer basieren, gesammelt. Außerdem werden Histogramme der Paketgröße und der TCP- oder UDP-Portnummer gesammelt. Der Warnungsmanager-Thread 530 schreibt die aktualisierten Daten zur Verwendung durch die Anwenderschnittstelle oder zur späteren Offline-Analyse in verschiedene Ausgangsdateien.
  • Außerdem sucht der Warnungsmanager 530 nach Hosts, deren CI oder Verkehr (Byterate) voreingestellte Alarmschwellenwerte übersteigt und die in vorherigen Läufen nicht behandelt worden sind. Die neuen Alarmbedingungen können eine sofortige Betreiberbenachrichtigung durch einen Betreiberbenachrichtigungsprozess 542 veranlassen. Diese Bedingungen können auf der Anwenderschnittstelle hervorgehoben werden und veranlassen, dass SNMP-Trap-Nachrichten an eine Netzüberwachungseinrichtung wie etwa HP Openview gesendet werden und/oder dass E-Mail-Nachrichten an den Netzadministrator gesendet werden, was wiederum veranlassen kann, dass Nachrichten an Personenfunkrufempfänger oder Zellentelephone gesendet werden. Außerdem können Nachrichten gesendet werden, die veranlassen, dass automatische Vorrichtungen wie etwa ein Firewall-Manager 544 Pakete, die zu oder von einem störenden Host gehen, fallenlassen. Somit ist klar, dass die vorliegende Erfindung vorteilhaft mit Firewalls und weiteren Netzsicherheitsvorrichtungen und -prozessen zusammenarbeitet, um für das Computernetz und für die Computerbetriebsmittel einer Entität zusätzlichen Schutz zu schaffen.
  • Hardware
  • Anhand von 8 ist eine bevorzugte Hardwarekonfiguration 800 einer Ausführungsform beschrieben, die die Funktionen der oben beschriebenen flussbasierten Maschine ausführt. 8 veranschaulicht eine typische Hardwarekonfiguration 800 für ein Netzintrusionserfassungssystem. Ein Überwachungsgerät 150 dient als ein Weiterreichungsfilter des Netzverkehrs. Eine Netzvorrichtung 135 wie etwa ein Router, ein Switch, ein Hub, ein Abgriff oder dergleichen liefert den Ort zum Verbinden des Überwachungsgeräts 150 mit dem Netz 899, um den Netzverkehr zu überwachen.
  • Wie veranschaulicht ist, ist das Überwachungsgerät 150 vorzugsweise mit zwei Netzschnittstellenkarten (NIC) 830 wie etwa 10/100-MHz-Ethernet-Adaptern Modell 932 der Marke 3COM oder mit anderen Adaptern, die an das Netz angepasst sind, konfiguriert. Allerdings ist für den Fachmann auf dem Gebiet klar, dass eine oder mehrere Karten genutzt werden können, um die Funktionen des derzeit be schriebenen Zweikartensystems auszuführen. Die Überwachungseinrichtungs-NIC 834 ist typisch auf eine Promiscuous-Betriebsart oder auf eine ähnliche Funktion eingestellt. Die Promiscuous-Betriebsart ist eine Betriebsart, in der jedes durch die Netzvorrichtung 135 gehende Datenpaket empfangen und gelesen wird. Eine Administrations-NIC 838 ermöglicht eine Netzschnittstelle und behandelt von dem Überwachungsgerät 135 gesendete Befehle. Ein NIC-Treiber 820 ermöglicht, dass die Netzverkehrsdaten mit dem Prozessor 850 ausgetauscht werden. Weitere Treiber 825 werden als Schnittstelle oder für Austauschvorgänge mit weiteren Vorrichtungen einschließlich Peripheriegeräten genutzt. Diese Peripheriegeräte enthalten Tastaturen, Monitore, Drucker, Ablagevorrichtungen und weitere Eingabe/Ausgabe-Vorrichtungen. Für den Fachmann auf dem Gebiet ist klar, dass solche Treiber üblicherweise mit dem System gepackt sind.
  • Vorzugsweise muss das Betriebssystem 810 für den Computer 800 mit der Hardware des Überwachungsgeräts 150 kompatibel sein. Ein Betriebssystem 810, das genutzt werden kann, ist das als LINUX bezeichnete Betriebssystem. Für den Fachmann auf dem Gebiet ist klar, dass leicht andere Betriebssysteme ersetzt werden können. Wie dem Fachmann auf dem Gebiet bekannt ist, steuert das Betriebssystem eines Computers den Betrieb des Prozessors 850. Der Prozessor 850 ist an den Speicher 805 angeschlossen, um Programme auszuführen. Vorzugsweise hat das Überwachungsgerät 128 Megabyte oder mehr Speicher.
  • Wie anhand von 5 diskutiert wurde, führt der Prozessor 850 den Paketklassifizierer-Thread 510, den Flusssammler-Thread 520 und den Warnungsmanager-Thread 530 aus. Diese Threads treten wie beschrieben mit der Flussdatenstruktur 162 und mit der Host-Datenstruktur 166 in Wechselwirkung. Die Datenstrukturen schaffen eine temporäre Speicherung von Informationen. Wie anhand von 5 diskutiert wurde, wird auf der Festplatte 840 auf Wunsch eine Protokolldatei zur kriminalistischen Analyse gehalten.
  • Ablaufpläne
  • Für eine Diskussion der Schritte des bevorzugten Paketklassifizierer-Threads, Flusssammler-Threads und Warnungsmanager-Threads wird nun auf 9 Bezug genommen. Wie zuvor anhand von 5 diskutiert wurde, umfasst die bevorzugte flussbasierte Intrusionserfassungsmaschine 155 drei funktionale Threads oder Prozesse, die in einem System oder Gerät, das eine Ausführungsform der Erfin dung implementiert, ausgeführt werden. Der Paketklassifizierer-Thread 510 klassifiziert Pakete in ihren zugeordneten Fluss und aktualisiert die Flussdatensätze. Der Flusssammler-Thread 520 bestimmt einen Abschluss eines Flusses, führt eine Logikbaumanalyse aus, um den Fluss zu klassifizieren, und weist in Reaktion auf die Erfassung einer Aktivität, die eine Zunahme des CI rechtfertigt, einen entsprechenden CI-Wert zu. Schließlich erzeugt der Warnungsmanager-Thread 530 Berichte und Alarmsignale, falls ein Alarmschwellenwert überschritten wird.
  • In 9A beginnt der Flussklassifizierer-Thread 510 mit Schritt 912. In Schritt 912 bestimmt der Thread 510, ob ein neues Paket verfügbar ist. Falls kein neues Paket verfügbar ist, wird dem Nein-Zweig von Schritt 912 zu Schritt 912 gefolgt, in dem der Thread 510 auf ein neues Paket wartet. Falls ein neues Paket verfügbar ist, wird dem Ja-Zweig von Schritt 912 zu Schritt 914 gefolgt, in dem der Thread bestimmt, ob das Paket zu einem neuen Fluss gehört.
  • Wie zuvor diskutiert wurde, werden durch den Paketklassifizierer-Thread 510 die Anfangsblockdaten gelesen, falls jedes Paket verarbeitet wird. Der Thread 510 sucht anhand der Quell- und der Ziel-IP-Adresse in der Flussdatenstruktur 162, die als ein Datenfeld im Speicher verkörpert ist, nach einem vorhandenen Fluss. Als der Index in das Datenfeld wird ein symmetrischer Hash der zwei IP-Adressen verwendet, der auf den Beginn einer zweiseitig verketteten Liste aller Flüsse mit diesem Hash-Wert zeigt.
  • Es erfolgt die Flussverarbeitung für TCP- und UDP-Pakete, wobei die Portnummern in dem Transportschicht-Anfangsblock verwendet werden, um den zu aktualisierenden Flussdatensatz zu identifizieren. Für ICMP-Pakete, die Zurückwiesungen eines Pakets bilden, wird die Kopie des zurückgewiesenen Pakets in dem ICMP-Datenfeld verwendet, um die IP-Adressen und Portnummern des entsprechenden Flusses zu identifizieren.
  • Ein Paket 101 wird als an einen Flussdatenstruktur-Datensatz angepasst betrachtet, falls beide IP-Nummern angepasst sind und falls:
    • a) beide Portnummern angepasst sind und kein Port als der "Server"-Port gekennzeichnet ist oder
    • b) die zuvor als der "Server"-Port gekennzeichnete Portnummer angepasst ist oder
    • c) eine der Portnummern angepasst ist, während es die andere nicht ist, und
    beide Portnummern nicht als der Server-Port gekennzeichnet worden sind (in diesem Fall wird die angepasste Portnummer als der "Server"-Port gekennzeichnet).
  • Falls ein neuer Fluss bestimmt wird, wird durch Schritt 916 dem Ja-Zweig von Schritt 914 gefolgt. In Schritt 916 wird ein neuer Flussdatensatz erzeugt. Falls kein Fluss vorhanden ist, der an das momentane Paket angepasst ist, wird unter Verwendung der IP-Adressen und Portnummern von dem momentanen Paket ein neuer Flussdatensatz begonnen und mit dem Ende der geeigneten verketteten Liste von Flussdatensätzen verkettet.
  • Die IP-Adresse mit dem niedrigeren Wert wird, wenn sie als eine vorzeichenlose 32-Bit-Ganzzahl betrachtet wird, mit ip[0] bezeichnet und die entsprechende Portnummer wird mit pt[0] bezeichnet. Die höhere IP-Adresse wird mit ip[1] bezeichnet und die entsprechende TCP- oder UDP-Portnummer wird mit pt[1] bezeichnet. An diesem Punkt kann entweder pt[0] oder pt[1] als der "Server"-Port bezeichnet werden, indem das geeignete Bit in einer Bitmap gesetzt wird, die Teil des Flussdatensatzes ist (Datensatz-"Zustand", Bits 1 oder 2 gesetzt).
  • Auf Schritt 916 folgt Schritt 918, in dem die Flussdatensätze in der Flussdatenstruktur 162 aktualisiert werden. Die Zeit, zu der der Fluss gestartet wird, die Paketerfassungszeit, wird in den Datensatz-"Start" geschrieben. Die durch den Paketklassifizierer-Thread aktualisierten Flussdatenstrukturen sind ausführlich anhand von 5 diskutiert. Schritt 918 wird zu Schritt 912 zurückgeleitet, in dem der Thread 510 bestimmt, ob ein neues Paket verfügbar ist.
  • Nachfolgend anhand von 9B beginnt der Flusssammler-Thread 520 mit Schritt 942. In Schritt 942 bestimmt der Thread 520, ob eine Zeitdauer, in der offenbarten Ausführungsform z. B. 5 Minuten, verstrichen ist. Falls die erforderliche Zeitdauer nicht verstrichen ist, wird dem Nein-Zweig von Schritt 942 zu Schritt 942 gefolgt, in dem der Thread 520 darauf wartet, dass die Zeit verstreicht.
  • Falls die Zeit verstrichen ist, wird dem Ja-Zweig von Schritt 942 zu Schritt 943 gefolgt, in dem der Thread 520 eine Inaktivitätssuche ausführt. Der Flusssammler-Thread 520 wird periodisch (z. B. alle fünf Minuten) ausgeführt und durchsucht linear die gesamte Flussdatenstruktur 162, um Flüsse zu ermitteln, die für eine bestimmte Zeitdauer (z. B. 6 Minuten, obgleich diese Zeit beliebig ist und heuristisch bestimmt werden kann) inaktiv gewesen sind. Diese Flüsse werden als fertig betrachtet.
  • Auf Schritt 943 folgt Schritt 944. In Schritt 944 wird eine Logikbaumanalyse durchgeführt, um ihn entweder als einen normalen Fluss oder als eine potentielle Sondierung zu klassifizieren. Normale Flüsse sind jene, deren Statistiken einen normalen Informationsaustausch zwischen zwei Hosts angeben. Vorzugsweise wird der Host, der den Fluss begonnen hat, als der Client (der TCP SYN-Pakete sendete oder der das Anfangs-UDP-Paket sendete) betrachtet. Der andere Host wird als der Server (der TCP SYN-ACK-Pakete sendete oder auf ein UDP antwortete) betrachtet. Während eines normalen Flusses werden einige Daten ausgetauscht.
  • Es wird daran erinnert, dass eine beispielhafte Angabe einer potentiellen Sondierung ein Fluss ist, der einen Host (den Eindringling) zu haben scheint, der Pakete sendet, um Informationen über einen weiteren Host (das Opfer) zu erlangen. Ein Beispiel einer potentiellen Sondierung ist ein Fluss, der TCP-Pakete irgendeiner Sorte hat, die durch einen Host (den Eindringling) gesendet wurden, und näherungsweise die gleiche Anzahl von TCP-Rücksetzpaketen hat, die durch den anderen gesendet wurden. Ein weiteres Beispiel ist ein Fluss, der UDP-Pakete hat, die durch ICMP-"Port-nicht-verfügbar"-Pakete beantwortet wurden. Ein Fluss mit ICMP-"Ziel-nicht-verfügbar"-Paketen, der durch einen Host gesendet wurde, wird als eine potentielle Sondierung betrachtet, die durch den anderen Host erfolgt.
  • Auf Schritt 944 folgt Schritt 945, in dem ein CI-Wert zugewiesen wird, der der erfassten Aktivität entspricht. Wie zuvor diskutiert wurde, geben einige Arten von Austauschvorgängen und Paketaktivitäten wesentlich wahrscheinlicher als andere Sondierungen an. Ein geeigneter CI-Betrag für die bestimmte Aktivität wird z. B. durch Bezugnahme auf eine Tabelle wie etwa die in 7 gezeigte bestimmt. Der entsprechende CI-Wert für die bestimmte Aktivität wird zu dem Betreffindexwert, der in der Host-Datenstruktur 166 akkumuliert wird, hinzugefügt. Tabelle I aus 6 und Tabelle II aus 7 zeigen ein Schema für die Zuweisung von Betreffindexwerten wegen der Flussanalyse.
  • Auf Schritt 945 folgt Schritt 946. In Schritt 946 wird der Flussdatensatz in die Flussprotokolldatei geschrieben. Auf Schritt 946 folgt Schritt 947. In Schritt 947 wird der Flussdatensatz aus der Flussdatenstruktur gelöscht. Nach Schritt 947 wird der Thread zu Schritt 942 zurückgeleitet, in dem der Thread die erforderliche Zeit wartet.
  • Nachfolgend anhand von 9C beginnt der Alarmmanager-Thread 530 mit Schritt 972. In Schritt 972 bestimmt der Thread 530, ob eine periodische Zeit verstrichen ist. Falls die erforderliche Zeitdauer nicht verstrichen ist, wird dem Nein-Zweig von Schritt 972 zu Schritt 972 gefolgt, in dem der Thread 950 darauf wartet, dass die Zeit verstreicht.
  • Falls die Zeit verstrichen ist, wird dem Ja-Zweig von Schritt 972 zu Schritt 973 gefolgt, in dem der Thread 530 die Betreffindexsuche ausführt. Der Warnungsmanager-Thread 530 wird periodisch (z. B. auf den Flussmanager-Thread 520 folgend) ausgeführt und führt eine lineare Suche durch die Host-Datenstruktur 166 aus.
  • Auf Schritt 973 folgt Schritt 974. In Schritt 974 stellt er eine Anzahl von Listen zusammen, die zur Verwendung durch die Anwenderschnittstellenprogramme in verschiedene Ausgangsdateien geschrieben werden. Zum Beispiel sammelt er eine Warnliste von Hosts mit einem CI über einem bestimmten Schwellenwert. Dieser Schwellenwert kann so eingestellt werden, dass die Liste etwa 100 Host-Datensätze lang ist. Vorzugsweise sortiert ein Anwenderschnittstellenprogramm diese Liste in der Reihenfolge absteigenden CI-Werts, die obersten 60 Hosts mit hohen CI-Werten, und zeigt sie an. Außerdem wird eine ähnliche Liste erzeugt, die auf der durchschnittlichen Byterate über das letzte Intervall (z. B. 5 Minuten) basiert. Falls durch den Netzadministrator ein Bereich oder eine Menge von Bereichen von IP-Adressen als "innere Adressen" definiert worden sind, können getrennte Listen für "innere" und "äußere" Hosts erzeugt werden. Es können zahlreiche weitere Abfragen und Berichte 548 zur Durchsicht und Analyse durch den Netzadministrator erzeugt werden. Der Warnungsmanager-Thread 530 schreibt die aktualisierten Daten zur Verwendung durch die Anwenderschnittstelle oder zur späteren Offline-Analyse in verschiedene Ausgangsdateien.
  • Auf Schritt 974 folgt Schritt 975, in dem der Thread 530 bestimmt, ob ein Alarmschwellenwert überschritten worden ist. Falls der Alarmschwellenwert nicht überschritten worden ist, wird der Nein-Zweig von Schritt 975 zurückgeleitet, um Schritt 972 auszuführen. In Schritt 972 bestimmt der Thread 530, ob eine erforderliche Zeitdauer verstrichen ist.
  • Falls ein Alarmschwellenwert überschritten worden ist, wird dem Ja-Zweig von Schritt 975 zu Schritt 976 gefolgt. In Schritt 976 erzeugt der Warnungsmanager-Thread bestimmte vorgegebene Signale, die dafür ausgelegt sind, die Aufmerksamkeit eines Systemadministrators oder einer anderen interessierten Person zu erregen. Der Warnungsmanager 530 sucht nach Hosts, deren CI oder Verkehr (Byterate) im Voraus festgelegte Alarmschwellenwerte übersteigt und die in vorhergehenden Läufen nicht behandelt worden sind. Die neuen Alarmbedingungen können eine sofortige Betreiberbenachrichtigung verursachen. Diese Bedingungen können auf der Anwenderschnittstelle hervorgehoben werden und können veranlassen, dass SNMP-Trap-Nachrichten an eine Netzüberwachungseinrichtung wie etwa HP Openview gesendet werden und/oder dass E-Mail-Nachrichten an den Netzadministrator gesendet worden, was wiederum veranlassen kann, dass Nachrichten an Personenfunkrufempfänger oder Zellentelephone gesendet werden. Außerdem können Nachrichten gesendet werden, die veranlassen, dass automatische Vorrichtungen wie etwa ein Firewall-Manager Pakete, die zu oder von einem störenden Host gehen, fallen lässt. Auf Schritt 976 folgt Schritt 972, in dem der Thread 530 die erforderliche Zeitdauer wartet.
  • Angesicht des vorstehenden ist offensichtlich, dass die vorliegende Erfindung ein Intrusionserfassungssystem schafft, das robust, skalierbar und effizient ist und verschiedene Probleme mit der herkömmlichen signaturbasierten oder rein anomaliebasierten Intrusionserfassung überwindet. Selbstverständlich bezieht sich das Vorstehende nur auf die beispielhaften Ausführungsformen der vorliegenden Erfindung, wobei daran zahlreiche Änderungen vorgenommen werden können, ohne von dem wie durch die folgenden Ansprüche definierten Umfang der Erfindung abzuweichen. Dementsprechend sollen die im Folgenden dargelegten Ansprüche und nicht nur die vorstehende Veranschaulichung die Ausschließlichkeitsrechte der Erfindung definieren.
  • INDUSTRIELLE ANWENDUNGEN
  • Ein flussbasiertes Intrusionserfassungssystem überwacht effizient und zuverlässig Netzverkehr auf mögliche Intrusionen mit der Fähigkeit, für große Verkehrsflüsse skaliert zu werden. Dementsprechend besitzt die flussbasierte Maschine Anwendbarkeit auf den Gebieten der Netzüberwachung, der Netzsicherheit, der Netzvorrichtungen, der Netzkommunikation und auf anderen Gebieten.

Claims (13)

  1. Verfahren zum Analysieren von Netzkommunikationsverkehr auf eine potentielle Intrusionsaktivität, das die folgenden Schritte umfasst: Zuweisen von Paketen (101) zu einem Fluss; Sammeln von Flussdaten aus Paketanfangsblöcken; Analysieren gesammelter Flussdaten, um zu bestimmen, ob die gesammelten Flussdaten eine potentielle Intrusionsaktivität angeben; Halten eines Betreffindexwertes, der einem Host (110, 120, 130) zugeordnet ist; Einstellen des Betreffindexwertes in Reaktion auf eine Bestimmung, dass die gesammelten Flussdaten eine potentielle Intrusionsaktivität angeben; und Ausgeben eines Alarmsignals, sobald der Betreffindexwert einen Alarmschwellenwert überschritten hat.
  2. Verfahren nach Anspruch 1, bei dem der Fluss aus den Paketen (101) besteht, die zwischen zwei Hosts (110, 120, 130) ausgetauscht werden, die einem einzigen Dienst zugeordnet sind.
  3. Verfahren nach Anspruch 1 oder 2, bei dem das Alarmsignal eine Firewall zum Filtern von von einem Host (110, 120, 130) gesendeten Paketen aktualisiert.
  4. Verfahren nach Anspruch 1, 2 oder 3, bei dem das Alarmsignal eine Meldung an den Netzadministrator erzeugt.
  5. Verfahren nach einem vorhergehenden Anspruch, bei dem die Betreffindexwert-Einstellung die Hinzufügung eines vorgegebenen festen Wertes ist.
  6. Verfahren nach einem der Ansprüche 1 bis 4, bei dem die Betreffindexwert-Einstellung auf einer Wahrscheinlichkeit, dass der Fluss für Datenaustauschvorgänge nicht normal war, basiert.
  7. Verfahren nach einem vorhergehenden Anspruch, bei dem der Fluss aus den Paketen (101) besteht, die zwischen zwei Internetprotokoll-Adressen ausgetauscht werden, wobei wenigstens ein Port konstant bleibt.
  8. Verfahren nach einem vorhergehenden Anspruch, das ferner das Halten einer Host-Struktur (166), die den Betreffindexwert enthält, umfasst.
  9. System zum Analysieren von Netzkommunikationsverkehr, das umfasst: eine Verarbeitungseinrichtung (155), die so betreibbar ist, dass sie Pakete (101) in Flüsse klassifiziert, Flussdaten aus Paketanfangsblock-Informationen sammelt, gesammelte Flussdaten analysiert, um zu bestimmen, ob die gesammelten Flussdaten eine potentielle Intrusionsaktivität angeben, einen Betreffindexwert hält, der einem Host (110, 120, 130) zugeordnet ist, den Betreffindexwert in Reaktion auf eine Bestimmung, dass gesammelte Flussdaten eine potentielle Intrusionsaktivität angeben, einstellt und ein Alarmsignal erzeugt, sobald der Betreffindexwert einen Alarmschwellenwert überschritten hat.
  10. System nach Anspruch 9, das ferner ein Kommunikationssystem umfasst, das mit der Verarbeitungseinrichtung (155) gekoppelt und so betreibbar ist, dass es Pakete (101) von einem Host (110, 120, 130) zu einem weiteren Host (110, 120, 130) sendet.
  11. System nach Anspruch 9 oder 10, das ferner umfasst: einen Speicher, der mit der Verarbeitungseinrichtung (155) gekoppelt und so betreibbar ist, dass er die Flussdaten speichert; eine Datenbank, die mit der Verarbeitungseinrichtung (155) gekoppelt und so betreibbar ist, dass sie Protokolldateien speichert; und eine Netzschnittstelle, die mit der Verarbeitungseinrichtung (155) gekoppelt und so betreibbar ist, dass sie Netzverkehr überwacht.
  12. System nach Anspruch 9, 10 oder 11, bei der die Betreffindexwert-Einstellung das Hinzufügen eines vorgegebenen festen Wertes ist.
  13. System nach Anspruch 9, 10 oder 11, bei dem die Betreffindexwert-Einstellung auf einer Wahrscheinlichkeit, dass der Fluss für Datenaustauschvorgänge nicht normal war, basiert.
DE60124295T 2000-11-30 2001-11-30 Flussbasierte erfassung eines eindringens in ein netzwerk Active DE60124295T8 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US25026100P 2000-11-30 2000-11-30
US250261P 2000-11-30
US26519401P 2001-01-31 2001-01-31
US265194P 2001-01-31
PCT/US2001/045275 WO2002045380A2 (en) 2000-11-30 2001-11-30 Flow-based detection of network intrusions

Publications (3)

Publication Number Publication Date
DE60124295D1 DE60124295D1 (de) 2006-12-14
DE60124295T2 true DE60124295T2 (de) 2007-05-31
DE60124295T8 DE60124295T8 (de) 2007-12-06

Family

ID=26940735

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60124295T Active DE60124295T8 (de) 2000-11-30 2001-11-30 Flussbasierte erfassung eines eindringens in ein netzwerk

Country Status (7)

Country Link
US (1) US7185368B2 (de)
EP (1) EP1338130B1 (de)
AT (1) ATE344573T1 (de)
AU (2) AU2002230541B2 (de)
CA (1) CA2430571C (de)
DE (1) DE60124295T8 (de)
WO (1) WO2002045380A2 (de)

Families Citing this family (293)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073198B1 (en) 1999-08-26 2006-07-04 Ncircle Network Security, Inc. Method and system for detecting a vulnerability in a network
US6957348B1 (en) 2000-01-10 2005-10-18 Ncircle Network Security, Inc. Interoperability of vulnerability and intrusion detection systems
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
US7181769B1 (en) 2000-08-25 2007-02-20 Ncircle Network Security, Inc. Network security system having a device profiler communicatively coupled to a traffic monitor
US9280667B1 (en) 2000-08-25 2016-03-08 Tripwire, Inc. Persistent host determination
US20020032793A1 (en) * 2000-09-08 2002-03-14 The Regents Of The University Of Michigan Method and system for reconstructing a path taken by undesirable network traffic through a computer network from a source of the traffic
US6988148B1 (en) 2001-01-19 2006-01-17 Cisco Technology, Inc. IP pool management utilizing an IP pool MIB
GB2372673B (en) * 2001-02-27 2003-05-28 3Com Corp Apparatus and method for processing data relating to events on a network
US7788345B1 (en) 2001-06-04 2010-08-31 Cisco Technology, Inc. Resource allocation and reclamation for on-demand address pools
US7308715B2 (en) 2001-06-13 2007-12-11 Mcafee, Inc. Protocol-parsing state machine and method of using same
US20040187032A1 (en) * 2001-08-07 2004-09-23 Christoph Gels Method, data carrier, computer system and computer progamme for the identification and defence of attacks in server of network service providers and operators
US7062553B2 (en) * 2001-12-04 2006-06-13 Trend Micro, Inc. Virus epidemic damage control system and method for network environment
US20030105973A1 (en) * 2001-12-04 2003-06-05 Trend Micro Incorporated Virus epidemic outbreak command system and method using early warning monitors in a network environment
DE60210408T2 (de) * 2002-01-18 2006-10-19 Stonesoft Corp. Ueberwachung des Datenflusses zur Verbesserung des Netzwerksicherheitsschutzes
US7225343B1 (en) * 2002-01-25 2007-05-29 The Trustees Of Columbia University In The City Of New York System and methods for adaptive model generation for detecting intrusions in computer systems
US8209756B1 (en) 2002-02-08 2012-06-26 Juniper Networks, Inc. Compound attack detection in a computer network
US7734752B2 (en) * 2002-02-08 2010-06-08 Juniper Networks, Inc. Intelligent integrated network security device for high-availability applications
US8370936B2 (en) 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
US7650634B2 (en) 2002-02-08 2010-01-19 Juniper Networks, Inc. Intelligent integrated network security device
US8561167B2 (en) 2002-03-08 2013-10-15 Mcafee, Inc. Web reputation scoring
US8578480B2 (en) 2002-03-08 2013-11-05 Mcafee, Inc. Systems and methods for identifying potentially malicious messages
US7096498B2 (en) 2002-03-08 2006-08-22 Cipher Trust, Inc. Systems and methods for message threat management
US6941467B2 (en) * 2002-03-08 2005-09-06 Ciphertrust, Inc. Systems and methods for adaptive message interrogation through multiple queues
US7870203B2 (en) 2002-03-08 2011-01-11 Mcafee, Inc. Methods and systems for exposing messaging reputation to an end user
US8132250B2 (en) 2002-03-08 2012-03-06 Mcafee, Inc. Message profiling systems and methods
US20060015942A1 (en) 2002-03-08 2006-01-19 Ciphertrust, Inc. Systems and methods for classification of messaging entities
US7694128B2 (en) 2002-03-08 2010-04-06 Mcafee, Inc. Systems and methods for secure communication delivery
US7693947B2 (en) 2002-03-08 2010-04-06 Mcafee, Inc. Systems and methods for graphically displaying messaging traffic
US7903549B2 (en) 2002-03-08 2011-03-08 Secure Computing Corporation Content-based policy compliance systems and methods
US7124438B2 (en) 2002-03-08 2006-10-17 Ciphertrust, Inc. Systems and methods for anomaly detection in patterns of monitored communications
US7042852B2 (en) * 2002-05-20 2006-05-09 Airdefense, Inc. System and method for wireless LAN dynamic channel change with honeypot trap
US7058796B2 (en) 2002-05-20 2006-06-06 Airdefense, Inc. Method and system for actively defending a wireless LAN against attacks
ES2558302T3 (es) * 2002-05-20 2016-02-03 Airdefense, Inc. Sistema para manejar la actividad de una red inalámbrica
US7322044B2 (en) * 2002-06-03 2008-01-22 Airdefense, Inc. Systems and methods for automated network policy exception detection and correction
GB2401280B (en) 2003-04-29 2006-02-08 Hewlett Packard Development Co Propagation of viruses through an information technology network
GB2394382A (en) 2002-10-19 2004-04-21 Hewlett Packard Co Monitoring the propagation of viruses through an Information Technology network
GB2391419A (en) 2002-06-07 2004-02-04 Hewlett Packard Co Restricting the propagation of a virus within a network
TWI244297B (en) 2002-06-12 2005-11-21 Thomson Licensing Sa Apparatus and method adapted to communicate via a network
US7420929B1 (en) 2002-07-02 2008-09-02 Juniper Networks, Inc. Adaptive network flow analysis
US7752665B1 (en) * 2002-07-12 2010-07-06 TCS Commercial, Inc. Detecting probes and scans over high-bandwidth, long-term, incomplete network traffic information using limited memory
WO2004008700A2 (en) * 2002-07-12 2004-01-22 The Penn State Research Foundation Real-time packet traceback and associated packet marking strategies
US8140660B1 (en) 2002-07-19 2012-03-20 Fortinet, Inc. Content pattern recognition language processor and methods of using the same
JP3996010B2 (ja) 2002-08-01 2007-10-24 株式会社日立製作所 ストレージネットワークシステム、管理装置、管理方法及びプログラム
US7251215B1 (en) 2002-08-26 2007-07-31 Juniper Networks, Inc. Adaptive network router
US7313100B1 (en) 2002-08-26 2007-12-25 Juniper Networks, Inc. Network device having accounting service card
JP3773194B2 (ja) * 2002-09-30 2006-05-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信監視システム及びその方法、情報処理方法並びにプログラム
WO2004034229A2 (en) 2002-10-10 2004-04-22 Rocksteady Networks, Inc. System and method for providing access control
US8479057B2 (en) * 2002-11-04 2013-07-02 Riverbed Technology, Inc. Aggregator for connection based anomaly detection
US8504879B2 (en) * 2002-11-04 2013-08-06 Riverbed Technology, Inc. Connection based anomaly detection
US8191136B2 (en) * 2002-11-04 2012-05-29 Riverbed Technology, Inc. Connection based denial of service detection
US7454499B2 (en) * 2002-11-07 2008-11-18 Tippingpoint Technologies, Inc. Active network defense system and method
US7359930B2 (en) * 2002-11-21 2008-04-15 Arbor Networks System and method for managing computer networks
US7500266B1 (en) * 2002-12-03 2009-03-03 Bbn Technologies Corp. Systems and methods for detecting network intrusions
US9503470B2 (en) 2002-12-24 2016-11-22 Fred Herz Patents, LLC Distributed agent based model for security monitoring and response
US8327442B2 (en) 2002-12-24 2012-12-04 Herz Frederick S M System and method for a distributed application and network security system (SDI-SCAM)
US20040193943A1 (en) * 2003-02-13 2004-09-30 Robert Angelino Multiparameter network fault detection system using probabilistic and aggregation analysis
US7895649B1 (en) 2003-04-04 2011-02-22 Raytheon Company Dynamic rule generation for an enterprise intrusion detection system
US7293238B1 (en) 2003-04-04 2007-11-06 Raytheon Company Graphical user interface for an enterprise intrusion detection system
US7356585B1 (en) * 2003-04-04 2008-04-08 Raytheon Company Vertically extensible intrusion detection system and method
US8027841B2 (en) * 2003-04-09 2011-09-27 Holloway J Michael Centralized server obtaining security intelligence knowledge by analyzing VoIP bit-stream
US7359676B2 (en) * 2003-04-21 2008-04-15 Airdefense, Inc. Systems and methods for adaptively scanning for wireless communications
US7522908B2 (en) * 2003-04-21 2009-04-21 Airdefense, Inc. Systems and methods for wireless network site survey
US7324804B2 (en) * 2003-04-21 2008-01-29 Airdefense, Inc. Systems and methods for dynamic sensor discovery and selection
US7796515B2 (en) 2003-04-29 2010-09-14 Hewlett-Packard Development Company, L.P. Propagation of viruses through an information technology network
GB2401281B (en) 2003-04-29 2006-02-08 Hewlett Packard Development Co Propagation of viruses through an information technology network
US7308716B2 (en) * 2003-05-20 2007-12-11 International Business Machines Corporation Applying blocking measures progressively to malicious network traffic
US7710867B1 (en) * 2003-05-23 2010-05-04 F5 Networks, Inc. System and method for managing traffic to a probe
WO2004109793A1 (ja) * 2003-05-30 2004-12-16 Ebara Corporation 試料検査装置及び方法並びに該試料検査装置及び方法を用いたデバイス製造方法
BR0318459A (pt) 2003-08-11 2006-09-12 Telecom Italia Spa sistema de detecção de intrusão e método para detectar uso não autorizado de uma rede de comunicação
US7624438B2 (en) 2003-08-20 2009-11-24 Eric White System and method for providing a secure connection between networked computers
US7725936B2 (en) * 2003-10-31 2010-05-25 International Business Machines Corporation Host-based network intrusion detection systems
JP4516306B2 (ja) 2003-11-28 2010-08-04 株式会社日立製作所 ストレージネットワークの性能情報を収集する方法
DE60315047D1 (de) * 2003-12-19 2007-08-30 Sgs Thomson Microelectronics Halbleiterschaltung zur Begrenzung von Datenzugang
US9032095B1 (en) 2004-01-06 2015-05-12 Juniper Networks, Inc. Routing device having multiple logical routers
US7895448B1 (en) * 2004-02-18 2011-02-22 Symantec Corporation Risk profiling
US8543710B2 (en) * 2004-03-10 2013-09-24 Rpx Corporation Method and system for controlling network access
US7610621B2 (en) 2004-03-10 2009-10-27 Eric White System and method for behavior-based firewall modeling
US7590728B2 (en) * 2004-03-10 2009-09-15 Eric White System and method for detection of aberrant network behavior by clients of a network access gateway
US20050204022A1 (en) * 2004-03-10 2005-09-15 Keith Johnston System and method for network management XML architectural abstraction
US7665130B2 (en) 2004-03-10 2010-02-16 Eric White System and method for double-capture/double-redirect to a different location
US7509625B2 (en) 2004-03-10 2009-03-24 Eric White System and method for comprehensive code generation for system management
WO2005093576A1 (en) * 2004-03-28 2005-10-06 Robert Iakobashvili Visualization of packet network performance, analysis and optimization for design
US7966658B2 (en) * 2004-04-08 2011-06-21 The Regents Of The University Of California Detecting public network attacks using signatures and fast content analysis
US7673049B2 (en) * 2004-04-19 2010-03-02 Brian Dinello Network security system
US7225468B2 (en) * 2004-05-07 2007-05-29 Digital Security Networks, Llc Methods and apparatus for computer network security using intrusion detection and prevention
CA2466567C (en) * 2004-05-07 2011-07-19 Sandvine Incorporated A system and method for detecting sources of abnormal computer network messages
US8074277B2 (en) * 2004-06-07 2011-12-06 Check Point Software Technologies, Inc. System and methodology for intrusion detection and prevention
GB2415578B (en) * 2004-06-23 2007-07-04 Hewlett Packard Development Co Restricting virus access to a network
US7523504B2 (en) * 2004-08-02 2009-04-21 Netiq Corporation Methods, systems and computer program products for evaluating security of a network environment
US7546635B1 (en) 2004-08-11 2009-06-09 Juniper Networks, Inc. Stateful firewall protection for control plane traffic within a network device
US8176126B2 (en) 2004-08-26 2012-05-08 International Business Machines Corporation System, method and program to limit rate of transferring messages from suspected spammers
US7706273B2 (en) * 2004-09-30 2010-04-27 Riverbed Technology, Inc. Port tracking on dynamically negotiated ports
US20060101516A1 (en) * 2004-10-12 2006-05-11 Sushanthan Sudaharan Honeynet farms as an early warning system for production networks
US7835361B1 (en) * 2004-10-13 2010-11-16 Sonicwall, Inc. Method and apparatus for identifying data patterns in a file
US7600257B2 (en) 2004-10-13 2009-10-06 Sonicwall, Inc. Method and an apparatus to perform multiple packet payloads analysis
US8196199B2 (en) * 2004-10-19 2012-06-05 Airdefense, Inc. Personal wireless monitoring agent
US8635690B2 (en) * 2004-11-05 2014-01-21 Mcafee, Inc. Reputation based message processing
US7607170B2 (en) 2004-12-22 2009-10-20 Radware Ltd. Stateful attack protection
US7577992B2 (en) * 2005-01-14 2009-08-18 Microsoft Corporation Software security based on control flow integrity
US7937755B1 (en) * 2005-01-27 2011-05-03 Juniper Networks, Inc. Identification of network policy violations
US7810151B1 (en) 2005-01-27 2010-10-05 Juniper Networks, Inc. Automated change detection within a network environment
US7809826B1 (en) 2005-01-27 2010-10-05 Juniper Networks, Inc. Remote aggregation of network traffic profiling data
US7769851B1 (en) 2005-01-27 2010-08-03 Juniper Networks, Inc. Application-layer monitoring and profiling network traffic
JP4170299B2 (ja) * 2005-01-31 2008-10-22 独立行政法人 宇宙航空研究開発機構 通信状態遷移モニタ方法及びこれを利用した通信状態遷移モニタ装置
US7797411B1 (en) 2005-02-02 2010-09-14 Juniper Networks, Inc. Detection and prevention of encapsulated network attacks using an intermediate device
WO2006130830A2 (en) * 2005-06-02 2006-12-07 Georgia Tech Research Corporation System and method for measuring traffic and flow matrices
US7937480B2 (en) 2005-06-02 2011-05-03 Mcafee, Inc. Aggregation of reputation data
US7877803B2 (en) * 2005-06-27 2011-01-25 Hewlett-Packard Development Company, L.P. Automated immune response for a computer
US8572733B1 (en) 2005-07-06 2013-10-29 Raytheon Company System and method for active data collection in a network security system
US7746862B1 (en) 2005-08-02 2010-06-29 Juniper Networks, Inc. Packet processing in a multiple processor system
US7908655B1 (en) * 2005-08-16 2011-03-15 Sprint Communications Company L.P. Connectionless port scan detection on a network
US7950058B1 (en) 2005-09-01 2011-05-24 Raytheon Company System and method for collaborative information security correlation in low bandwidth environments
US7352280B1 (en) 2005-09-01 2008-04-01 Raytheon Company System and method for intruder tracking using advanced correlation in a network security system
US8224761B1 (en) 2005-09-01 2012-07-17 Raytheon Company System and method for interactive correlation rule design in a network security system
US8079083B1 (en) * 2005-09-02 2011-12-13 Symantec Corporation Method and system for recording network traffic and predicting potential security events
US7716340B2 (en) * 2005-09-30 2010-05-11 Lycos, Inc. Restricting access to a shared resource
US20070076611A1 (en) * 2005-10-05 2007-04-05 Fujitsu Limited Detecting anomalies from acceptable traffic affected by anomalous traffic
US20070078589A1 (en) * 2005-10-05 2007-04-05 Antonio Magnaghi Detecting anomalies internal to a network from traffic external to the network
US8566928B2 (en) 2005-10-27 2013-10-22 Georgia Tech Research Corporation Method and system for detecting and responding to attacking networks
US7653670B2 (en) * 2005-11-28 2010-01-26 Nec Laboratories America, Inc. Storage-efficient and collision-free hash-based packet processing architecture and method
US7849185B1 (en) 2006-01-10 2010-12-07 Raytheon Company System and method for attacker attribution in a network security system
US7715800B2 (en) 2006-01-13 2010-05-11 Airdefense, Inc. Systems and methods for wireless intrusion detection using spectral analysis
US7787390B1 (en) 2006-01-30 2010-08-31 Marvell International Ltd. Custom automatic remote monitoring for network devices
WO2007099507A2 (en) * 2006-03-02 2007-09-07 International Business Machines Corporation Operating a network monitoring entity
US20070218874A1 (en) * 2006-03-17 2007-09-20 Airdefense, Inc. Systems and Methods For Wireless Network Forensics
US7971251B2 (en) * 2006-03-17 2011-06-28 Airdefense, Inc. Systems and methods for wireless security using distributed collaboration of wireless clients
US20090021343A1 (en) * 2006-05-10 2009-01-22 Airdefense, Inc. RFID Intrusion Protection System and Methods
US8001597B2 (en) 2006-05-15 2011-08-16 Fair Isaac Corporation Comprehensive online fraud detection system and method
US7697418B2 (en) * 2006-06-12 2010-04-13 Alcatel Lucent Method for estimating the fan-in and/or fan-out of a node
US7970013B2 (en) 2006-06-16 2011-06-28 Airdefense, Inc. Systems and methods for wireless network content filtering
US7873833B2 (en) * 2006-06-29 2011-01-18 Cisco Technology, Inc. Detection of frequent and dispersed invariants
EP1879350A1 (de) * 2006-07-10 2008-01-16 Abb Research Ltd. Verteiltes Computersystem mit LAN
US20080047009A1 (en) * 2006-07-20 2008-02-21 Kevin Overcash System and method of securing networks against applications threats
US20080034424A1 (en) * 2006-07-20 2008-02-07 Kevin Overcash System and method of preventing web applications threats
US7934253B2 (en) * 2006-07-20 2011-04-26 Trustwave Holdings, Inc. System and method of securing web applications across an enterprise
US8281392B2 (en) * 2006-08-11 2012-10-02 Airdefense, Inc. Methods and systems for wired equivalent privacy and Wi-Fi protected access protection
AU2007351385B2 (en) * 2006-11-14 2013-05-16 Fmr Llc Detecting and interdicting fraudulent activity on a network
US8811156B1 (en) 2006-11-14 2014-08-19 Raytheon Company Compressing n-dimensional data
US7856494B2 (en) 2006-11-14 2010-12-21 Fmr Llc Detecting and interdicting fraudulent activity on a network
US8145560B2 (en) 2006-11-14 2012-03-27 Fmr Llc Detecting fraudulent activity on a network
US8180873B2 (en) 2006-11-14 2012-05-15 Fmr Llc Detecting fraudulent activity
US7779156B2 (en) 2007-01-24 2010-08-17 Mcafee, Inc. Reputation based load balancing
US8214497B2 (en) 2007-01-24 2012-07-03 Mcafee, Inc. Multi-dimensional reputation scoring
US8179798B2 (en) 2007-01-24 2012-05-15 Mcafee, Inc. Reputation based connection throttling
US8763114B2 (en) 2007-01-24 2014-06-24 Mcafee, Inc. Detecting image spam
US7949716B2 (en) 2007-01-24 2011-05-24 Mcafee, Inc. Correlation and analysis of entity attributes
US8391288B2 (en) * 2007-01-31 2013-03-05 Hewlett-Packard Development Company, L.P. Security system for protecting networks from vulnerability exploits
CA2714549A1 (en) * 2007-02-09 2008-08-14 Smobile Systems, Inc. Off-line mms malware scanning system and method
US7885976B2 (en) * 2007-02-23 2011-02-08 International Business Machines Corporation Identification, notification, and control of data access quantity and patterns
US8863286B1 (en) 2007-06-05 2014-10-14 Sonicwall, Inc. Notification for reassembly-free file scanning
US7991723B1 (en) 2007-07-16 2011-08-02 Sonicwall, Inc. Data pattern analysis using optimized deterministic finite automaton
US8291495B1 (en) * 2007-08-08 2012-10-16 Juniper Networks, Inc. Identifying applications for intrusion detection systems
US20090070880A1 (en) * 2007-09-11 2009-03-12 Harris David E Methods and apparatus for validating network alarms
EP2203860A2 (de) * 2007-09-21 2010-07-07 Breach Security, Inc. System und verfahren zur detektion von sicherheitsdefekten in anwendungen
US8185930B2 (en) 2007-11-06 2012-05-22 Mcafee, Inc. Adjusting filter or classification control settings
US8045458B2 (en) 2007-11-08 2011-10-25 Mcafee, Inc. Prioritizing network traffic
US8112800B1 (en) 2007-11-08 2012-02-07 Juniper Networks, Inc. Multi-layered application classification and decoding
US8180886B2 (en) * 2007-11-15 2012-05-15 Trustwave Holdings, Inc. Method and apparatus for detection of information transmission abnormalities
US8160975B2 (en) 2008-01-25 2012-04-17 Mcafee, Inc. Granular support vector machine with random granularity
US7792922B2 (en) * 2008-03-05 2010-09-07 Caterpillar Inc. Systems and methods for managing health of a client system
US8589503B2 (en) 2008-04-04 2013-11-19 Mcafee, Inc. Prioritizing network traffic
US8339959B1 (en) 2008-05-20 2012-12-25 Juniper Networks, Inc. Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane
US20090327971A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Informational elements in threat models
US8856926B2 (en) 2008-06-27 2014-10-07 Juniper Networks, Inc. Dynamic policy provisioning within network security devices
US10027688B2 (en) 2008-08-11 2018-07-17 Damballa, Inc. Method and system for detecting malicious and/or botnet-related domain names
US8726382B2 (en) * 2008-08-20 2014-05-13 The Boeing Company Methods and systems for automated detection and tracking of network attacks
US7903566B2 (en) * 2008-08-20 2011-03-08 The Boeing Company Methods and systems for anomaly detection using internet protocol (IP) traffic conversation data
US8813220B2 (en) * 2008-08-20 2014-08-19 The Boeing Company Methods and systems for internet protocol (IP) packet header collection and storage
US7995496B2 (en) * 2008-08-20 2011-08-09 The Boeing Company Methods and systems for internet protocol (IP) traffic conversation detection and storage
US8762515B2 (en) 2008-08-20 2014-06-24 The Boeing Company Methods and systems for collection, tracking, and display of near real time multicast data
US8009559B1 (en) * 2008-08-28 2011-08-30 Juniper Networks, Inc. Global flow tracking system
US8793339B2 (en) * 2008-08-29 2014-07-29 Red Hat, Inc. Facilitating client server interaction
US8793398B2 (en) * 2008-08-29 2014-07-29 Red Hat, Inc. Facilitating client server interaction
US8213308B2 (en) 2008-09-11 2012-07-03 Juniper Networks, Inc. Methods and apparatus for defining a flow control signal related to a transmit queue
US8325749B2 (en) * 2008-12-24 2012-12-04 Juniper Networks, Inc. Methods and apparatus for transmission of groups of cells via a switch fabric
US8218442B2 (en) 2008-09-11 2012-07-10 Juniper Networks, Inc. Methods and apparatus for flow-controllable multi-staged queues
US8955107B2 (en) * 2008-09-12 2015-02-10 Juniper Networks, Inc. Hierarchical application of security services within a computer network
US8220056B2 (en) * 2008-09-23 2012-07-10 Savvis, Inc. Threat management system and method
US20110238587A1 (en) * 2008-09-23 2011-09-29 Savvis, Inc. Policy management system and method
US8813221B1 (en) 2008-09-25 2014-08-19 Sonicwall, Inc. Reassembly-free deep packet inspection on multi-core hardware
US7855967B1 (en) * 2008-09-26 2010-12-21 Tellabs San Jose, Inc. Method and apparatus for providing line rate netflow statistics gathering
US8607347B2 (en) * 2008-09-29 2013-12-10 Sophos Limited Network stream scanning facility
US8572717B2 (en) 2008-10-09 2013-10-29 Juniper Networks, Inc. Dynamic access control policy with port restrictions for a network security appliance
US8254255B2 (en) * 2008-12-29 2012-08-28 Juniper Networks, Inc. Flow-control in a switch fabric
US8531978B2 (en) 2009-02-02 2013-09-10 Level 3 Communications, Llc Network cost analysis
US8838780B2 (en) 2009-02-02 2014-09-16 Level 3 Communications, Llc Analysis of network traffic
US9398043B1 (en) 2009-03-24 2016-07-19 Juniper Networks, Inc. Applying fine-grain policy action to encapsulated network attacks
NL2002694C2 (en) * 2009-04-01 2010-10-04 Univ Twente Method and system for alert classification in a computer network.
US20100293618A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Runtime analysis of software privacy issues
US20110131652A1 (en) * 2009-05-29 2011-06-02 Autotrader.Com, Inc. Trained predictive services to interdict undesired website accesses
US9769149B1 (en) 2009-07-02 2017-09-19 Sonicwall Inc. Proxy-less secure sockets layer (SSL) data inspection
US20110023088A1 (en) * 2009-07-23 2011-01-27 Electronics And Telecommunications Research Institute Flow-based dynamic access control system and method
US8369345B1 (en) 2009-11-13 2013-02-05 Juniper Networks, Inc. Multi-router system having shared network interfaces
US9264321B2 (en) 2009-12-23 2016-02-16 Juniper Networks, Inc. Methods and apparatus for tracking data flow based on flow state values
US8949987B2 (en) * 2010-01-06 2015-02-03 Alcatel Lucent Computer security process monitor
US8578497B2 (en) 2010-01-06 2013-11-05 Damballa, Inc. Method and system for detecting malware
US8826438B2 (en) 2010-01-19 2014-09-02 Damballa, Inc. Method and system for network-based detecting of malware from behavioral clustering
US9602439B2 (en) 2010-04-30 2017-03-21 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US8621638B2 (en) 2010-05-14 2013-12-31 Mcafee, Inc. Systems and methods for classification of messaging entities
US10187353B2 (en) * 2010-06-02 2019-01-22 Symantec Corporation Behavioral classification of network data flows
US9065773B2 (en) 2010-06-22 2015-06-23 Juniper Networks, Inc. Methods and apparatus for virtual channel flow control associated with a switch fabric
US8553710B1 (en) 2010-08-18 2013-10-08 Juniper Networks, Inc. Fibre channel credit-based link flow control overlay onto fibre channel over ethernet
US8509071B1 (en) 2010-10-06 2013-08-13 Juniper Networks, Inc. Multi-dimensional traffic management
US9660940B2 (en) 2010-12-01 2017-05-23 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US9032089B2 (en) 2011-03-09 2015-05-12 Juniper Networks, Inc. Methods and apparatus for path selection within a network based on flow duration
CN102761517B (zh) * 2011-04-25 2015-06-24 工业和信息化部电信传输研究所 一种高速网络的内容还原方法
KR20130030086A (ko) * 2011-09-16 2013-03-26 한국전자통신연구원 비정상 세션 연결 종료 행위를 통한 분산 서비스 거부 공격 방어 방법 및 장치
US8811183B1 (en) 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
US9251535B1 (en) 2012-01-05 2016-02-02 Juniper Networks, Inc. Offload of data transfer statistics from a mobile access gateway
US8976661B2 (en) * 2012-01-11 2015-03-10 Nec Laboratories America, Inc. Network self-protection
US9922190B2 (en) 2012-01-25 2018-03-20 Damballa, Inc. Method and system for detecting DGA-based malware
US10432587B2 (en) 2012-02-21 2019-10-01 Aventail Llc VPN deep packet inspection
RU2475836C1 (ru) * 2012-03-12 2013-02-20 Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Способ защиты вычислительных сетей
US10169575B1 (en) * 2012-03-14 2019-01-01 Symantec Corporation Systems and methods for preventing internal network attacks
EP2828752B1 (de) 2012-03-22 2020-04-29 Triad National Security, LLC Pfaderfassung zur erkennung anomaler subgraphen und nutzung von dns-anfragen und hostagenten zur anomalien-/änderungserkennung und für netzwerksituationsbewusstsein
US8995271B2 (en) * 2012-04-30 2015-03-31 Hewlett-Packard Development Company, L.P. Communications flow analysis
WO2013173565A1 (en) * 2012-05-16 2013-11-21 The Keyw Corporation Packet capture deep packet inspection sensor
FI20125761A (fi) * 2012-06-29 2013-12-30 Tellabs Oy Menetelmä ja laite datakehysmyrskyjen lähteiden ilmaisemiseksi
US9686169B2 (en) 2012-07-02 2017-06-20 Ixia Real-time highly accurate network latency measurement with low generated traffic or data requirements
US9392003B2 (en) 2012-08-23 2016-07-12 Raytheon Foreground Security, Inc. Internet security cyber threat reporting system and method
US10547674B2 (en) 2012-08-27 2020-01-28 Help/Systems, Llc Methods and systems for network flow analysis
US9894088B2 (en) 2012-08-31 2018-02-13 Damballa, Inc. Data mining to identify malicious activity
US10084806B2 (en) 2012-08-31 2018-09-25 Damballa, Inc. Traffic simulation to identify malicious activity
US9565213B2 (en) 2012-10-22 2017-02-07 Centripetal Networks, Inc. Methods and systems for protecting a secured network
US9137205B2 (en) 2012-10-22 2015-09-15 Centripetal Networks, Inc. Methods and systems for protecting a secured network
US8943600B2 (en) * 2012-10-26 2015-01-27 International Business Machines Corporation Weighted security analysis
US9203806B2 (en) 2013-01-11 2015-12-01 Centripetal Networks, Inc. Rule swapping in a packet network
US9124552B2 (en) 2013-03-12 2015-09-01 Centripetal Networks, Inc. Filtering network data transfers
US9094445B2 (en) 2013-03-15 2015-07-28 Centripetal Networks, Inc. Protecting networks from cyber attacks and overloading
US9571511B2 (en) 2013-06-14 2017-02-14 Damballa, Inc. Systems and methods for traffic classification
DE102013216847B4 (de) * 2013-08-23 2023-06-01 Siemens Mobility GmbH Verfahren, Vorrichtung und System zur Überwachung einer Sicherheits-Netzübergangseinheit
US9288221B2 (en) 2014-01-14 2016-03-15 Pfu Limited Information processing apparatus, method for determining unauthorized activity and computer-readable medium
CN103780610A (zh) * 2014-01-16 2014-05-07 绵阳师范学院 基于协议特征的网络数据恢复方法
CA2938318C (en) * 2014-01-30 2023-10-03 Nasdaq, Inc. Systems and methods for continuous active data security
US9565114B1 (en) * 2014-03-08 2017-02-07 Google Inc. Weighted load balancing using scaled parallel hashing
KR101761737B1 (ko) * 2014-05-20 2017-07-26 한국전자통신연구원 제어 시스템의 이상행위 탐지 시스템 및 방법
US9264370B1 (en) 2015-02-10 2016-02-16 Centripetal Networks, Inc. Correlating packets in communications networks
US9930065B2 (en) 2015-03-25 2018-03-27 University Of Georgia Research Foundation, Inc. Measuring, categorizing, and/or mitigating malware distribution paths
RO131470A2 (ro) 2015-04-10 2016-10-28 Ixia, A California Corporation Metode, sisteme şi suport citibil pe calculator pentru măsurarea întârzierii unei linii de comunicaţii unidirecţionale
US10019333B2 (en) 2015-04-16 2018-07-10 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for emulating network devices with different clocks
US9736804B2 (en) 2015-04-16 2017-08-15 Ixia Methods, systems, and computer readable media for synchronizing timing among network interface cards (NICS) in a network equipment test device
US9866576B2 (en) 2015-04-17 2018-01-09 Centripetal Networks, Inc. Rule-based network-threat detection
RO131471A2 (ro) 2015-04-21 2016-10-28 Ixia, A California Corporation Metode, sisteme şi suport citibil pe calculator pentru testarea calităţii tactului recuperat
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US9917753B2 (en) 2015-06-12 2018-03-13 Level 3 Communications, Llc Network operational flaw detection using metrics
US9813226B2 (en) 2015-08-05 2017-11-07 Ixia Modeling a clock
US9800595B2 (en) * 2015-09-21 2017-10-24 Ixia Methods, systems, and computer readable media for detecting physical link intrusions
US9917856B2 (en) 2015-12-23 2018-03-13 Centripetal Networks, Inc. Rule-based network-threat detection for encrypted communications
US10075416B2 (en) 2015-12-30 2018-09-11 Juniper Networks, Inc. Network session data sharing
US11729144B2 (en) 2016-01-04 2023-08-15 Centripetal Networks, Llc Efficient packet capture for cyber threat analysis
US10430442B2 (en) * 2016-03-09 2019-10-01 Symantec Corporation Systems and methods for automated classification of application network activity
RU2634211C1 (ru) 2016-07-06 2017-10-24 Общество с ограниченной ответственностью "Траст" Способ и система анализа протоколов взаимодействия вредоносных программ с центрами управления и выявления компьютерных атак
RU2649793C2 (ru) 2016-08-03 2018-04-04 ООО "Группа АйБи" Способ и система выявления удаленного подключения при работе на страницах веб-ресурса
US10263835B2 (en) * 2016-08-12 2019-04-16 Microsoft Technology Licensing, Llc Localizing network faults through differential analysis of TCP telemetry
RU2634209C1 (ru) 2016-09-19 2017-10-24 Общество с ограниченной ответственностью "Группа АйБи ТДС" Система и способ автогенерации решающих правил для систем обнаружения вторжений с обратной связью
US10666675B1 (en) 2016-09-27 2020-05-26 Ca, Inc. Systems and methods for creating automatic computer-generated classifications
RU2637477C1 (ru) 2016-12-29 2017-12-04 Общество с ограниченной ответственностью "Траст" Система и способ обнаружения фишинговых веб-страниц
RU2671991C2 (ru) 2016-12-29 2018-11-08 Общество с ограниченной ответственностью "Траст" Система и способ сбора информации для обнаружения фишинга
CN108322354B (zh) * 2017-01-18 2020-10-23 中国移动通信集团河南有限公司 一种偷跑流量账户识别方法及装置
US10230690B2 (en) * 2017-03-23 2019-03-12 International Business Machines Corporation Digital media content distribution blocking
US10609054B2 (en) 2017-04-07 2020-03-31 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for monitoring, adjusting, and utilizing latency associated with accessing distributed computing resources
US10425321B2 (en) 2017-04-25 2019-09-24 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for testing time sensitive network (TSN) elements
US10503899B2 (en) 2017-07-10 2019-12-10 Centripetal Networks, Inc. Cyberanalysis workflow acceleration
US10284526B2 (en) 2017-07-24 2019-05-07 Centripetal Networks, Inc. Efficient SSL/TLS proxy
US11233777B2 (en) 2017-07-24 2022-01-25 Centripetal Networks, Inc. Efficient SSL/TLS proxy
US10855705B2 (en) 2017-09-29 2020-12-01 Cisco Technology, Inc. Enhanced flow-based computer network threat detection
RU2689816C2 (ru) 2017-11-21 2019-05-29 ООО "Группа АйБи" Способ для классифицирования последовательности действий пользователя (варианты)
RU2680736C1 (ru) 2018-01-17 2019-02-26 Общество с ограниченной ответственностью "Группа АйБи ТДС" Сервер и способ для определения вредоносных файлов в сетевом трафике
RU2677368C1 (ru) 2018-01-17 2019-01-16 Общество С Ограниченной Ответственностью "Группа Айби" Способ и система для автоматического определения нечетких дубликатов видеоконтента
RU2676247C1 (ru) 2018-01-17 2018-12-26 Общество С Ограниченной Ответственностью "Группа Айби" Способ и компьютерное устройство для кластеризации веб-ресурсов
RU2668710C1 (ru) 2018-01-17 2018-10-02 Общество с ограниченной ответственностью "Группа АйБи ТДС" Вычислительное устройство и способ для обнаружения вредоносных доменных имен в сетевом трафике
RU2677361C1 (ru) 2018-01-17 2019-01-16 Общество с ограниченной ответственностью "Траст" Способ и система децентрализованной идентификации вредоносных программ
RU2681699C1 (ru) 2018-02-13 2019-03-12 Общество с ограниченной ответственностью "Траст" Способ и сервер для поиска связанных сетевых ресурсов
US10333898B1 (en) 2018-07-09 2019-06-25 Centripetal Networks, Inc. Methods and systems for efficient network protection
WO2020087039A1 (en) 2018-10-26 2020-04-30 Netography, Inc. Distributed network and security operations platform
RU2708508C1 (ru) 2018-12-17 2019-12-09 Общество с ограниченной ответственностью "Траст" Способ и вычислительное устройство для выявления подозрительных пользователей в системах обмена сообщениями
RU2701040C1 (ru) 2018-12-28 2019-09-24 Общество с ограниченной ответственностью "Траст" Способ и вычислительное устройство для информирования о вредоносных веб-ресурсах
US10965392B2 (en) 2019-01-25 2021-03-30 Keysight Technologies, Inc. Active network tap supporting time sensitive network (TSN) standards
US11563768B2 (en) 2019-01-31 2023-01-24 Keysight Technologies, Inc. Methods, systems, and computer readable media for detecting and mitigating effects of timing attacks in time sensitive networks
US11381459B2 (en) * 2019-08-05 2022-07-05 Sk Planet Co., Ltd. Service providing system and method for preventing hidden camera, service providing apparatus therefor, and non-transitory computer readable medium having computer program recorded thereon
US11546354B2 (en) * 2019-11-26 2023-01-03 Kyndryl, Inc. Network shutdown for cyber security
RU2728497C1 (ru) 2019-12-05 2020-07-29 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система определения принадлежности программного обеспечения по его машинному коду
RU2728498C1 (ru) 2019-12-05 2020-07-29 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система определения принадлежности программного обеспечения по его исходному коду
RU2743974C1 (ru) 2019-12-19 2021-03-01 Общество с ограниченной ответственностью "Группа АйБи ТДС" Система и способ сканирования защищенности элементов сетевой архитектуры
SG10202001963TA (en) 2020-03-04 2021-10-28 Group Ib Global Private Ltd System and method for brand protection based on the search results
FR3111442B1 (fr) * 2020-06-10 2023-07-28 Serenicity Dispositif d’analyse du risque informatique d’un ensemble de périphériques connectés sur un réseau
US11475090B2 (en) 2020-07-15 2022-10-18 Group-Ib Global Private Limited Method and system for identifying clusters of affiliated web resources
RU2743619C1 (ru) 2020-08-06 2021-02-20 Общество с ограниченной ответственностью "Группа АйБи ТДС" Способ и система генерации списка индикаторов компрометации
US11316823B2 (en) 2020-08-27 2022-04-26 Centripetal Networks, Inc. Methods and systems for efficient virtualization of inline transparent computer networking devices
US11362996B2 (en) 2020-10-27 2022-06-14 Centripetal Networks, Inc. Methods and systems for efficient adaptive logging of cyber threat incidents
CN112929362B (zh) * 2021-02-04 2023-01-20 广东电网有限责任公司广州供电局 一种探针装置、前端报文处理方法及无线通信管理系统
US11159546B1 (en) 2021-04-20 2021-10-26 Centripetal Networks, Inc. Methods and systems for efficient threat context-aware packet filtering for network protection
CN115103000B (zh) * 2022-06-20 2023-09-26 北京鼎兴达信息科技股份有限公司 基于NetStream对铁路数据网进行业务会话还原和分析方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437244A (en) * 1991-09-16 1995-08-01 Agri-Engineering, Inc. Ball float for a watering tank
US5557686A (en) * 1993-01-13 1996-09-17 University Of Alabama Method and apparatus for verification of a computer user's identification, based on keystroke characteristics
FR2706652B1 (fr) 1993-06-09 1995-08-18 Alsthom Cge Alcatel Dispositif de détection d'intrusions et d'usagers suspects pour ensemble informatique et système de sécurité comportant un tel dispositif.
US5557742A (en) 1994-03-07 1996-09-17 Haystack Labs, Inc. Method and system for detecting intrusion into and misuse of a data processing system
US5825750A (en) * 1996-03-29 1998-10-20 Motorola Method and apparatus for maintaining security in a packetized data communications network
US5970227A (en) 1996-04-30 1999-10-19 International Business Machines Corp. Wireless proximity detector security feature
US6119236A (en) * 1996-10-07 2000-09-12 Shipley; Peter M. Intelligent network security device and method
US6453345B2 (en) * 1996-11-06 2002-09-17 Datadirect Networks, Inc. Network security and surveillance system
US5991881A (en) 1996-11-08 1999-11-23 Harris Corporation Network surveillance system
US5796942A (en) * 1996-11-21 1998-08-18 Computer Associates International, Inc. Method and apparatus for automated network-wide surveillance and security breach intervention
US6578077B1 (en) * 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
US6182226B1 (en) 1998-03-18 2001-01-30 Secure Computing Corporation System and method for controlling interactions between networks
US6275942B1 (en) 1998-05-20 2001-08-14 Network Associates, Inc. System, method and computer program product for automatic response to computer system misuse using active response modules
US6321338B1 (en) 1998-11-09 2001-11-20 Sri International Network surveillance
US6370648B1 (en) * 1998-12-08 2002-04-09 Visa International Service Association Computer network intrusion detection
FR2790348B1 (fr) * 1999-02-26 2001-05-25 Thierry Grenot Systeme et procede de mesure des durees de transfert et des taux de pertes dans des reseaux de telecommunication haut-debit
US6628654B1 (en) * 1999-07-01 2003-09-30 Cisco Technology, Inc. Dispatching packets from a forwarding agent using tag switching
US6671811B1 (en) * 1999-10-25 2003-12-30 Visa Internation Service Association Features generation for use in computer network intrusion detection
US6363489B1 (en) * 1999-11-29 2002-03-26 Forescout Technologies Inc. Method for automatic intrusion detection and deflection in a network
US20020133586A1 (en) * 2001-01-16 2002-09-19 Carter Shanklin Method and device for monitoring data traffic and preventing unauthorized access to a network
US20020104017A1 (en) * 2001-01-30 2002-08-01 Rares Stefan Firewall system for protecting network elements connected to a public network
US20040187032A1 (en) * 2001-08-07 2004-09-23 Christoph Gels Method, data carrier, computer system and computer progamme for the identification and defence of attacks in server of network service providers and operators
US7565678B2 (en) * 2001-12-28 2009-07-21 At&T Intellectual Property, I, L.P. Methods and devices for discouraging unauthorized modifications to set top boxes and to gateways

Also Published As

Publication number Publication date
DE60124295T8 (de) 2007-12-06
DE60124295D1 (de) 2006-12-14
AU2002230541B2 (en) 2007-08-23
US20030105976A1 (en) 2003-06-05
WO2002045380A9 (en) 2002-09-19
ATE344573T1 (de) 2006-11-15
EP1338130A2 (de) 2003-08-27
CA2430571C (en) 2011-07-12
WO2002045380A3 (en) 2003-01-30
CA2430571A1 (en) 2002-06-06
EP1338130B1 (de) 2006-11-02
AU3054102A (en) 2002-06-11
US7185368B2 (en) 2007-02-27
WO2002045380A2 (en) 2002-06-06

Similar Documents

Publication Publication Date Title
DE60124295T2 (de) Flussbasierte erfassung eines eindringens in ein netzwerk
US7475426B2 (en) Flow-based detection of network intrusions
DE60016613T2 (de) Abschreckungssystem gegen aufschaltung und missbrauch
AU2002242043B2 (en) Network port profiling
US7290283B2 (en) Network port profiling
DE69929268T2 (de) Verfahren und System zur Überwachung und Steuerung der Netzzugriffe
DE60210408T2 (de) Ueberwachung des Datenflusses zur Verbesserung des Netzwerksicherheitsschutzes
DE102005010923B4 (de) System, computerverwendbares Medium und Verfahren zum Überwachen einer Netzwerkaktivität
US7644151B2 (en) Network service zone locking
DE10394008B4 (de) System und Verfahren zum Detektieren und Nachverfolgen von Denial of Service-Angriffen
DE602005000898T2 (de) Verfahrung und Apparatus für die Bereitstellung von mobilen Honeypots
US7895326B2 (en) Network service zone locking
DE10249888B4 (de) Knoten eines Netzes, das ein Einbruchserfassungssystem betreibt, Verfahren zum Ausführen einer Einbruchsprävention an einem Knoten eines Netzes, sowie computerlesbares Medium
DE602004004609T2 (de) Verfahren und Vorrichtung für die Modell-basierte Erkennung von Veränderungen von Netzwerkverkehr
AU2002230541A1 (en) Flow-based detection of network intrusions
AU2002242043A1 (en) Network port profiling
DE10249842A1 (de) Netz, Verfahren und computerlesbares Medium zum Verteilen von Sicherheitsaktualisierungen an ausgewählte Knoten auf einem Netz
DE10249887A1 (de) Verfahren, computerlesbares Medium und Knoten für ein dreischichtiges Einbruchspräventionssystem zur Erfassung von Netzausbeutungen
DE69929206T2 (de) System zur analyse der informationssicherheit
EP2975801A1 (de) Verfahren zum Erkennen eines Angriffs in einem Computernetzwerk
DE112021003315T5 (de) Schnelles identifizieren von verstössen und angriffen in netzwerkverkehrsmustern
EP2568681B1 (de) Netzwerkkommunikationsgerät zur Kommunikation über ein Kommunikationsnetzwerk
EP3059926A1 (de) Verfahren zum erkennen eines denial-of-service angriffs in einem kommunikationsnetzwerk
DE102023119629A1 (de) Systeme und verfahren zur erfassung von cyberbedrohungen basierend auf neuer und/oder aktualisierter cyber threat intelligence
Hoherz et al. Intrusion Detection Systeme in Firewalls

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: LANCOPE, INC., ALPHARETTA, GA., US

8364 No opposition during term of opposition