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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Abstract
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
In
der
Die
Druckschrift
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.
- 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.
- 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.
- 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:
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.
Verfahrensschritt a):Process step a):
Ein
erstes von der Netzwerkeinrichtung empfangenes Datenpaket DP mit
N1 Bits wird in zumindest einem ersten Register
Verfahrensschritt b):Process step b):
Ein
zweites von der Netzwerkeinrichtung empfangenes Datenpaket DP mit
N1 Bits wird in zumindest einem zweiten Register
Verfahrensschritt c):Process step c):
Der
Inhalt des jeweiligen ersten Registers
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
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
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
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
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
Alternativ
kann auch der vorbestimmte Bereich in dem weiteren Datenpaket DP
durch eine relative Startposition P2 bestimmt sein. In
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.
Verfahrensschritt f2:Process step f2:
Nach
dem Verfahrensschritt f wird das entsprechende erste Register
In
In
den
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
Verfahrensschritt f3:Process step f3:
Nach
Durchführung
des Schrittes f) wird der Inhalt des jeweiligen zweiten Registers
Unten
stehendes Beispiel für
eine Suche eines Bitmusters mit dynamischer Position soll das dritte
Ausführungsbeispiel
gemäß
- 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.
- 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
In
Verfahrensschritt b2):Process step b2):
Der
Inhalt des zweiten Registers
Das
erste Register
Das
zweite Register
Die
Logikeinrichtung
Die
Speichereinrichtung
Die
Identifiziereinrichtung
Die
Steuervorrichtung
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)
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)
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 |
-
2006
- 2006-09-26 DE DE200610045349 patent/DE102006045349B3/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |