DE102006045349B3 - Bit pattern searching method for data packets on e.g. computer, involves performing logical AND- concatenation of contents of registers, and identifying coherent range with specific number of bits in concatenation result - Google Patents

Bit pattern searching method for data packets on e.g. computer, involves performing logical AND- concatenation of contents of registers, and identifying coherent range with specific number of bits in concatenation result Download PDF

Info

Publication number
DE102006045349B3
DE102006045349B3 DE200610045349 DE102006045349A DE102006045349B3 DE 102006045349 B3 DE102006045349 B3 DE 102006045349B3 DE 200610045349 DE200610045349 DE 200610045349 DE 102006045349 A DE102006045349 A DE 102006045349A DE 102006045349 B3 DE102006045349 B3 DE 102006045349B3
Authority
DE
Germany
Prior art keywords
register
bits
bit
data packets
mask
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 - Fee Related
Application number
DE200610045349
Other languages
German (de)
Inventor
Steffen Fries
Wolfgang Schmid
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE200610045349 priority Critical patent/DE102006045349B3/en
Application granted granted Critical
Publication of DE102006045349B3 publication Critical patent/DE102006045349B3/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Abstract

The method involves storing data packets with preset number of bits in respective registers having storage locations, where the packets are received from a network device. A logical AND- concatenation of contents of the registers is performed in a bit-by-bit manner by a logic device, and a result of the logical AND- concatenation is stored. A coherent range with a specific number of bits is identified in a result, which has a bit that is not equal to zero, by an identifying device. The identified range is stored as a mask for an indicative bit pattern in one of the registers. Independent claims are also included for the following: (1) a filtering method for filtering of data packets (2) a filtering device, comprising an extracting device.

Description

Die Erfindung betrifft ein Suchverfahren mittels einer Suchvorrichtung zum Suchen eines für Datenpakete eines DoS-Angriffes auf eine Netzwerkeinrichtung indikativen Bitmusters, eine Suchvorrichtung, ein Filterverfahren und eine Filtervorrichtung.The The invention relates to a search method by means of a search device to search for a Data packets of a DoS attack on a network device indicative bit pattern, a search device, a filtering method and a filtering device.

Das technische Gebiet der vorliegenden Erfindung betrifft die Abwehr von so genannten "Denial of Service (DOS)"-Angriffen auf eine Netzwerkeinrichtung, wie einen Computer, der an ein Netzwerk, wie das Internet, angeschlossen ist, oder eine Server-Einrichtung, wie beispielsweise einen Web-Server. Während eines so genannten DoS-Angriffes, wie beispielsweise einer Flooding-Attacke, auf die Netzwerkeinrichtung trifft eine sehr große Anzahl von Datenpaketen bei der Netzwerkeinrichtung ein. Diese Datenpakete oder Schadpakete haben den Zweck, die Netzwerkeinrichtung mit der Verarbeitung dieser Datenpakete zu überfordern und damit ihre Funktionsfähigkeit zu beeinträchtigen oder die Netzwerkeinrichtung lahm zu legen. Die Schadpakete enthalten mehr oder weniger sinnvolle Informationen in Abhängigkeit von der Art des Angriffes. Da bei einem DoS-Angriff häufig die Schadpakete von verschiedenen Quell-Rechnern kommen oder die Adresse des Quell-Rechners gefälscht ist, ist es herkömmlicherweise schwierig, diese Datenpakete mittels ihrer IP-Adresse als Schadpakete zu identifizieren. Dies wiederum erschwert die Filterung solcher Datenpakete.The Technical field of the present invention relates to the defense from so - called "Denial of Service (DOS) "attacks on a network device, like a computer connected to a network, like the internet, connected, or a server facility, like for example, a web server. During a so-called DoS attack, such as a flooding attack on the network device meets a very big one Number of data packets in the network setup. These data packets or malicious packages have the purpose of the network device with the Processing of these data packets to overwhelm and thus their functionality to impair or disable the network setup. The malicious packages contain more or less meaningful information depending on the type of attack. As is common in a DoS attack the malicious packages come from different source computers or the address of the source computer false is, it is conventional difficult to package these data packets as malicious packages using their IP address to identify. This in turn makes filtering such difficult Data packets.

Der Anmelderin sind zwei herkömmliche Lösungsansätze bekannt, mit denen DoS-Attacken oder dergleichen bekämpft werden können. Diese beiden Lösungsansätze sind ausschließlich in Software realisiert. Ein Lösungsansatz betrifft die Speicherung einer so genannten Black-and-White-List. Dabei werden die IP- Adressen von Sendern, die unerwünschte Pakete oder Datenpakete schicken, mit Hilfe der Black-and-White-List gesperrt. Die Nachteile dieses Software-technischen Verfahrens liegen darin, dass die IP-Adressen der Quell-Rechner oft gefälscht und damit nutzlos sind. Ein weiterer Nachteil liegt darin, dass bei einer DoS-Attacke oft Tausende von Rechnern beteiligt sind. In einem solchen Fall muss dann für jedes Paket die gesamte Black-and-White-List sequenziell durchgearbeitet werden. Dies wiederum belastet die CPU der Netzwerkeinrichtung. Die Datenpakete einer DOS-Attacke müssen mindestens in Teilen gültig sein. Damit existiert mindestens in diesen gültigen Teilen des Datenpaketes ein Bitmuster, das in allen Datenpaketen oder Schadpaketen des DoS-Angriffes auftritt. Der Anmelderin ist intern bekannt, ein solches Pattern softwaretechnisch zu nutzen, um die von der Netzwerkeinrichtung empfangenen Datenpakete zu filtern oder um einen DoS-Angriff zu erkennen. Es trägt auch dieser software-technische Ansatz zur Abwehr der DoS-Attacke dazu bei, dass die CPU der Netzwerkeinrichtung infolge der notwendigen Filterung stärker belastet wird, was bekanntermaßen der inhärente Zweck einer DoS-Attacke ist.Of the Applicant are two conventional Solution approaches known, with which DoS attacks or the like can be fought. These two Solutions are exclusively realized in software. An approach concerns the storage of a so-called black-and-white list. there become the IP addresses from stations that are unwanted Send packages or data packets using the black-and-white list blocked. The disadvantages of this software engineering method are that the IP addresses of the source computers are often forged and thus useless. Another disadvantage is that in a DoS attack often Thousands of computers are involved. In such a case must then for each package the entire black-and-white list are sequentially worked through. This in turn burdens the CPU of the network device. The data packets a DOS attack valid at least in part be. Thus exists at least in these valid parts of the data packet a bit pattern that is present in all data packets or malicious packages of the DoS attack occurs. The applicant is internally known, such a pattern software technology to use the data packets received from the network device to filter or to detect a DoS attack. It carries too this software-technical approach to ward off the DoS attack in that the CPU of the network device due to the necessary Filtering stronger is charged, which is known the inherent Purpose of a DoS attack is.

Die Druckschrift CA 25 49 577 A1 offenbart ein Verfahren zur Kategorisierung von Netzwerkdaten auf der Grundlage von gespeicherten Erfahrungswerten, um einen DOS-Angriff zu erkennen.The publication CA 25 49 577 A1 discloses a method for categorizing network data based on stored empirical values to detect a DOS attack.

In der KR 10 2005 00 66 049 A ist ein Verfahren zur Erkennung eines DOS-Angriffs beschrieben, wobei jedes ankommende Paket mit einem Muster verglichen wird.In the KR 10 2005 00 66 049 A A method for detecting a DOS attack is described, wherein each incoming packet is compared to a pattern.

Die Druckschrift US 5,835,726 lehrt einen Paketfilter zur Durchführung von Sicherheitsregeln, wobei Datenpakete aus verschiedenen Speichern bitweise verknüpft werden und aus dem Ergebnis abgeleitet wird, ob das Paket akzeptiert oder verworfen wird.The publication US 5,835,726 teaches a packet filter to enforce security rules, bit-linking data packets from different memories, and deriving from the result whether the packet is accepted or discarded.

Demnach besteht eine der vorliegenden Erfindung zugrunde liegende Aufgabe darin, ein für die Datenpakete eines DoS-Angriffes auf eine Netzwerkeinrichtung indikatives Bitmuster mittels einer dedizierten Hardware zu suchen.Therefore there is an object underlying the present invention in it, one for the data packets of a DoS attack on a network device indicative bit pattern by means of a to search dedicated hardware.

Eine weitere Aufgabe liegt darin, die CPU der Netzwerkeinrichtung beim Suchen des indikativen Bitmusters und beim Filtern der Datenpakete des DoS-Angriffes zu entlasten.A Another task is the CPU of the network device at Searching the indicative bit pattern and filtering the data packets to relieve the DoS attack.

Erfindungsgemäß wird zumindest eine dieser gestellten Aufgaben durch ein Suchverfahren mit den Merkmalen des Patentanspruchs 1 und/oder durch eine Suchvorrichtung mit den Merkmalen des Patentanspruchs 12 und/oder durch ein Filterverfahren mit den Merkmalen des Patentanspruchs 13 und/oder durch eine Filtervorrichtung mit den Merkmalen des Patentanspruchs 14 gelöst.According to the invention, at least one of these tasks by a search method with the Features of claim 1 and / or by a search device with the features of claim 12 and / or by a filtering method with the features of claim 13 and / or by a filter device solved with the features of claim 14.

Demgemäß wird ein Suchverfahren mittels einer dedizierten Suchvorrichtung für eine Netzwerkeinrichtung zum Suchen eines für Datenpakete eines DoS-Angriffes auf der Netzwerkeinrichtung indikativen Bitmusters vorgeschlagen, das folgende Schritte aufweist:

  • a) Speichern eines ersten von der Netzwerkeinrichtung empfangenen Datenpaketes mit N1 Bits in zumindest einem ersten Register mit N2 Speicherstellen, wobei N2 ≥ N1 ist;
  • b) Speichern eines zweiten von der Netzwerkeinrichtung empfangenen Datenpaketes mit N1 Bits zumindest einem zweiten Register mit N2 Speicherstellen, wobei N2 ≥ N1' ist;
  • c) bitweises logisches UND-Verknüpfen des Inhalts des jeweiligen ersten Registers und des Inhalts des jeweiligen zweiten Registers mittels einer Logikeinrichtung;
  • d) Speichern des jeweiligen Ergebnisses des logischen UND-Verknüpfens;
  • e) jeweiliges Identifizieren zumindest eines zusammenhängenden Bereiches mit N3 Bits, wobei N3 ≤ N1 ist, in dem jeweiligen gespeicherten Ergebnis, welcher zumindest ein Bit ungleich Null aufweist, mittels einer Identifiziereinrichtung;
  • f) Speichern des jeweiligen identifizierten Bereiches als Maske für das indikative Bitmuster in das entsprechende oder ein weiteres erstes Register;
  • g) Speichern eines weiteren von der Netzwerkeinrichtung empfangenen Datenpaketes in das zumindest eine zweite Register;
  • h) Durchführen der Schritte c) bis f) bis sich eine der gespeicherten Masken nicht mehr ändert, welche zumindest ein Bit ungleich Null aufweist.
Accordingly, a search method is proposed by means of a dedicated search device for a network device for searching a bit pattern indicative of data packets of a DoS attack on the network device, comprising the following steps:
  • a) storing a first data packet of N1 bits received by the network device in at least one first register with N2 memory locations, where N2 ≥ N1;
  • b) storing a second data packet of N1 bits received from the network device at least one second register with N2 memory locations, where N2 ≥ N1 ';
  • c) bitwise logical ANDing the contents of the respective first register and the contents of the respective second register by means of a logic device;
  • d) storing the respective result of the logical AND operation;
  • e) identifying, by means of an identifier, at least one contiguous region of N3 bits, where N3 ≤ N1, in the respective stored result having at least one nonzero bit;
  • f) storing the respective identified area as a mask for the indicative bit pattern in the corresponding or a further first register;
  • g) storing a further data packet received by the network device into the at least one second register;
  • h) performing steps c) to f) until one of the stored masks, which has at least one nonzero bit, no longer changes.

Des Weiteren wird eine Suchvorrichtung zum Durchführen des oben erläuterten Suchverfahrens für eine Netzwerkeinrichtung zum Suchen eines für Datenpakete eines DoS-Angriffes indikativen Bitmusters vorgeschlagen, das aufweist:

  • – zumindest ein erstes Register mit N2 Speicherstellen, welches dazu geeignet ist, ein von der Netzwerkeinrichtung empfangenes erstes Datenpaket mit N1 Bits zu speichern;
  • – zumindest ein zweites Register mit N2 Speicherstellen, welches dazu geeignet ist, ein von der Netzwerkeinrichtung empfangenes zweites Datenpaket mit N1 Bits zu speichern;
  • – eine Logikeinrichtung, welche den Inhalt des jeweiligen ersten Registers und den Inhalt des jeweiligen zweiten Registers bitweise logisch miteinander UND-verknüpft;
  • – eine Speichereinrichtung zum Speichern des jeweiligen Ergebnisses der logischen UND-Verknüpfung;
  • – eine Identifiziereinrichtung, welche jeweils zumindest einen zusammenhängenden Bereich mit N3 Bits, wobei N3 ≤ N1 ist, in dem jeweiligen gespeicherten Ergebnis identifiziert, wobei der zusammenhängende Bereich zumindest ein Bit ungleich Null aufweist; und
  • – eine Steuervorrichtung, welche dazu geeignet ist, ein weiteres von der Netzwerkeinrichtung empfangenes Datenpaket in das zumindest eine zweite Register abzuspeichern und das zumindest eine erste Register, das zumindest eine zweite Register, die Logikeinrichtung und die Identifiziereinrichtung derart zu steuern, dass sie die oben erläuterten Schritte c) bis f) so lange durchführen, bis sich eine der gespeicherten Masken nicht mehr ändert, welche zumindest ein Bit ungleich Null aufweist.
Furthermore, a search device for carrying out the above-mentioned search method for a network device for searching a bit pattern indicative of data packets of a DoS attack is proposed, comprising:
  • At least a first register with N2 memory locations, which is suitable for storing a first data packet of N1 bits received from the network device;
  • At least a second register with N2 memory locations, which is suitable for storing a second data packet of N1 bits received from the network device;
  • A logic device which AND-links the content of the respective first register and the content of the respective second register bit by bit;
  • A memory device for storing the respective result of the logical AND operation;
  • An identifier, each identifying at least one contiguous region of N3 bits, where N3 ≤ N1, in the respective stored result, the contiguous region having at least one nonzero bit; and
  • A control device which is suitable for storing another data packet received from the network device into the at least one second register and for controlling the at least one first register, the at least one second register, the logic device and the identifier in such a way that they are as explained above Perform steps c) to f) until one of the stored masks, which has at least one nonzero bit, no longer changes.

Außerdem wird ein Filterverfahren zum Filtern von Datenpaketen eines DoS-Angriffes auf eine Netzwerkeinrichtung vorgeschlagen, das folgende Schritte aufweist:

  • – Generieren einer Maske mittels des oben erläuterten Suchverfahrens;
  • – Vergleichen von Datenpaketen, welche von der Netzwerkeinrichtung empfangen werden, mit der Maske; und
  • – Herausfiltern derjenigen Datenpakete, welche das zu der Maske indikative Bitmuster beinhalten.
In addition, a filter method for filtering data packets of a DoS attack on a network device is proposed, comprising the following steps:
  • Generating a mask by means of the search method explained above;
  • Comparing data packets received from the network device with the mask; and
  • - filtering out those data packets which contain the bit pattern indicative of the mask.

Ferner wird eine Filtervorrichtung zum Filtern von Datenpaketen eines DoS-Angriffes auf eine Netzwerkeinrichtung vorgeschlagen, welche aufweist:
eine wie oben erläuterte Suchvorrichtung; und
eine Extrahiervorrichtung, welche diejenigen empfangenen Datenpakete herausfiltert, welche das zu der Maske indikative Bitmuster beinhalten.
Furthermore, a filter device is proposed for filtering data packets of a DoS attack on a network device, which comprises:
a search device as explained above; and
an extracting device which filters out those received data packets containing the bit pattern indicative of the mask.

Die der vorliegenden Erfindung zugrunde liegende Idee besteht im Wesentlichen darin, eine dedizierte Hardware für eine Netzwerkeinrichtung bereitzustellen, die dazu geeignet ist, ein Pattern oder Bitmuster, welches für die Datenpakete eines DoS-Angriffes oder einer DoS-Attacke indikativ sind, bereitzustellen, um die CPU der Netzwerkeinrichtung zu entlasten und diese vor einer Überbelastung infolge der DoS-Attacke zu schützen.The The idea underlying the present invention consists essentially therein, a dedicated hardware for a network device suitable for making a pattern or bit pattern, which for the data packets of a DoS attack or a DoS attack indicative are to provide to relieve the CPU of the network device and these against overloading to protect as a result of the DoS attack.

Ein weiterer Vorteil der hardware-technischen Realisierung des Suchens des Bitmusters oder Patterns und des Herausfilterns der Schadpakete, die zur DoS-Attacke zugehörig sind, liegt darin, dass dies schneller als eine software-technische Lösung erfolgen kann.One Another advantage of the hardware-technical realization of the search the bit pattern or pattern and the filtering out of the harmful packages, which belongs to the DoS attack This is because it's faster than a software-technical one solution can be done.

Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, dass erfindungsgemäß die Suchmöglichkeiten gegenüber der herkömmlichen Suche nach IP-Adressen, die zu einem DoS-Angriff gehören können oder könnten, deutlich erweitert sind.One Another advantage of the present invention is that according to the invention the search options across from the conventional one Search for IP addresses that may belong to a DoS attack or could are significantly expanded.

Ein weiterer Vorteil der Erfindung liegt darin, dass nur eine geringe Anzahl von Registern verwendet werden muss.One Another advantage of the invention is that only a small Number of registers must be used.

Ein weiterer Vorteil ist, dass durch die Verwendung der dedizierten Suchvorrichtung und der daraus folgenden Wegnahme der Belastung für die CPU auch bei einer erfolglosen Suche nach einer Maske oder einem Bitmuster (Pattern), nämlich wenn kein DoS-Angriff vorliegt, die Leistungsfähigkeit des Gesamtsystems der Netzwerkeinrichtung nicht belastet wird.One Another advantage is that by using the dedicated Search device and the consequent removal of the burden for the CPU even with an unsuccessful search for a mask or a bit pattern (Pattern), namely if there is no DoS attack, the performance of the overall system of Network device is not charged.

Dabei kann die Netzwerkeinrichtung als ein mit einem Netzwerk, wie dem Internet, verbundener Computer oder Server ausgebildet sein. Es kann aber auch eine mit einem Netzwerk verbundene Steuerungsanlage sein, wie sie beispielsweise im industriellen Umfeld Verwendung finden, oder auch mobile Endgeräte, wie PDA oder Mobiltelefone. Der Vorteil besteht darin, dass all diese Geräte CPU's geringer Leistungsfähigkeit haben, welche erfindungsgemäß geschützt werden können.In this case, the network device can be designed as a computer or server connected to a network, such as the Internet. But it can also be connected to a network control system, such as those used in industrial environments, or even mobile devices, such as PDA or mobile phones. The advantage is that all these devices CPU's ge have performance, which can be protected according to the invention.

Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen sowie der Beschreibung unter Bezugnahme auf die Zeichnungen.advantageous Refinements and developments of the invention will become apparent the dependent claims and the description with reference to the drawings.

Gemäß einer bevorzugten Weiterbildung der Erfindung weist das oben erläuterte Suchverfahren weiterhin auf, dass diejenige Maske, die sich nach Durchführung der obigen Schritte a) bis g) nicht mehr ändert und zumindest ein Bit ungleich Null hat, als gültige, für das Bitmuster indikative Maske bestimmt wird.According to one preferred development of the invention, the above-explained search method continues on that the mask, which after carrying out the above steps a) until g) does not change anymore and at least one non-zero bit has, as a valid, indicative of the bit pattern Mask is determined.

Gemäß einer bevorzugten Ausgestaltung der Erfindung wird das jeweilige Ergebnis der logischen UND-Verknüpfung in das entsprechende erste Register gespeichert. Ein Vorteil dieser Ausgestaltung liegt darin, dass somit die Anzahl der zu verwendenden Register minimiert wird.According to one preferred embodiment of the invention will be the respective result the logical AND connection stored in the corresponding first register. An advantage of this Embodiment is that thus the number of used Register is minimized.

Gemäß einer weiteren bevorzugten Ausgestaltung wird das jeweilige Ergebnis der logischen UND-Verknüpfung in ein weiteres erstes Register gespeichert. Der besondere Vorteil dieser Ausgestaltung liegt darin, dass bei Vorliegen eines nicht zum DoS-Angriff zugehörigen Datenpaketes dieses nicht überschrieben, sondern in dem ursprünglichen ersten Register gespeichert und aus diesem weitergeleitet werden kann.According to one Another preferred embodiment, the respective result of logical AND connection stored in another first register. The special advantage this embodiment is that in the presence of a not related to the DoS attack Data packets this is not overwritten, but in the original one first registers are stored and forwarded from this can.

Gemäß einer weiteren Weiterbildung wird nach dem Verfahrensschritt f) das entsprechende Register mit Replikationen der Maske zur Bereitstellung einer parallelisierten Suche aufgefüllt.According to one Further development is after the process step f) the corresponding register with replicas of the mask to provide a parallelized Search filled up.

Gemäß einer weiteren bevorzugten Weiterbildung wird der vorbestimmte Bereich in dem weiteren Datenpaket durch eine absolute Startposition und/oder durch eine absolute Endposition bestimmt.According to one Another preferred embodiment is the predetermined range in the further data packet by an absolute start position and / or determined by an absolute end position.

Gemäß einer weiteren bevorzugten Ausgestaltung wird der vorbestimmte Bereich in dem weiteren Datenpaket durch eine relative Startposition bestimmt.According to one Another preferred embodiment is the predetermined range determined in the further data packet by a relative start position.

Gemäß einer weiteren bevorzugten Weiterbildung wird nach dem Schritt f) der Inhalt des jeweiligen zweiten Registers mittels einer Steuervorrichtung um eine vorbestimmte Anzahl N4 von Bits verschoben, und die Schritte c) bis f) werden durchgeführt, bis das jeweilige zweite Register den jeweiligen Inhalt vor dem Verschieben aufweist. Dabei ist N4 beispielsweise 1 oder 8.According to one Another preferred development is after step f) of Content of the respective second register by means of a control device shifted by a predetermined number N4 bits, and the steps c) to f) are carried out until the respective second register the respective content before the Moving has. N4 is for example 1 or 8.

Gemäß einer weiteren bevorzugten Weiterbildung wird der Inhalt des zweiten Registers, welches das von der Netzwerkeinrichtung empfangene Datenpaket speichert, mittels einer Steuervorrichtung um jeweils N4 Bits verschoben und jeweils in ein entsprechendes zweites Register zur parallelisierten Suche gespeichert.According to one Another preferred development is the content of the second register, which stores the data packet received by the network device, shifted by N4 bits by means of a control device and each in a corresponding second register for parallelized search saved.

Gemäß einer weiteren bevorzugten Weiterbildung sind das zumindest eine erste Register, das zumindest eine zweite Register, die Logikeinrichtung, die Identifiziereinrichtung und die Steuervorrichtung zumindest als Teil einer FPGA-Schaltung oder als Teil einer ASIC-Schaltung ausgebildet.According to one Another preferred development that are at least a first Register, the at least one second register, the logic device, the Identification device and the control device at least as Part of an FPGA circuit or formed as part of an ASIC circuit.

Gemäß einer weiteren bevorzugten Weiterbildung wird die Bitlänge des jeweiligen gespeicherten Ergebnisses durch das Kleinere von N1 und N1' bestimmt, das heißt die Maslenlänge wird jeweils durch das kürzere Paket bestimmt.According to one Another preferred embodiment is the bit length of the respective stored Result determined by the smaller of N1 and N1 ', that is, the Maslenlänge each by the shorter one Package determined.

Die Erfindung wird nachfolgend anhand der in den schematischen Figuren der Zeichnung angegebenen Ausführungsbeispiele näher erläutert. Es zeigen:The Invention will be described below with reference to the schematic figures The drawings specified embodiments explained in more detail. Show it:

1 ein schematisches Ablaufdiagramm eines ersten Ausführungsbeispiels des erfindungsgemäßen Verfahrens; 1 a schematic flow diagram of a first embodiment of the method according to the invention;

2 ein schematisches Beispiel zur Suche eines Bitmusters mit statischer Position; 2 a schematic example for searching a bit pattern with static position;

3 ein beispielhaftes Datenpaket und ein zugehöriges Bitmuster mit einer absoluten Position in dem Datenpaket; 3 an exemplary data packet and associated bit pattern having an absolute position in the data packet;

4 ein beispielhaftes Datenpaket und ein zugehöriges Bitmuster mit einer relativen Position in dem Datenpaket; 4 an exemplary data packet and associated bit pattern having a relative position in the data packet;

5 eine schematische Darstellung eines mit Replikationen der Maske gefüllten ersten Registers und ein zweites Register mit einem Datenpaket; 5 a schematic representation of a filled with replications of the mask first register and a second register with a data packet;

6 ein schematisches Ablaufdiagramm eines zweiten Ausführungsbeispiels des erfindungsgemäßen Verfahrens; 6 a schematic flow diagram of a second embodiment of the method according to the invention;

7 ein schematisches Ablaufdiagramm eines dritten Ausführungsbeispiels des erfindungsgemäßen Verfahrens; 7 a schematic flow diagram of a third embodiment of the method according to the invention;

8a einen kurzen Auszug eines schematischen Ablaufs der Suche eines Bitmusters mit dynamischer Position; 8a a brief excerpt from a schematic sequence of the search of a bit pattern with dynamic position;

8b ein schematisches Beispiel zur Suche eines Bitmusters mit dynamischer Position; 8b a schematic example for searching a bit pattern with dynamic position;

9 ein schematisches Ablaufdiagramm eines vierten Ausführungsbeispiels des erfindungsgemäßen Verfahrens; und 9 a schematic flow diagram of a fourth embodiment of the method according to the invention; and

10 ein schematisches Blockschaltbild eines bevorzugten Ausführungsbeispiels der erfindungsgemäßen Suchvorrichtung. 10 a schematic block diagram of a preferred embodiment of the search device according to the invention.

In allen Figuren sind gleiche bzw. funktionsgleiche Elemente und Vorrichtungen – sofern nichts anderes angegeben ist – mit denselben Bezugszeichen versehen worden.In all figures are the same or functionally identical elements and devices - if nothing else is stated - with the same reference numerals have been provided.

1 zeigt ein schematisches Ablaufdiagramm eines ersten Ausführungsbeispiels des erfindungsgemäßen Suchverfahrens mittels einer dedizierten Suchvorrichtung 1 für eine Netzwerkeinrichtung zum Suchen eines für Datenpakete DP eines DoS-Angriffes auf die Netzwerkeinrichtung indikativen Bitmusters. Nachfolgend wird das erste Ausführungsbeispiel des erfindungsgemäßen Suchverfahrens gemäß dem Ablaufdiagramm in 1 mit Verweis auf das Blockschaltbild in 10 erläutert. Das erste Ausführungsbeispiel des erfindungsgemäßen Suchverfahrens weist folgende Schritte a) bis i) auf: 1 shows a schematic flow diagram of a first embodiment of the inventive search method by means of a dedicated search device 1 for a network device for searching a bit pattern indicative of data packets DP of a DoS attack on the network device. Hereinafter, the first embodiment of the inventive search method according to the flowchart in 1 with reference to the block diagram in 10 explained. The first embodiment of the search method according to the invention has the following steps a) to i):

Verfahrensschritt a):Process step a):

Ein erstes von der Netzwerkeinrichtung empfangenes Datenpaket DP mit N1 Bits wird in zumindest einem ersten Register 2 mit N2 Speicherstellen gespeichert. Dabei ist N2 ≥ N1.A first data packet DP with N1 bits received by the network device is stored in at least one first register 2 saved with N2 memory locations. Where N2 ≥ N1.

Verfahrensschritt b):Process step b):

Ein zweites von der Netzwerkeinrichtung empfangenes Datenpaket DP mit N1 Bits wird in zumindest einem zweiten Register 3 mit N2 Speicherstellen gespeichert. Dabei ist N2 ≥ N1'. N1' und N1 können gleich oder unterschiedlich sein.A second data packet DP with N1 bits received from the network device is stored in at least one second register 3 saved with N2 memory locations. Where N2 ≥ N1 '. N1 'and N1 may be the same or different.

Verfahrensschritt c):Process step c):

Der Inhalt des jeweiligen ersten Registers 2 und der Inhalt des jeweiligen zweiten Registers 3 werden mittels einer Logikeinrichtung 4 bitweise logisch UND-verknüpft. Vorzugsweise weist die Logikeinrichtung 4 für jede der N2 Speicherstellen des ersten Registers 2 und des zweiten Registers 3 ein UND-Gatter auf.The content of the respective first register 2 and the contents of the respective second register 3 be by means of a logic device 4 bitwise logical AND-linked. Preferably, the logic device 4 for each of the N2 memory locations of the first register 2 and the second register 3 an AND gate on.

Verfahrensschritt d):Process step d):

Das jeweilige Ergebnis der logischen UND-Verknüpfung wird gespeichert. Vorzugsweise wird das jeweilige Ergebnis in das entsprechende erste Register 2 gespeichert. Alternativ kann das jeweilige Ergebnis auch in ein anderes erstes Register 2 gespeichert werden.The respective result of the logical AND operation is saved. Preferably, the respective result is in the corresponding first register 2 saved. Alternatively, the respective result in another first register 2 get saved.

Verfahrensschritt e):Process step e):

Zumindest ein zusammenhängender Bereich mit N3 Bits, wobei N3 ≤ N1 ist, wird in dem jeweiligen gespeicherten Ergebnis identifiziert, wobei der zusammenhängende Bereich zumindest ein Bit ungleich Null aufweist. Das jeweilige Identifizieren wird mittels einer Identifiziervorrichtung 6 durchgeführt.At least one contiguous region of N3 bits, where N3 ≦ N1, is identified in the respective stored result, the contiguous region having at least one nonzero bit. The respective identification is made by means of an identifier 6 carried out.

Verfahrensschritt f):Process step f):

Der jeweilige identifizierte Bereich wird als Maske für das indikative Bitmuster in das entsprechende oder in ein weiteres erstes Register 2 gespeichert.The respective identified area is used as a mask for the indicative bit pattern in the corresponding or in another first register 2 saved.

Verfahrensschritt h):Process step h):

Die Schritte c) bis f) werden durchgeführt, bis sich eine der gespeicherten Masken nicht mehr ändert und zumindest ein Bit ungleich Null aufweist.The Steps c) to f) are performed until one of the stored Masks no longer changes and at least one nonzero bit.

Verfahrensschritt i):Process step i):

Diejenige Maske wird als gültige, für das Bitmuster des DoS-Angriffes indikative Maske bestimmt, welche sich nach Durchführung der Schritt a) bis g) nicht mehr ändert und zumindest ein Bit ungleich Null aufweist.the one Mask is considered valid, for the Bit pattern of the DoS attack indicative mask which determines after performing the Step a) to g) no longer changes and at least one nonzero bit.

Beispielsweise kann Schritt h) für die jeweilige Maske und für einen vorbestimmten Bereich des weiteren Datenpaketes DP durchgeführt werden.For example can step h) for the respective mask and for a predetermined range of the further data packet DP are performed.

In 2 ist ein schematisches Beispiel zur Suche eines Bitmusters mit einer statischen Position dargestellt.In 2 Fig. 12 shows a schematic example for searching a bit pattern with a static position.

Ist beispielsweise das Datenpaket DP ein TCP-Paket mit einer Länge von 64 k, so werden zumindest drei Register mit einer Anzahl von 64 k Speicherstellen notwendig. Somit ist ein maximaler Speicher von 192 k bereitzustellen.is For example, the data packet DP a TCP packet with a length of 64 k, at least three registers with a number of 64 become k storage locations necessary. Thus, a maximum memory of To provide 192k.

Vorzugsweise wird der vorbestimmte Bereich in dem weiteren Datenpaket DP durch eine absolute Startposition P1 und/oder durch eine absolute Endposition bestimmt. Dazu zeigt 3 ein beispielhaftes Datenpaket DP und ein zugehöriges Bitmuster B mit einer absoluten Position P1 in dem Datenpaket DP.Preferably, the predetermined range in the further data packet DP is determined by an absolute start position P1 and / or by an absolute end position. In addition shows 3 an exemplary data packet DP and an associated bit pattern B with an absolute position P1 in the data packet DP.

Alternativ kann auch der vorbestimmte Bereich in dem weiteren Datenpaket DP durch eine relative Startposition P2 bestimmt sein. In 4 ist ein beispielhaftes Datenpaket DP und ein zugehöriges Bitmuster B mit einer relativen Position P2 in dem Datenpaket DP dargestellt. Die relative Position P2 kann sich beispielsweise auf das Ende des Datenpaketkopfes oder Headers beziehen.Alternatively, the predetermined range in the further data packet DP can also be determined by a relative start position P2. In 4 An exemplary data packet DP and an associated bit pattern B with a relative position P2 are shown in the data packet DP. For example, the relative position P2 may refer to the end of the data packet header or header.

Die absolute Position P1 des Bitmusters B innerhalb eines Datenpakets DP des DoS-Angriffs ist der einfachste Fall. Die Position P1 wird vom Anfang oder Beginn des Datenpaketes DP gezählt und ist demnach absolut. Um Schadpakete oder Datenpakete DP des DoS-Angriffes zu identifizieren oder zu filtern, wird eine Maske zur Detektion des Patterns oder Bitmusters an der entsprechenden absoluten Position P1 jeweils mit den Datenpaketen DP verglichen. Allerdings ist diese Art der Filterung oder Suche nicht durch die IP-Adresse limitiert, sondern kann an einer beliebigen Stelle des Datenpaketes DP durchgeführt werden. Dadurch wird die Flexibilität zum Filtern und Suchen von Bitmustern oder Pattern deutlich erhöht. Somit wird das erfindungsgemäße Filtern unabhängig von Quell-Adressen, die bei DoS-Angriffen für gewöhnlich gefälscht sind.The absolute position P1 of the bit pattern B within a data packet DP of the DoS attack is the simplest case. The position P1 is counted from the beginning or beginning of the data packet DP and is therefore absolute. In order to identify or filter malicious packets or data packets DP of the DoS attack, a mask for detecting the pattern or bit pattern at the corresponding absolute position P1 is respectively compared with the data packets DP. However, this type of filtering or search is not limited by the IP address, but can be performed at any point of the data packet DP. This significantly increases the flexibility to filter and search bit patterns or patterns. Thus, the filtering according to the invention becomes independent of source addresses that are usually forged in DoS attacks.

5 zeigt ein schematisches Ablaufdiagramm eines zweiten Ausführungsbeispiels des erfindungsgemäßen Verfahrens. Das zweite Ausführungsbeispiel gemäß 5 unterscheidet sich von dem ersten Ausführungsbeispiel gemäß 1 dahingehend, dass es weiterhin den unten näher erläuterten Verfahrensschritt f2) aufweist. Zur Vermeidung von Wiederholungen wird auf eine erneute Darstellung der Verfahrensschritt a) bis i) verzichtet. Das zweite Ausführungsbeispiel des erfindungsgemäßen Verfahrens gemäß 5 beinhaltet also die bereits erläuterten Verfahrensschritte a) bis i) und den zusätzlichen Verfahrensschritt f2): 5 shows a schematic flow diagram of a second embodiment of the method according to the invention. The second embodiment according to 5 differs from the first embodiment according to 1 in that it furthermore has the method step f2) explained in greater detail below. To avoid repetition, the method step a) to i) is dispensed with again. The second embodiment of the method according to the invention 5 So includes the already explained process steps a) to i) and the additional process step f2):

Verfahrensschritt f2:Process step f2:

Nach dem Verfahrensschritt f wird das entsprechende erste Register 2 mit Replikationen der gespeicherten Maske zur Bereitstellung einer parallelisierten Suche aufgefüllt. Die eigentliche Maskenlänge bleibt gleich, und die neue erweiterte Maske beinhaltet eine Vielzahl derer zur parallelisierten Suche.After method step f, the corresponding first register is 2 populated with replications of the stored mask to provide a parallelized search. The actual mask length remains the same and the new extended mask contains a large number of those for parallelized search.

In 6 ist eine schematische Darstellung eines mit Replikationen des Bitmusters B, welches der gefundenen Maske entspricht, gefüllten ersten Registers 2 und eines zweiten Registers 3 mit einem Datenpaket DP gezeigt.In 6 Fig. 12 is a schematic representation of a first register filled with replicas of the bit pattern B corresponding to the found mask 2 and a second register 3 shown with a data packet DP.

In den 7 und 9 sind schematische Ablaufdiagramme jeweils eines Ausführungsbeispiels des erfindungsgemäßen Suchverfahrens dargestellt, bei welchem ein Bitmuster mit einer dynamischen oder sich ändernden Position in den Datenpaketen DP des DoS-Angriffes gesucht werden.In the 7 and 9 are schematic flow diagrams each showing an embodiment of the search method according to the invention, in which a bit pattern are searched with a dynamic or changing position in the data packets DP of the DoS attack.

Falls ein Paket kein Pattern oder Bitmuster an einer bestimmten Position besitzt, heißt dies nicht, dass überhaupt kein Bitmuster existiert, das identifiziert werden könnte. Tatsächlich besitzen Datenpakete, die beispielsweise für eine Flooding-Attacke generiert werden, in der Regel nutzlose Nutzdaten (Payload). Diese Nutzdaten können ein Pattern beinhalten, das für ihre Identifikation erfindungsgemäß genutzt werden kann. Dieses muss allerdings nicht an einer vorbestimmten Position sein. Mit anderen Worten, die Position des Pattern oder Bitmusters kann von Paket zu Paket unterschiedlich sein. Für die vorliegende Erfindung ist nur Voraussetzung, dass ein solches Pattern überhaupt existiert.If a packet no pattern or bit pattern at a particular position owns, means not that at all There is no bit pattern that could be identified. In fact, own Data packets generated, for example, for a flooding attack usually useless payload data. This user data can include a pattern for their identification can be used according to the invention. This but does not have to be in a predetermined position. With In other words, the position of the pattern or bit pattern can be from Package to package be different. For the present invention is only a prerequisite that such a pattern exists at all.

In 7 ist ein schematisches Ablaufdiagramm eines dritten Ausführungsbeispiels des erfindungsgemäßen Suchverfahrens dargestellt. Das Ausführungsbeispiel gemäß 7 unterscheidet sich von dem ersten Ausführungsbeispiel gemäß 1 dahingehend, dass ein zusätzlicher Verfahrensschritt f3) vorgesehen ist. Zur Vermeidung von Wiederholungen wird auf die erneute Darstellung der Verfahrensschritte a) bis i) verzichtet. Der zusätzliche Verfahrensschritt f3) erweitert das erfindungsgemäße Suchverfahren gemäß 1 dahingehend, dass Bitmuster mit einer dynamischen Position innerhalb der Datenpakete DP gefunden werden können:In 7 is a schematic flow diagram of a third embodiment of the search method according to the invention shown. The embodiment according to 7 differs from the first embodiment according to 1 in that an additional method step f3) is provided. To avoid repetition, the renewed presentation of process steps a) to i) is dispensed with. The additional method step f3) extends the search method according to the invention 1 in that bit patterns with a dynamic position within the data packets DP can be found:

Verfahrensschritt f3:Process step f3:

Nach Durchführung des Schrittes f) wird der Inhalt des jeweiligen zweiten Registers 3 mittels einer Steuervorrichtung 7 um eine vorbestimmte Anzahl N4 von Bits verschoben und die Schritte c) bis f) werden durchgeführt, bis das jeweilige zweite Register 3 den jeweiligen Inhalt vor dem Verschieben aufweist.After performing step f), the contents of the respective second register 3 by means of a control device 7 shifted by a predetermined number N4 of bits and steps c) to f) are performed until the respective second register 3 has the content before moving.

Unten stehendes Beispiel für eine Suche eines Bitmusters mit dynamischer Position soll das dritte Ausführungsbeispiel gemäß 7 kurz erläutern.

  • 1. Das erste Datenpaket DP wird in das erste Register 2 gespeichert.
  • 2. Das zweite Datenpaket DP wird in das zweite Register 3 gespeichert.
  • 3. Beide Datenpakete DP werden bitweise logisch UND-verknüpft.
  • 4. Das Ergebnis ist eine erste Version einer ersten Maske, welche gespeichert wird.
  • 5. Die erste Maske wird dahingehend geprüft, ob sie einen Wert größer als Null hat. D.h. es wird geprüft, ob die erste Version der ersten Maske zumindest ein Bit ungleich Null aufweist.
  • 6. Das zweite Paket wird dann bitweise oder byteweise verschoben bzw. rotiert, das heißt die Bits oder Bytes, die am Ende hinausgeschoben werden, werden am Beginn vorangestellt. Sowohl eine Links- als auch eine Rechtsverschiebung ist möglich.
  • 7. Das erste Paket und das verschobene zweite Paket werden dann wieder bitweise logisch UND-verknüpft.
  • 8. Das Ergebnis ist eine erste Version einer zweiten Maske, die gespeichert wird.
  • 9. Das zweite Paket wird wieder verschoben.
  • 10. Die Schritte 11 und 12 werden wiederholt, bis das zweite Paket seinen ursprünglichen Wert aufweist.
  • 11. Nun ist eine Vielzahl erster Versionen von Masken gespeichert.
  • 12. Diese Masken werden nun mit einem dritten Paket verknüpft, wobei das dritte Paket in gleicher Weise rotiert, geshiftet oder verschoben wird. Dies wird durchgeführt mit dem dritten Paket und nachfolgenden Paketen mittels oben erwähnter, bitweiser logischer UND-Verknüpfung. Nach jedem Schritt wird ein Prüfschritt durchgeführt, der prüft, ob die jeweilige Maske einen Wert von größer als Null aufweist.
  • 13. Nachdem einige Datenpakete mit den jeweiligen Masken kombiniert oder logisch verknüpft worden sind, wird sich eine der Masken nicht mehr ändern und einen Wert größer als Null haben. Diese Maske kann als gültiges und stabiles Bitmuster bezeichnet werden, welches indikativ für die Datenpakete des DoS-Angriffes oder für die Schadpakete ist.
  • 14. Dieses Bitmuster oder Pattern kann zum Filtern der nachfolgenden Datenpakete genutzt werden.
Below example for a search of a bit pattern with dynamic position is the third embodiment according to 7 briefly explain.
  • 1. The first data packet DP is in the first register 2 saved.
  • 2. The second data packet DP is in the second register 3 saved.
  • 3. Both data packets DP are logically ANDed bit by bit.
  • 4. The result is a first version of a first mask, which is saved.
  • 5. The first mask is checked to see if it has a value greater than zero. That is, it is checked whether the first version of the first mask has at least one nonzero bit.
  • 6. The second packet is then shifted bitwise or bytewise or rotated, that is, the bits or bytes that are pushed out at the end are prefixed at the beginning. Both a left and a right shift is possible.
  • 7. The first packet and the shifted second packet are then logically ANDed again bitwise.
  • 8. The result is a first version of a second mask that is saved.
  • 9. The second package is moved again.
  • 10. Steps 11 and 12 are repeated until the second packet is at its original value has.
  • 11. Now a large number of first versions of masks are stored.
  • 12. These masks are now linked to a third package, with the third package being similarly rotated, shifted or moved. This is done with the third packet and subsequent packets using the above-mentioned bitwise logical AND operation. After each step, a test step is performed, which checks whether the respective mask has a value greater than zero.
  • 13. After some data packages have been combined or logically linked to the respective masks, one of the masks will no longer change and have a value greater than zero. This mask can be referred to as a valid and stable bit pattern which is indicative of the data packets of the DoS attack or the malicious packets.
  • 14. This bit pattern or pattern can be used to filter the subsequent data packets.

Einen kurzen schematischen Auszug des oben beschriebenen Verfahrens zur Suche eines Bitmusters mit dynamischer Position zeigt 8a.A brief schematic excerpt of the above-described method for searching a dynamic position bit pattern is shown 8a ,

In 8b ist ein schematisches Beispiel zu einer solchen Suche eines Bitmusters mit einer dynamischen Position dargestellt. Der dargestellte Pfeil mit dem Bezugszeichen PF zeigt, dass das Bitmuster gleichsam über das Datenpaket gleitet.In 8b Fig. 12 shows a schematic example of such a search of a bit pattern with a dynamic position. The illustrated arrow with the reference symbol PF shows that the bit pattern, as it were, slides over the data packet.

9 zeigt ein schematisches Ablaufdiagramm eines vierten Ausführungsbeispiels des erfindungsgemäßen Suchverfahrens. Das vierte Ausführungsbeispiel gemäß 9 unterscheidet sich von dem ersten Ausführungsbeispiel gemäß 1 dahingehend, dass ein zusätzlicher Verfahrensschritt b2) vorgesehen ist. Zur Vermeidung von Wiederholungen wird auf eine erneute Darstellung der Verfahrensschritte a) bis i) verzichtet. Der zusätzliche Verfahrensschritt b2) lautet wie folgt: 9 shows a schematic flow diagram of a fourth embodiment of the inventive search method. The fourth embodiment according to 9 differs from the first embodiment according to 1 in that an additional method step b2) is provided. To avoid repetition, a renewed presentation of the method steps a) to i) is dispensed with. The additional process step b2) is as follows:

Verfahrensschritt b2):Process step b2):

Der Inhalt des zweiten Registers 3, welches das von dem Netzwerk empfangene Datenpaket DP speichert, wird mittels einer Steuervorrichtung 7 um jeweils N4 Bits verschoben und jeweils in ein entsprechendes zweites Register 3 zur parallelisierten Suche gespeichert.The content of the second register 3 which stores the data packet DP received from the network is controlled by a control device 7 each shifted by N4 bits and each in a corresponding second register 3 stored for parallelized search.

10 zeigt ein schematisches Blockschaltbild eines bevorzugten Ausführungsbeispiels der erfindungsgemäßen Suchvorrichtung 1 zum Durchführen des oben erläuterten Suchverfahrens für eine Netzwerkeinrichtung zum Suchen eines für Datenpakete DP eines DoS-Angriffes indikativen Bitmusters. Die erfindungsgemäße Suchvorrichtung 1 weist zumindest ein erstes Register 2, zumindest ein zweites Register 3, eine Logikeinrichtung 4, eine Speichereinrichtung 5, eine Identifiziervorrichtung 6 und eine Steuervorrichtung 7 auf, welche insbesondere als Teil einer FPGA-Schaltung oder als Teil einer ASIC-Schaltung ausgebildet sind. 10 shows a schematic block diagram of a preferred embodiment of the search device according to the invention 1 for performing the above-mentioned network device searching method for searching a bit pattern indicative of data packets DP of a DoS attack. The search device according to the invention 1 has at least a first register 2 , at least a second register 3 , a logic device 4 , a storage device 5 , an identifier 6 and a control device 7 which are designed, in particular, as part of an FPGA circuit or as part of an ASIC circuit.

Das erste Register 2 mit N2 Speicherstellen ist dazu geeignet, ein von der Netzwerkeinheit empfangenes erstes Datenpaket DP mit N1 Bits zu speichern.The first register 2 with N2 memory locations is suitable for storing a first data packet DP with N1 bits received from the network unit.

Das zweite Register 3 mit N2 Speicherstellen ist dazu geeignet, ein von der Netzwerkeinrichtung empfangenes zweites Datenpaket DP mit N1 Bits zu speichern.The second register 3 with N2 memory locations is suitable for storing a second data packet DP with N1 bits received from the network device.

Die Logikeinrichtung 4 führt jeweils eine logische UND-Verknüpfung des Inhaltes des jeweiligen ersten Registers 2 und des Inhaltes des jeweiligen zweiten Registers 3 bitweise durch.The logic device 4 leads in each case a logical AND connection of the content of the respective first register 2 and the contents of the respective second register 3 bit by bit.

Die Speichereinrichtung 5 ist zum Speichern des jeweiligen Ergebnisses der logischen UND-Verknüpfung geeignet. Alternativ kann auf eine zusätzliche Einrichtung 5 verzichtet werden. Dann wird das jeweilige Ergebnis der logischen UND-Verknüpfung in ein erstes Register 2 gespeichert.The storage device 5 is suitable for storing the respective result of the logical AND operation. Alternatively, on an additional device 5 be waived. Then the respective result of the logical AND operation becomes a first register 2 saved.

Die Identifiziereinrichtung 6 identifiziert jeweils zumindest einen zusammenhängenden Bereich mit N3 Bits, wobei N3 ≤ N1 ist, in dem jeweiligen gespeicherten Ergebnis, wobei der zusammenhängende Bereich zumindest ein Bit ungleich Null aufweist.The identifier 6 identifies at least one contiguous region of N3 bits, where N3 ≦ N1, in the respective stored result, the contiguous region having at least one nonzero bit.

Die Steuervorrichtung 7 ist dazu geeignet, die Schritte c) bis f) gemäß 1 durchzuführen, bis sich eine der gespeicherten Masken nicht mehr ändert, welche zumindest ein Bit ungleich Null aufweist.The control device 7 is suitable to the steps c) to f) according to 1 until one of the stored masks, which has at least one nonzero bit, no longer changes.

Obwohl die vorliegende Erfindung vorstehend anhand der bevorzugten Ausführungsbeispiele beschrieben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige Art und Weise modifizierbar. Beispielsweise ist es denkbar, die Länge der Maske auf eine vorbestimmte Länge zu reduzieren. Dadurch könnten zwar Datenpakete, die nicht zum DoS-Angriff gehören, auch herausgefiltert werden, aber der reduzierte Aufwand an Registern und Zeit kann diesen Nachteil überwiegen.Even though the present invention described above with reference to the preferred embodiments it is not limited to that, but in many ways and modifiable. For example, it is conceivable the length of Mask to a predetermined length to reduce. This could Although data packets that do not belong to the DoS attack are also filtered out, but the reduced expense of registers and time can outweigh this disadvantage.

Claims (14)

Suchverfahren mittels einer dedizierten Suchvorrichtung (1) für eine Netzwerkeinrichtung zum Suchen eines für Datenpakete (DP) eines DoS-Angriffes auf die Netzwerkeinrichtung indikativen Bitmusters, mit den Schritten: a) Speichern eines ersten von der Netzwerkeinrichtung empfangenen Datenpakets (DP) mit N1 Bits in zumindest einem ersten Register (2) mit N2 Speicherstellen, wobei N2 ≥ N1 ist; b) Speichern eines zweiten von der Netzwerkeinrichtung empfangenen Datenpaketes (DP) mit N1 Bits in zumindest einem zweiten Register (3) mit N2 Speicherstellen, wobei N2 ≥ N1' ist; c) bitweises logisches UND-Verknüpfen des Inhalts des jeweiligen ersten Registers (2) und des Inhalts des jeweiligen zweiten Registers (3) mittels einer Logikeinrichtung (4); d) Speichern des jeweiligen Ergebnisses des logischen UND-Verknüpfens; e) jeweiliges Identifizieren zumindest eines zusammenhängenden Bereiches mit N3 Bits, wobei N3 ≤ N1 ist, in dem jeweiligen gespeicherten Ergebnis, welcher zumindest ein Bit ungleich Null aufweist, mittels einer Identifiziervorrichtung (6); f) Speichern des jeweiligen identifizierten Bereiches als Maske für das indikative Bitmuster in das entsprechende oder in ein weiteres erstes Register (2); g) Speichern eines weiteren von der Netzwerkeinrichtung empfangenen Datenpaketes (DP) in das zumindest eine zweite Register (3); h) Durchführen der Schritte c) bis f) bis sich eine der gespeicherten Masken nicht mehr ändert, welche zumindest ein Bit ungleich Null aufweist.Search method by means of a dedicated search device ( 1 ) for a network device for searching a bit pattern indicative of data packets (DP) of a DoS attack on the network device, comprising the steps of: a) storing a first data packet (DP) received by the network device with N1 bits in at least one first register ( 2 ) with N2 storage locations, where N2 ≥ N1; b) storing a second data packet (DP) received by the network device with N1 bits in at least one second register ( 3 ) with N2 storage locations, where N2 ≥ N1 '; c) bitwise logical ANDing the contents of the respective first register ( 2 ) and the content of the respective second register ( 3 ) by means of a logic device ( 4 ); d) storing the respective result of the logical AND operation; e) respectively identifying at least one contiguous area with N3 bits, where N3 ≤ N1, in the respective stored result having at least one non-zero bit by means of an identifier ( 6 ); f) storing the respective identified area as a mask for the indicative bit pattern in the corresponding or in a further first register ( 2 ); g) storing a further data packet (DP) received by the network device into the at least one second register ( 3 ); h) performing steps c) to f) until one of the stored masks, which has at least one nonzero bit, no longer changes. Suchverfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Suchverfahren folgenden weiteren Schritt aufweist: i) Bestimmen derjenigen Maske, welche sich nach Durchführung der Schritte a) bis g) nicht mehr ändert und zumindest ein Bit ungleich Null aufweist, als gültige, für das Bitmuster indikative Maske.Search method according to claim 1, characterized, that the search method has the following further step: i) determining that mask, which after the implementation of steps a) to g) no longer changes and has at least one non-zero bit as valid, indicative of the bit pattern Mask. Suchverfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das jeweilige Ergebnis der logischen UND-Verknüpfung in das entsprechende erste Register (2) gespeichert wird.Search method according to claim 1 or 2, characterized in that the respective result of the logical AND operation in the corresponding first register ( 2 ) is stored. Suchverfahren nach Anspruch 1 oder einem der Ansprüche 2 bis 3, dadurch gekennzeichnet, dass nach dem Verfahrensschritt f) das entsprechende erste Register (2) mit Replikationen der Maske zur Bereitstellung einer parallelisierten Suche aufgefüllt wird.Search method according to Claim 1 or one of Claims 2 to 3, characterized in that after the method step f) the corresponding first register ( 2 ) is populated with replicas of the mask to provide a parallelized search. Suchverfahren nach Anspruch 1 oder einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass der Schritt h) für die jeweilige Maske in einem vorbestimmtem Bereich des weiteren Datenpaketes (DP) durchgeführt wird.Search method according to claim 1 or one of claims 2 to 4, characterized in that the step h) for the respective mask in a predetermined Area of further data packet (DP) is performed. Suchverfahren nach Anspruch 5, dadurch gekennzeichnet, dass der vorbestimmte Bereich in dem weiteren Datenpaket (DP) durch eine absolute Startposition (P1) und/oder durch eine absolute Endposition bestimmt wird.Search method according to claim 5, characterized in that that the predetermined range in the further data packet (DP) by an absolute start position (P1) and / or an absolute end position is determined. Suchverfahren nach Anspruch 5, dadurch gekennzeichnet, dass der vorbestimmte Bereich in dem weiteren Datenpaket (DP) durch eine relative Startposition (P2) bestimmt wird.Search method according to claim 5, characterized in that that the predetermined range in the further data packet (DP) by a relative start position (P2) is determined. Suchverfahren nach Anspruch 1 oder einen der Ansprüche 2 oder 3, dadurch gekennzeichnet, dass nach dem Schritt f) der Inhalt des jeweiligen zweiten Registers (3) mittels einer Steuervorrichtung (7) um eine vorbestimmte Anzahl N4 von Bits verschoben wird und die Schritt c) bis f) durchgeführt werden, bis das jeweilige zweite Register (3) den jeweiligen Inhalt vor dem Verschieben aufweist.Search method according to claim 1 or one of claims 2 or 3, characterized in that after step f) the content of the respective second register ( 3 ) by means of a control device ( 7 ) is shifted by a predetermined number N4 of bits and the steps c) to f) are carried out until the respective second register ( 3 ) has the respective content before moving. Suchverfahren nach Anspruch 1 oder einem der Ansprüche 2 oder 3, dadurch gekennzeichnet, dass der Inhalt des zweiten Registers (3), welches das von der Netzwerkeinrichtung empfangene Datenpaket (DP) speichert, mittels einer Steuervorrichtung (7) um jeweils N4 Bits verschoben wird und jeweils in ein entsprechendes zweites Register (3) zur parallelisierten Suche gespeichert wird.Search method according to Claim 1 or one of Claims 2 or 3, characterized in that the content of the second register ( 3 ), which stores the data packet (DP) received from the network device, by means of a control device ( 7 ) is shifted by N4 bits in each case and in each case into a corresponding second register ( 3 ) is stored for parallelized search. Suchverfahren nach Anspruch 1 oder einem der Ansprüche 2 bis 9, dadurch gekennzeichnet, dass das zumindest eine erste Register (2), das zumindest eine zweite Register (3), die Logikeinrichtung (4), die Identifiziervorrichtung (6) und/oder die Steuervorrichtung (7) zumindest als Teil einer FPGA-Schaltung oder als Teil einer ASIC-Schaltung ausgebildet sind.Search method according to Claim 1 or one of Claims 2 to 9, characterized in that the at least one first register ( 2 ), that at least a second register ( 3 ), the logic device ( 4 ), the identifier ( 6 ) and / or the control device ( 7 ) are formed at least as part of an FPGA circuit or as part of an ASIC circuit. Suchverfahren nach Anspruch 1 oder einem der Ansprüche 2 bis 10, dadurch gekennzeichnet, dass die Bitlänge des jeweiligen gespeicherten Ergebnisses durch das Kleinere von N1 und N1 bestimmt wird.Search method according to claim 1 or one of claims 2 to 10, characterized in that the bit length of the respective stored Result is determined by the smaller of N1 and N1. Suchvorrichtung (1) zum Durchführen des Suchverfahrens nach Anspruch 1 oder einem der Ansprüche 2 bis 10 für eine Netzwerkeinrichtung zum Suchen eines für Datenpakete (DP) eines DoS-Angriffes indikativen Bitmusters, mit: – zumindest einem ersten Register (2) mit N2 Speicherstellen, welches dazu geeignet ist, ein von der Netzwerkeinheit empfangenes erstes Datenpaket (DP) mit N2 Bits zu speichern; – zumindest einem zweiten Register (3) mit N2 Speicherstellen, welches dazu geeignet ist, ein von der Netzwerkeinheit empfangenes zweites Datenpaket (DP) mit N1 Bits zu speichern, wobei N2 ≥ N1' ist; – einer Logikeinrichtung (4), welche den Inhalt des jeweiligen ersten Registers (2) und den Inhalt des jeweiligen zweiten Registers (3) bitweise logisch miteinander UND-verknüpft; – einer Speichereinrichtung (5) zum Speichern des jeweiligen Ergebnisses der logischen UND-Verknüpfung; – einer Identifiziereinrichtung (6), welche zumindest einen zusammenhängenden Bereich mit N3 Bits, wobei N3 ≤ N1 ist, in dem jeweiligen gespeicherten Ergebnis identifiziert, wobei der zusammenhängende Bereich zumindest ein Bit ungleich Null aufweist; und – einer Steuervorrichtung, welche dazu geeignet ist, die Schritte c) bis f) durchzuführen, bis sich eine der gespeicherten Masken nicht mehr ändert, welche zumindest ein Bit ungleich Null aufweist.Search device ( 1 ) for carrying out the search method according to claim 1 or one of claims 2 to 10 for a network device for searching a bit pattern indicative of data packets (DP) of a DoS attack, comprising: - at least one first register ( 2 N2 memory locations adapted to store N2 bits of a first data packet (DP) received from the network unit; - at least a second register ( 3 N2 memory locations adapted to store N1 bits of a second data packet (DP) received from the network unit, where N2 ≥ N1 '; - a logic device ( 4 ) containing the contents of the respective first register ( 2 ) and the content of the respective second register ( 3 ) bitwise logically ANDed with each other; A memory device ( 5 ) for storing the respective result of the logical AND operation; - an identifier ( 6 ) identifying at least one contiguous region of N3 bits, where N3 ≦ N1, in the respective stored result, the contiguous region having at least one nonzero bit; and a control device adapted to perform steps c) to f) until one of the stored masks, which has at least one nonzero bit, no longer changes. Filterverfahren zum Filtern von Datenpaketen (DP) eines DoS-Angriffes auf eine Netzwerkeinrichtung, mit den Schritten: – Generieren einer Maske mittels des Suchverfahrens nach Anspruch 1 oder einem der Ansprüche 2 bis 10; – Vergleichen von Datenpaketen (DP), welche von der Netzwerkeinrichtung empfangen werden, mit der Maske; und – Herausfiltern derjenigen Datenpakete (DP), welche das zu der Maske indikative Bitmuster beinhalten.Filtering method for filtering data packets (DP) a DoS attack on a network device, with the steps: - To generate a mask by means of the search method according to claim 1 or a the claims 2 to 10; - To compare of data packets (DP) received by the network device be with the mask; and - filtering out those Data packets (DP) containing the bit pattern indicative of the mask. Filtervorrichtung zum Filtern von Datenpaketen (DP) eines DoS-Angriffes auf eine Netzwerkeinrichtung, mit: – einer Suchvorrichtung (1) nach Anspruch 12, und – einer Extrahiervorrichtung, welche diejenigen empfangenen Datenpakete (DP) herausfiltert, welche das zu der Maske indikative Bitmuster beinhalten.Filtering device for filtering data packets (DP) of a DoS attack on a network device, comprising: - a search device ( 1 ) according to claim 12, and - an extracting device which filters out those received data packets (DP) containing the bit pattern indicative of the mask.
DE200610045349 2006-09-26 2006-09-26 Bit pattern searching method for data packets on e.g. computer, involves performing logical AND- concatenation of contents of registers, and identifying coherent range with specific number of bits in concatenation result Expired - Fee Related DE102006045349B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200610045349 DE102006045349B3 (en) 2006-09-26 2006-09-26 Bit pattern searching method for data packets on e.g. computer, involves performing logical AND- concatenation of contents of registers, and identifying coherent range with specific number of bits in concatenation result

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610045349 DE102006045349B3 (en) 2006-09-26 2006-09-26 Bit pattern searching method for data packets on e.g. computer, involves performing logical AND- concatenation of contents of registers, and identifying coherent range with specific number of bits in concatenation result

Publications (1)

Publication Number Publication Date
DE102006045349B3 true DE102006045349B3 (en) 2008-04-30

Family

ID=39244640

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610045349 Expired - Fee Related DE102006045349B3 (en) 2006-09-26 2006-09-26 Bit pattern searching method for data packets on e.g. computer, involves performing logical AND- concatenation of contents of registers, and identifying coherent range with specific number of bits in concatenation result

Country Status (1)

Country Link
DE (1) DE102006045349B3 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835726A (en) * 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
CA2549577A1 (en) * 2004-09-09 2006-03-16 Avaya Technology Corp. Methods of and systems for network traffic security

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835726A (en) * 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
CA2549577A1 (en) * 2004-09-09 2006-03-16 Avaya Technology Corp. Methods of and systems for network traffic security

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KR 10 2005 00 66 049 A (abstract) In: Korean Patent Abstracts *

Similar Documents

Publication Publication Date Title
EP2882144B1 (en) Method and filter assembly for filtering incoming messages transmitted over a serial bus of a communication network in a participant of the network
DE112011103561T5 (en) Network processor and method for accelerating data packet parsing
EP0619667A1 (en) Access method to the address characteristics of communicating partners with a first address field while sending a data packet
EP1183690B1 (en) Memory array with address scrambling
DE102006045349B3 (en) Bit pattern searching method for data packets on e.g. computer, involves performing logical AND- concatenation of contents of registers, and identifying coherent range with specific number of bits in concatenation result
EP3582443A1 (en) Grammar detection
EP2597815B1 (en) Method for identification of devices included in a communication network
DE60102230T2 (en) MULTIPLE ENTRY COMPARISON IN A CONTINUOUS ADDRESSABLE MEMORY
EP1182560A2 (en) Processor-memory system
DE102014105218A1 (en) Search device using finite automata for partial words
EP1332501B1 (en) Memory management logic for expanding the utilization of read-only memories
DE19645057C2 (en) Device for the selection of address words by means of demultiplex decoding
DE102004048167B4 (en) Method for content-related handling of a data stream
EP1892639B1 (en) Secure program code execution
DE112021004729T5 (en) THREE-COLOR BITMAP ARRAY FOR GARBAGE COLLECTION
DE69909118T9 (en) DEVICE AND METHOD FOR SECURING AN INTEGRATED CIRCUIT
DE102018221349A1 (en) Procedure for managing a store
DE4342521C1 (en) Compressed data expansion method
LU101410B1 (en) Method for providing and validating alternative object identifiers as well as for determining references of alternative object identifiers within an OPC UA-based communication environment
EP1602017A2 (en) Method for using a microprocessor and a microprocessor system
DE102016211768A1 (en) Memory direct access control device and method of operation therefor
DE10307831B4 (en) Method for accessing search elements in an access list
EP0760502A1 (en) Ranking method for membership function values of linguistic input values in a fuzzy logic processor and device for carrying out the method
DE2156924A1 (en) Arrangement for reducing the idling of the central unit in a real-time computer
DE102020123509A1 (en) Method for providing and validating alternative object identifiers and for determining references of alternative object identifiers within an OPC UA-based communication environment

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20110401