DE102019210224A1 - Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk - Google Patents

Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk Download PDF

Info

Publication number
DE102019210224A1
DE102019210224A1 DE102019210224.7A DE102019210224A DE102019210224A1 DE 102019210224 A1 DE102019210224 A1 DE 102019210224A1 DE 102019210224 A DE102019210224 A DE 102019210224A DE 102019210224 A1 DE102019210224 A1 DE 102019210224A1
Authority
DE
Germany
Prior art keywords
data packet
hardware
filter
register
context information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019210224.7A
Other languages
English (en)
Inventor
Jens Gramm
Andreas Weber
Wolfram Gottschlich
Janin Wolfinger
Michael Herrmann
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102019210224.7A priority Critical patent/DE102019210224A1/de
Priority to US16/921,375 priority patent/US11522892B2/en
Priority to CN202010655694.8A priority patent/CN112217780A/zh
Publication of DE102019210224A1 publication Critical patent/DE102019210224A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0273Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
    • H04L41/028Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP] for synchronisation between service call and response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • 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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk, wobei an einem Eingang einer Hardware-Schalteinrichtung (102) ein Datenpaket (200) empfangen wird (302), wobei abhängig von Sicherungsschicht-Information aus dem Datenpaket (200) und abhängig von einer Hardware-Adresse ein Ausgang der Hardware-Schalteinrichtung (102) zum Senden des Datenpakets (200) oder einer Kopie des Datenpakets (200) ausgewählt wird (316), wobei Kontextinformation für das Datenpaket (200) bestimmt wird (304, 310, 316, 322, 328, 334), wobei in einem Vergleich durch einen Hardware-Filter (104) ein Ist-Wert aus einem Feld des Datenpakets (200) mit einem Soll-Wert für Werte aus diesem Feld verglichen wird (306, 312, 328, 324, 330, 336), wobei das Feld Sicherungsschicht-Daten oder Vermittlungsschicht-Daten umfasst, und wobei abhängig von einem Ergebnis des Vergleichs ein Interrupt für eine Recheneinrichtung (106) ausgelöst wird (308, 314, 320, 326, 332, 338), wobei, ausgelöst durch das Interrupt, eine Analyse zur Erkennung eines Angriffsmusters in einem Netzwerkverkehr im Rechnernetzwerk durch den Mikroprozessor (106) abhängig von der Kontextinformation für das Datenpaket (200) ausgeführt wird (352, 354, 356, 358)

Description

  • Stand der Technik
  • Die Erfindung geht aus von einem Verfahren und einer Vorrichtung für Angriffserkennung in einem Rechnernetzwerk.
  • Die Aufgabe eines derartigen „Network Intrusion Detection and Prevention Systems“ (NIDPS) ist das Identifizieren von und das Reagieren auf Anomalien im Netzwerkverkehr eines verteilten Computersystems. NIDPS sind Systeme, die typischerweise eingesetzt werden, um Angriffe auf Unternehmensnetzwerke, sogenannte Enterprise-Netzwerke, zu detektieren und zu verhindern. NIDPS können auch in Automotive-Netzwerken eingesetzt werden. Automotive-Netzwerke sind interne Netzwerke von Fahrzeugen mit „Electronic Control Units“ (ECUs) als Netzwerkknoten.
  • Aufgrund funktionaler Unterschiede zwischen Enterprise-Netzwerken und Automotive-Netzwerken lassen sich NIDPS für Enterprise-Netzwerke nicht effizient für Automotive-Netzwerke einsetzen.
  • Wünschenswert ist es daher, ein NIDPS für ein Automotive-Netzwerk bereitzustellen.
  • Offenbarung der Erfindung
  • Dies wird durch den Gegenstand der unabhängigen Ansprüche erreicht. Um ein NIDPS für ein Automotive-Netzwerk bereitzustellen, sind Unterschiede von Automotive- zu Enterprise-Netzwerken zu berücksichtigen. Diese sind zu finden in deren Netzwerkstruktur, Netzwerkdynamik und den Netzwerkknoten.
  • N etzwerkstru ktu r:
    • Ein Enterprise-Netzwerk folgt typischerweise einem Client-Server-Modell, in dem es eine kleinere Anzahl an dedizierten Server-Netzwerkknoten gibt, die Dienste an eine typischerweise höhere Anzahl an Client-Netzwerkknoten anbieten.
    • Automotive-Netzwerke bestehen aus ECUs, welche Sensorsignal und Aktuatorbefehle austauschen.
  • Enterprise-Netzwerke sind im Allgemeinen wesentlich größer und komplexer als Automotive-Netzwerke. Die Gesamtheit eines Enterprise-Netzwerks ist wesentlich segmentierter, physisch oder logisch separiert in verschiedene Zonen und Sub-Netzwerke. ECUs in typischen Automotive-Netzwerken sind, falls überhaupt, durch „Gateways“ in wenige Teilnetzwerke separiert oder logisch auf Ethernet-Ebene über sogenannte „Virtual Local Area Networks“ (VLANs) getrennt.
  • Netzwerkdynamik:
    • Enterprise- und Automotive-Netzwerken unterscheiden sich in der Dynamik, mit der sich das Netzwerk verändert und betrieben wird.
  • In Enterprise-Netzwerken ändern sich die angeschlossenen Netzwerkknoten dynamisch. Für Veränderungen bei Server-Netzwerkknoten kann unter Umständen noch eine Anpassung in der Konfiguration der Security-Systeme, wie bspw. das NIDPS, durchgeführt werden. Dagegen sind solche Anpassungen bei Netzwerknoten, die Clients sind, im Allgemeinen nicht möglich. Dies liegt daran, dass einige Clients sich von wechselnden Standorten zum Netzwerk verbinden und relativ häufig ausgetauscht werden. Weiterhin lässt sich nicht genau vorhersagen, welche Applikationen auf einem Client ausgeführt werden.
  • ECUs in Automotive Netzwerken werden, wenn überhaupt, sehr selten ausgetauscht und werden dann häufig auch nur durch eine identische Kopie ersetzt. Daher ist es unwahrscheinlich, dass sich an der Funktionsweise des Netzwerks etwas ändert. In einem Automotive-Netzwerk sind die Netzwerkknoten durchweg bekannt. Ebenso sind die darauf jeweils laufenden Applikationen wohldefiniert und Details über die Netzwerkkommunikation können vorgegeben sein.
  • In Enterprise-Netzwerken ist es auch üblich, dass Knoten von außerhalb Verbindungen in ein Unternehmensnetzwerk hinein aufbauen und einen Teil des internen Datenverkehrs darstellen. In einem Automotive-Netzwerk sind alle Kommunikationsknoten des Netzwerks welche für die Fahrzeugfunktionen verantwortlich sind Teil des internen Fahrzeugnetzwerks. Externe Knoten wird nur für spezielle Funktionalität und im begrenzten Rahmen Zugang zum internen Fahrzeugnetzwerk gewährt, z.B. für Diagnose oder für mobile Endgeräte.
  • In Enterprise-Netzwerken können unter Umständen verschiedene Benutzer den gleichen Client verwenden. In ECUs von Automotive-Netzwerken gibt es keine Benutzer, sondern lediglich Applikationen, die vollautomatisch ihren Dienst verrichten.
  • Netzwerkknoten:
    • Hinsichtlich der Ressourcen sind die Netzwerkknoten eines Enterprise-Netzwerks im Allgemeinen um ein vielfaches ressourcenstärker - zum Beispiel im Bezug auf Speicher und Performanz - als ECUs eines Automotive-Netzwerks.
  • Hinsichtlich der Software sind in Enterprise-Netzwerken die Netzwerkknoten meist mit weit verbreiteten Standard-Betriebssystemen und Standard-Software ausgestattet, für die Security-Schwachstellen bekannt sind. Im Allgemeinen, kann aber nicht festgelegt werden, welche Software auf welchem Client System ausgeführt wird, da Benutzer in vielen Fällen Software installieren und deinstallieren können. Deshalb liegt ein Schwerpunkt von NIDPS-Systemen in Enterprise-Netzwerken darin, signatur-basiert zu erkennen, ob versucht wird, bekannte Security-Schwachstellen auszunutzen. Die Netzwerkknoten in Automotive-Netzwerken sind im Allgemeinen mit Software ausgestattet, welche speziell für diesen Anwendungsfall entwickelt wurde. Ein Großteil der Signaturen aus NIDPS-Systemen für Enterprise-Netzwerke ist nicht anwendbar, und es gibt keine größeren Datenbanken über spezifisch für Automotive-Netzwerke bekannte Schwachstellen.
  • Zwar ist die grundsätzliche Aufgabe eines NIDPS, d.h. Detektieren und Reagieren auf Anomalien im Netzwerkverkehr, bei Enterprise- und Automotive-Netzwerken gleich. Aus den oben genannten Punkten wird allerdings ersichtlich, dass sich die grundsätzliche Funktionsweise eines effizienten NIDPS für Automotive-Netzwerke grundsätzlich von der eines NIDPS für Enterprise-Netzwerke unterscheiden muss. Ein NIDPS für ein Automotive-Netzwerk muss sich die bekannte und statische Netzwerkstruktur sowie die wesentlich geringere Dynamik der Netzwerkteilnehmer zunutze machen, um Anomalien mit begrenzten Ressourcen effizient detektieren zu können.
  • Ein Verfahren für Angriffserkennung in einem Rechnernetzwerk sieht vor, dass an einem Eingang einer Hardware-Schalteinrichtung ein Datenpaket empfangen wird, wobei abhängig von Sicherungsschicht-Information aus dem Datenpaket und abhängig von einer Hardware-Adresse ein Ausgang der Hardware-Schalteinrichtung zum Senden des Datenpakets oder einer Kopie des Datenpakets ausgewählt wird, wobei Kontextinformation für das Datenpaket bestimmt wird, wobei in einem Vergleich durch einen Hardware-Filter ein Ist-Wert aus einem Feld des Datenpakets mit einem Soll-Wert für Werte aus diesem Feld verglichen wird, wobei das Feld Sicherungsschicht-Daten oder Vermittlungsschicht-Daten umfasst, und wobei abhängig von einem Ergebnis des Vergleichs ein Interrupt für eine Recheneinrichtung ausgelöst wird, wobei ausgelöst durch das Interrupt, eine Analyse zur Erkennung eines Angriffsmusters in einem Netzwerkverkehr im Rechnernetzwerk durch den Mikroprozessor abhängig von der Kontextinformation für das Datenpaket ausgeführt wird. Der Interrupt wird insbesondere ausgelöst, wenn eine Abweichung zwischen dem Ist-Wert und dem Soll-Wert vorliegt. Der Interrupt kann ausgelöst werden, wenn die Abweichung einen Schwellwert erreicht, über- oder überschreitet.
  • Vorzugsweise wird die Kontextinformation für das Datenpaket in einem Register gespeichert, wobei zur Analyse ein Registerzugriff des Mikroprozessors auf das Register erfolgt. Dies ist eine hinsichtlich der Rechenressourcen besonders effektive Vorgehensweise.
  • Vorzugsweise ist vorgesehen, dass die die Kontextinformation für das Datenpaket im Register gespeichert wird, wenn eine Abweichung zwischen dem Ist-Wert und dem Soll-Wert vorliegt, oder einen Schwellwert überschreitet. Die Kontextinformation wird damit im Bedarfsfall, d.h. bei Vorliegen einer Abweichung besonders effektiv für die Angriffserkennung bereitgestellt.
  • Vorzugsweise ist vorgesehen, dass abhängig von einem Ergebnis der Analyse Kontextinformation für das Datenpaket bestimmt und im Register gespeichert wird. Die Kontextinformation wird damit abhängig von der Analyse ebenfalls im Register aktualisiert.
  • Vorzugsweise ist vorgesehen, dass der Hardware-Filter ein Ternary Content Addressable Memory umfasst, in dem eine Maske für den Soll-Wert gespeichert ist, wobei der Ist-Wert mit der im Ternary Content Addressable Memory gespeicherte Maske verglichen wird, und abhängig vom Ergebnis des Vergleichs festgestellt wird, ob eine Abweichung vorliegt oder nicht. Damit sind frei konfigurierbare Prüfungen möglich.
  • Vorzugsweise ist vorgesehen, dass der Soll-Wert eine Hardware-Adresse charakterisiert, insbesondere eine Medium Access Control Adresse, wobei der Ist-Wert abhängig von Daten aus einem Hardware-Adress-Feld, insbesondere eine Medium Access Control Adresse, eines Datenpakets am Eingang oder Ausgang bestimmt wird. Dies ermöglicht die Angriffserkennung auf Basis des zugrundeliegenden Medium Access Control Protokolls.
  • Vorzugsweise ist vorgesehen, dass der Soll-Wert ein Virtual Local Area Network charakterisiert, und der Ist-Wert abhängig von Daten bestimmt wird, die die Zugehörigkeit eines Datenpakets am Eingang oder Ausgang zu einem Virtual Local Area Network charakterisieren. Dies ermöglicht die Angriffserkennung auf Basis des zugrundeliegenden Virtual Local Area Network Protokolls.
  • Vorzugsweise ist vorgesehen, dass das Vorliegen einer Abweichung erkannt wird, entweder wenn der Hardware-Filter am Eingang oder Ausgang für ein tagged Virtual Logical Area Network ein untagged Virtual Logical Area Network Datenpaket feststellt, oder wenn der Hardware-Filter am Eingang oder Ausgang für ein untagged Virtual Logical Area Network ein tagged Virtual Logical Area Network Datenpaket feststellt. Dies ermöglicht die Angriffserkennung auf Basis des tags.
  • Vorzugsweise ist vorgesehen, dass das Vorliegen einer Abweichung erkannt wird, wenn der Hardware-Filter am Eingang oder Ausgang ein Datenpaket mit einem unbekannten Ethertype, mit einer falschen Checksumme, einer falschen Paketlänge oder einem falschen Paketaufbau feststellt. Dies ermöglicht die Angriffserkennung auf Basis des zugrundeliegenden Ethertyps.
  • Vorzugsweise ist vorgesehen, dass das Vorliegen einer Abweichung erkannt wird, wenn
    ein Dynamic Host Configuration Protocol Filter am Eingang oder Ausgang ein Dynamic Host Configuration Protocol Pakete für Internet Protocol Version 4 und/oder für Internet Protocol Version 6 mit Dynamic Host Configuration Protocol Port 67 und/oder Port 68 feststellt (328),
    ein Transmission Control Protocol oder User Datagram Protocol Filter am Eingang oder Ausgang eine Transmission Control Protocol oder User Datagram Protocol Broadcast Nachricht für Internet Protocol Version 4 und/oder für Internet Protocol Version 6 feststellt (328),
    ein Precision Time Protocol Filter am Eingang oder Ausgang eine Precision Time Protocol Nachricht festgestellt (328), wobei deren Inhalt, insbesondere Timestamp, Sequence number, correction field, zumindest teilweise in einem Register für Kontextinformation gespeichert wird.
  • Dies ermöglicht die Angriffserkennung auf Basis des jeweils zugrundeliegenden Protokolls.
  • Eine entsprechende Vorrichtung ist als System on a Chip System ausgebildet, das eine Hardware-Schalteinrichtung, einen Hardware-Filter, ein Register und eine Recheneinrichtung für die Angriffserkennung umfasst, und ausgebildet, das Verfahren auszuführen. Damit ist eine Angriffserkennung besonders effektiv in einer integrierten Lösung darstellbar.
  • Vorzugsweise ist die Hardware-Schalteinrichtung ausgebildet, die Kontextinformation für das Datenpaket im Register zu speichern, wobei der Mikroprozessor ausgebildet ist, zur Analyse einen Registerzugriff auf das Register auszuführen. Dies ermöglicht einen direkten Zugriff.
  • Vorzugsweise ist die Hardware-Schalteinrichtung ausgebildet, die Kontextinformation für das Datenpaket im Register zu speichern, wenn eine Abweichung zwischen dem Ist-Wert und dem Soll-Wert vorliegt, oder einen Schwellwert überschreitet. Der direkte Zugriff auf den Speicher für die Kontextinformation ist insbesondere hinsichtlich der Effizienz der Funktion der Hardware-Schalteinrichtung vorteilhaft.
  • Vorzugsweise ist der Mikroprozessor ausgebildet, abhängig von einem Ergebnis der Analyse Kontextinformation für das Datenpaket zu bestimmen und im Register zu speichern. Der direkte Zugriff auf den Speicher der Kontextinformation ist insbesondere hinsichtlich der Effizienz der Angriffserkennung vorteilhaft.
  • Vorzugsweise ist ein Ternary Content Addressable Memory (108), ein Address Translation Unit, ein Virtual Local Area Network Translation Unit, ein Dynamic Host Configuration Protocol Filter, ein Transmission Control Protocol oder User Datagram Protocol Filter und/oder ein Precision Time Protocol Filter als Hardware-Filter ausgebildet, ein Datenpaket für die Angriffserkennung zu analysieren und das Interrupt abhängig vom Ergebnis der Prüfung dem Mikroprozessor für die Angriffserkennung bereitzustellen. Dies ermöglicht ein diesbezüglich besonders vorteilhaftes Verfahren.
  • Weitere vorteilhafte Ausführungsformen ergeben sich aus der folgenden Beschreibung und der Zeichnung. In der Zeichnung zeigt
    • 1 eine schematische Darstellung einer Vorrichtung für Angriffserkennung,
    • 2 einen Datenfluss in der Vorrichtung,
    • 3 Schritte in einem Verfahren zur Angriffserkennung.
  • 1 zeigt eine schematische Darstellung einer Vorrichtung 100 für Angriffserkennung in einem Rechnernetzwerk. Die Vorrichtung 100 ist als System on a Chip System ausgebildet.
  • Die Vorrichtung 100, umfasst eine Hardware-Schalteinrichtung 102, einen Hardware-Filter 104 und eine Recheneinrichtung 106 für die Angriffserkennung. Die Recheneinrichtung 106 wird im Folgenden am Beispiel eines Mikroprozessors beschrieben. Statt einem Mikroprozessor kann auch ein Mikrokontroller verwendet werden.
  • Das Rechnernetzwerk ist im Beispiel ein Automotive Ethernet Netzwerk. Das beispielhaft beschriebene automotive Ethernet basiert auf Ethernet-Standard IEEE 802.3-2018 und kann Elemente aus IEEE 802.1Q, 100BASE-T1 oder 1000BASE-T1 umfassen. BroadR-Reach bzw. 100BASE-T1/X spezifizieren das physikalische Transportmedium in Layer 1. Im Ethernet Protokoll Stack gibt es weitere Standards welche zum Teil spezifisch für den Automotive Kontext sind, beispielsweise DoIP, SOME/IP und zum Teil IPv4, TSN.
  • Im Automotive Ethernet Kontext werden zum Teil nur Teile eines Standards genutzt und andere nicht, d.h. nicht der gesamte Protokollumfang wird auch genutzt.
  • Die Hardware-Schalteinrichtung 102 umfasst im Beispiel einen Ethernet Switch.
  • Im Beispiel umfasst der Hardware-Filter 104 ein Ternary Content Addressable Memory 108, ein Address Translation Unit 110, ein Virtual Local Area Network Translation Unit 112 und weitere Hardware-Filter 114, beispielsweise ein Dynamic Host Configuration Protocol Filter, ein Transmission Control Protocol oder User Datagram Protocol Filter und/oder ein Precision Time Protocol Filter.
  • Der Hardware-Filter 104 ist ausgebildet, ein Datenpaket für die Angriffserkennung zu analysieren. Der Hardware-Filter 104 ist optional ausgebildet das Datenpaket oder eine Kopie des Datenpakets abhängig vom Ergebnis der Prüfung dem Mikroprozessor 106 für die Angriffserkennung bereitzustellen. Dazu sind optional der Hardware-Filter 104 und der Mikroprozessor 106 mit einer Datenleitung 116 verbunden. Der Mikroprozessor 106 ist im Beispiel Teil eines Mikrocontrollers, der einen Random Access Speicher 118 umfasst. Über die Datenleitung 116 sind Datenpakete aus dem Hardware-Filter 102 in den Random Access Speicher 118 für die Angriffserkennung übertragbar.
  • Die Vorrichtung 100 umfasst wenigstens einen Eingang und wenigstens einen Ausgang. Diese sind als Ports 120 für die Hardware-Schalteinrichtung 102 realisiert.
  • Die Hardware-Schalteinrichtung 102 umfasst ein Register 122 für Kontextinformation zu Datenpaketen.
  • Die Hardware-Schalteinrichtung 102 umfasst einen Speicher für Hardware-Adressen von Geräten des Rechnernetzwerks, die mit der Vorrichtung 100 gekoppelt sind vorgesehen sein. Der Speicher umfasst im Beispiel das Register 122 für die Kontextinformation umfassen. Der Speicher ist in einem Aspekt ein Random Access Speicher. Der Speicher kann auch als nicht-flüchtiger Lese- und Schreib-Speicher ausgebildet sein, der Kontextinformation permanent speichern kann.
  • Die Hardware-Schalteinrichtung 102 ist ausgebildet, an einem Eingang ein Datenpaket zu empfangen. Die Hardware-Schalteinrichtung 102 ist ausgebildet, abhängig von Sicherungsschicht-Information aus dem Datenpaket und abhängig von einer Hardware-Adresse aus einem Speicher einen Ausgang der Vorrichtung 100 zum Senden des Datenpakets oder einer Kopie des Datenpakets auszuwählen.
  • Der Mikroprozessor 106 ist ausgebildet, abhängig von Kontextinformation aus dem Register 122 eine Analyse zur Erkennung eines Angriffsmusters in einem Netzwerkverkehr im Rechnernetzwerk auszuführen. Der Mikroprozessor 106 ist ausgebildet, Kontextinformation aus dem Register 122 zu lesen, Kontextinformation für das Register 122 abhängig vom Ergebnis der Analyse zu bestimmen, und letztere Kontextinformation in das Register 122 zu schreiben. Der Mikroprozessor 106 ist ausgebildet, ein Interrupt von der Hardware-Schalteinrichtung 102 zu empfangen. Der Mikroprozessor 106 ist ausgebildet, die Analyse auszuführen, wenn das Interrupt empfangen wird.
  • Der Hardware-Filter 104 ist ausgebildet, in einem Vergleich einen Ist-Wert aus einem Feld des Datenpakets mit einem Soll-Wert für Werte aus diesem Feld zu vergleichen. Das Feld umfasst Sicherungsschicht-Daten oder Vermittlungsschicht-Daten. Der Hardware-Filter 104 ist ausgebildet, dem Mikroprozessor 106 abhängig von einem Ergebnis des Vergleichs das Interrupt zu senden, wenn eine Abweichung zwischen dem Ist-Wert und dem Soll-Wert vorliegt, oder einen Schwellwert überschreitet.
  • Im Folgenden werden Ausprägungen des Hardware-Filters 104 beschrieben.
  • Beispielsweise umfasst der Hardware-Filter 104 ein Ternary Content Addressable Memory 108 in dem eine Maske für den Soll-Wert gespeichert ist. Der Hardware Filter 104 ist in diesem Fall ausgebildet, den Ist-Wert mit der im Ternary Content Addressable Memory gespeicherte Maske zu vergleichen, und abhängig vom Ergebnis des Vergleichs festzustellen, ob die Abweichung vorliegt oder nicht.
  • Beispielsweise charakterisiert der Soll-Wert eine Hardware-Adresse aus dem Speicher. Die Hardware-Adresse ist insbesondere eine Medium Access Control Adresse der Sicherungsschicht. Der Hardware-Filter 104 umfasst in diesem Beispiel die Address Translation Unit 110, die ausgebildet ist den Ist-Wert abhängig von Daten aus einem Hardware-Adress-Feld eines Datenpakets an einem Eingang oder Ausgang der Vorrichtung 100 zu bestimmen, den Ist-Wert in einem Vergleich mit dem Soll-Wert zu vergleichen, und abhängig vom Ergebnis des Vergleichs festzustellen, ob die Abweichung vorliegt oder nicht.
  • Die Address Translation Unit 110 ist eine Einheit in der Sicherungsschicht, die in der Hardware-Schalteinrichtung 102 den Ausgang auswählt, an dem ein empfangenes Datenpaket oder dessen Kopie im Betrieb gesendet wird.
  • Beispielsweise charakterisiert der Soll-Wert ein Virtual Local Area Network. Der Soll-Wert ist beispielsweise ein einem Speicher gespeichert. Der Hardware-Filter 104 umfasst eine Virtual Local Area Network Translation Unit 112, die ausgebildet ist den Ist-Wert abhängig von Daten zu bestimmen, die die Zugehörigkeit eines Datenpakets an einem Eingang oder Ausgang der Vorrichtung 100 zu einem Virtual Local Area Network charakterisieren, den Ist-Wert in einem Vergleich mit dem Soll-Wert zu vergleichen, und abhängig vom Ergebnis des Vergleichs festzustellen, ob die Abweichung vorliegt oder nicht.
  • Die Virtual Local Area Network Translation Unit 112 ist eine Einheit in der Sicherungsschicht, die in der Hardware-Schalteinrichtung 102 den Ausgang auswählt, an dem ein empfangenes Datenpaket oder dessen Kopie im Betrieb in einem Virtual Local Area Network gesendet wird.
  • Der Hardware-Filter 104 kann ausgebildet sein, das Vorliegen einer Abweichung zu erkennen, entweder wenn der Hardware-Filter 104 an einem Eingang oder Ausgang der Vorrichtung für ein tagged Virtual Logical Area Network ein untagged Virtual Logical Area Network Datenpaket feststellt, oder wenn der weitere Hardware-Filter 114 an einem Eingang oder Ausgang der Vorrichtung für ein untagged Virtual Logical Area Network ein tagged Virtual Logical Area Network Datenpaket feststellt.
  • Der Hardware-Filter 104 kann ausgebildet sein, das Vorliegen einer Abweichung zu erkennen, wenn der weitere Hardware-Filter 114 an einem Eingang oder Ausgang der Vorrichtung 100 ein Datenpaket mit einem unbekannten Ethertype, mit einer falschen Checksumme oder einem falschen Paketaufbau feststellt.
  • Der Hardware-Filter 104 kann als weitere Hardware-Filter 114 ein Dynamic Host Configuration Protocol Filter umfassen, der ausgebildet ist, am Eingang oder Ausgang der Vorrichtung Dynamic Host Configuration Protocol Pakete für Internet Protocol Version 4 und/oder für Internet Protocol Version 6 mit Dynamic Host Configuration Protocol Port 67 und/oder Port 68 festzustellen.
  • Der Hardware-Filter 104 kann als weiteren Hardware-Filter 114 ein Transmission Control Protocol oder User Datagram Protocol Filter umfassen, der ausgebildet ist, am Eingang oder Ausgang der Vorrichtung Transmission Control Protocol oder User Datagram Protocol Broadcast Nachrichten für Internet Protocol Version 4 und/oder für Internet Protocol Version 6 festzustellen.
  • Der Hardware-Filter 104 kann als weiteren Hardware-Filter 114 ein Precision Time Protocol Filter umfassen, der ausgebildet ist, am Eingang oder Ausgang der Vorrichtung Precision Time Protocol Nachrichten festzustellen und deren Inhalt, insbesondere Timestamp, Sequence number, correction field, zumindest teilweise in einem Register für Kontextinformation zu speichern.
  • Die beschriebenen Ausprägungen des Hardware-Filters 104 können in der Hardware-Schalteinrichtung 102 parallel oder nacheinander angeordnet sein. Es müssen nicht alle Ausprägungen des Hardware-Filters 104 vorgesehen sein.
  • Der Hardware Filter 104 ist ausgebildet, das Interrupt zum Auslösen der Analyse für das Datenpaket, dessen Ist-Wert verglichen wurde, dem Mikroprozessor 106 zu senden, wenn die Abweichung vorliegt. Der Hardware Filter 104 ist in einem Aspekt ausgebildet, den Interrupt dem Mikroprozessor 106 nicht zu senden, wenn keine Abweichung vorliegt. In einem anderen Aspekt ist der Hardware Filter 104 ausgebildet die Abweichung mit einem Schwellwert zu vergleichen und das Interrupt für die Analyse des Datenpakets, dessen Ist-Wert verglichen wurde, dem Mikroprozessor 106 zu senden, wenn die Abweichung den Schwellwert überschreitet.
  • 2 stellt für ein Ethernet-Datenpaket 200 einen beispielhaften Datenfluss in der Vorrichtung 100 dar. Das Ethernet-Datenpaket 200 wird an einem Eingang der Vorrichtung 100, d.h. im Beispiel einem der Ports 120 empfangen. Das Ethernet-Datenpaket 200 wird an einem Ausgang der Vorrichtung 100, d.h. im Beispiel einem der Ports 120 gesendet.
  • Zwischen dem Eingang und dem Ausgang durchläuft das Ethernet-Datenpaket 200 einen ersten Hardware-Filter 114a, der ausgebildet ist, den Paketaufbau zu prüfen. Der erste Hardware-Filter 114a ist ausgebildet das Interrupt an den Mikroprozessor 106 zu senden, wenn der Paketaufbau nicht einem Soll-Aufbau für das Ethernet-Datenpaket 200 entspricht und anderenfalls das Interrupt nicht zu senden. Der erste Hardware-Filter 114a ist optional ausgebildet, das Ethernet-Datenpaket 200 über die Datenleitung 116 für den Mikroprozessor 106 in den Random Access Speicher 118 zu übertragen, wenn der Paketaufbau nicht dem Soll-Aufbau für das Ethernet-Datenpaket 200 entspricht und anderenfalls das Ethernet-Datenpaket 200 nicht zu übertragen.
  • Zwischen dem ersten Hardware-Filter 114a und dem Ausgang durchläuft das Ethernet-Datenpaket 200 einen zweiten Hardware-Filter 114b, der ausgebildet ist, eine Checksumme für das Ethernet-Datenpakets 200 zu prüfen. Der zweite Hardware-Filter 114b ist ausgebildet das Interrupt an den Mikroprozessor 106 zu senden, wenn die Checksumme nicht einer Soll-Checksumme für das Ethernet-Datenpaket 200 entspricht und anderenfalls das Interrupt nicht zu senden. Der zweite Hardware-Filter 114a ist optional ausgebildet, das Ethernet-Datenpaket 200 über die Datenleitung 116 für den Mikroprozessor 106 in den Random Access Speicher 118 zu übertragen, wenn die Checksumme nicht der Soll-Checksumme für das Ethernet-Datenpaket 200 entspricht und anderenfalls das Ethernet-Datenpaket 200 nicht zu übertragen.
  • Zwischen dem zweiten Hardware-Filter 114b und dem Ausgang durchläuft das Ethernet-Datenpaket 200 die Address Translation Unit 110. Die Address Translation Unit 110 ist ausgebildet, das Interrupt an den Mikroprozessor 106 zu senden, wenn die Abweichung erkannt wird und das Interrupt anderenfalls nicht zu senden. Die Address Translation Unit 110 ist optional ausgebildet, das Ethernet-Datenpaket 200 über die Datenleitung 116 für den Mikroprozessor 106 in den Random Access Speicher 118 zu übertragen, wenn die Abweichung erkannt wird und das Ethernet-Datenpaket 200 anderenfalls nicht zu übertragen. Die Address Translation Unit 110 legt zudem im Beispiel den Port 120 für den Ausgang fest.
  • Zwischen Address Translation Unit 110 und Ausgang durchläuft das Ethernet Datenpaket 200 die Virtual Local Area Network Translation Unit 112. Die Virtual Local Area Network Translation Unit 112 ist ausgebildet, das Interrupt an den Mikroprozessor 106 zu senden, wenn die Abweichung erkannt wird und das Interrupt anderenfalls nicht zu senden. Die Virtual Local Area Network Translation Unit 112 ist optional ausgebildet, das Ethernet-Datenpaket 200 über die Datenleitung 116 für den Mikroprozessor 106 in den Random Access Speicher 118 zu übertragen, wenn die Abweichung erkannt wird und das Ethernet-Datenpaket 200 anderenfalls nicht zu übertragen. Die Virtual Local Area Network Translation Unit 112 legt zudem im Beispiel fest, ob das Ethernet-Datenpaket 200 über den Port 120, der als Ausgang festgelegt ist, nach den Regeln für das Virtual Local Area Network gesendet werden darf oder nicht.
  • Das Senden unterbleibt beispielsweise, wenn der Port 120 für dieses Virtual Local Area Network nicht verwendet werden darf.
  • Zwischen der Virtual Local Area Network Translation Unit 112 und dem Ausgang durchläuft das Ethernet-Datenpaket 200 im Beispiel den weiteren Hardware-Filter 114. Das weiteren Hardware-Filter 114 ist ausgebildet, das Interrupt an den Mikroprozessor 106 zu senden, wenn die Abweichung erkannt wird und das Interrupt anderenfalls nicht zu senden. Das Ethernet-Datenpaket 200 wird optional über die Datenleitung 116 für den Mikroprozessor 106 in den Random Access Speicher 118 übertragen, wenn die Abweichung erkannt wird. Anderenfalls wird das Ethernet-Datenpaket 200 nicht übertragen.
  • In 2 ist zudem eine erste Schnittstelle 202 zwischen dem Register 122 und dem Mikroprozessor 106, genauer dem Prozessorkern 204 des Mikroprozessors 106 dargestellt.
  • In 2 ist zudem eine zweite Schnittstelle 206 zwischen einem ersten Interrupt Controller 208 der Hardware-Schalteinrichtung 102 und einem zweiten Interrupt Controller 210 im Mikroprozessor 106 dargestellt. Der Hardware-Filter 104 ist über eine Interrupt-Datenleitung 212 mit dem ersten Interrupt Controller 208 verbunden. Der Hardware-Filter 104 ist ausgebildet das Interrupt über die Interrupt-Datenleitung 212 an den ersten Interrupt Controller 208 zu senden, wenn im Hardware-Filter 104 eine Abweichung festgestellt wurde. Beispielsweise wird das Interrupt vom ersten Hardware-Filter 114a, vom zweiten Hardware-Filter 114b, vom Ternary Content Addressable Memory 108, vom Address Translation Unit 110, vom Virtual Local Area Network Translation Unit 112, vom Dynamic Host Configuration Protocol Filter, vom Transmission Control Protocol oder User Datagram Protocol Filter, dem Precision Time Protocol Filter und/oder vom weiteren Hardware-Filter 114 ausgelöst.
  • Das Register 122 ist mit dem Hardware-Filter 104 über eine Schnittstelle 214 für Kontextinformation verbunden. Die Kontextinformation wird beispielsweise vom ersten Hardware-Filter 114a, vom zweiten Hardware-Filter 114b, vom Ternary Content Addressable Memory 108, vom Address Translation Unit 110, vom Virtual Local Area Network Translation Unit 112, vom Dynamic Host Configuration Protocol Filter, vom Transmission Control Protocol oder User Datagram Protocol Filter, dem Precision Time Protocol Filter und/oder vom weiteren Hardware-Filter 114 abhängig vom Ethernet-Datenpaket 200 bestimmt und über die Schnittstelle 214 im Register 122 gespeichert.
  • Der erste Interrupt-Controller 208 ist ausgebildet, das Interrupt über die zweite Schnittstelle 206 an den zweiten Interrupt-Controller 210 zu senden. Der zweite Interrupt-Controller 210 ist ausgebildet, den Prozessorkern 204 anzusteuern, Kontextinformation aus dem Register 122 auszulesen, wenn das Interrupt vom zweiten Interrupt-Controller 210 empfangen wird.
  • Der Mikroprozessor 106 ist ausgebildet, die die Analyse zur Erkennung eines Angriffsmusters in einem Netzwerkverkehr im Rechnernetzwerk durch den Mikroprozessor abhängig von der Kontextinformation durchzuführen, wenn das Interrupt empfangen wird. Die Kontextinformation wird vom Mikroprozessor 106 über die erste Schnittstelle 202 gelesen. Geänderte Kontextinformation wird vom Mikroprozessor 106 über die erste Schnittstelle 202 in das Register 122 geschrieben.
  • Der hier geschilderte Ablauf ist ein beispielhafter Ablauf. Für die Funktion macht es keinen Unterschied ob zuerst beispielsweise der weitere Hardware-Filter 114 und dann die Address Translation Unit 110 durchlaufen wird oder umgekehrt. Das gilt für alle weiteren genannten Komponenten in dem dargestellten Ablauf.
  • Das Ternary Content Addressable Memory 108 kann für eine Prüfung der Payload, d.h. für eine Prüfung eines Inhalts der über die Schichten 2 und 3 hinausgeht, ausgebildet sein. In diesem Aspekt kann auch Payload gefiltert werden.
  • 3 stellt Schritte in einem Verfahren zur Angriffserkennung dar.
  • In einem Schritt 302 wird das Ethernet-Datenpaket 200 an einem Port 120 empfangen. Anschließend wird ein Schritt 304 ausgeführt.
  • In einem Schritt 304 wird der Paketaufbau oder eine Paketlänge des Ethernet-Datenpakets 200 bestimmt. Anschließend wird ein Schritt 306 ausgeführt.
  • Im Schritt 306 wird geprüft ob eine Abweichung des Paketaufbaus vom Soll-Aufbau oder eine Abweichung einer Paketlänge von einer Soll-Länge vorliegt. Beispielsweise wird geprüft, ob eine Unregelmäßigkeit hinsichtlich des Paketaufbaus vorliegt.
  • Wenn eine Abweichung vom Soll-Aufbau vorliegt, wird ein Schritt 308 ausgeführt. Wenn keine Abweichung vor wird ein Schritt 310 ausgeführt.
  • Im Schritt 308 wird das Interrupt optional auch das Ethernet-Datenpaket 200 an den Mikroprozessor 106 gesendet. Anschließend wird der Schritt 310 ausgeführt.
  • Im Schritt 310 wird eine Checksumme für das Ethernet-Datenpaket 200 bestimmt. Anschließend wird ein Schritt 312 ausgeführt.
  • Im Schritt 312 wird geprüft, ob eine Abweichung der Checksumme von einer Soll-Checksumme vorliegt. Beispielsweise wird geprüft, ob eine Unregelmäßigkeit bezüglich der Checksumme vorliegt.
  • Wenn eine Abweichung von der Soll-Checksumme vorliegt, wird ein Schritt 314 ausgeführt. Wenn keine Abweichung vor wird ein Schritt 316 ausgeführt.
  • Im Schritt 314 wird das Interrupt optional auch das Ethernet-Datenpaket 200 an den Mikroprozessor 106 gesendet. Anschließend wird der Schritt 316 ausgeführt.
  • Im Schritt 316 wird eine Ist-Hardware-Adresse für das Ethernet-Datenpaket 200 bestimmt. Anschließend wird ein Schritt 318 ausgeführt.
  • Im Schritt 318 wird geprüft, ob die Ist-Hardware-Adresse bekannt ist, insbesondere mit einer Hardware-Adresse aus einem Speicher übereinstimmt. Beispielsweise wird geprüft, ob eine bekannte Media Access Control Adresse vorliegt.
  • Wenn eine Abweichung von insbesondere jeder aus dem Speicher bekannten Hardware-Adresse vorliegt, wird ein Schritt 320 ausgeführt. Wenn keine derartige Abweichung vorliegt, insbesondere wenn die Ist-Hardware-Adresse bekannt ist, wird ein Schritt 322 ausgeführt.
  • Im Schritt 320 wird das Interrupt optional auch das Ethernet-Datenpaket 200 an den Mikroprozessor 106 gesendet. Anschließend wird der Schritt 322 ausgeführt.
  • Im Schritt 322 wird ein Ist-Wert bestimmt, der ein Virtual Local Area Network charakterisiert. Anschließend wird ein Schritt 324 ausgeführt.
  • Im Schritt 324 wird geprüft, ob der Ist-Wert einem Soll-Wert entspricht, der ein Virtual Local Area Network charakterisiert, in welches das Ethernet-Datenpaket 200 an dem mittels der Ist-Hardware-Adresse bestimmten Port 120 gesendet werden darf. Insbesondere wird eine Übereinstimmung mit einem Soll-Wert aus einem Speicher geprüft.
  • Wenn eine Abweichung zwischen Ist-Wert und Soll-Wert vorliegt, wird ein Schritt 326 ausgeführt. Wenn keine derartige Abweichung vorliegt wird ein Schritt 328 ausgeführt.
  • Im Schritt 326 wird das Interrupt optional auch das Ethernet-Datenpaket 200 an den Mikroprozessor 106 gesendet. Anschließend wird der Schritt 328 ausgeführt.
  • Im Schritt 328 wird ein weiterer Ist-Wert für eine Analyse mit einem der beschriebenen anderen Hardware-Filter optional bestimmt.
  • Beispielsweise wird am Eingang oder Ausgang für ein tagged Virtual Logical Area Network ein untagged Virtual Logical Area Network Ethernet-Datenpaket 200 festgestellt, oder für ein untagged Virtual Logical Area Network ein tagged Virtual Logical Area Network Ethernet-Datenpaket 200 festgestellt.
  • Beispielsweise wird am Eingang oder Ausgang ein Dynamic Host Configuration Protocol Pakete für Internet Protocol Version 4 und/oder für Internet Protocol Version 6 mit Dynamic Host Configuration Protocol Port 67 und/oder Port 68 feststellt. Beispielsweise wird am Eingang oder Ausgang eine User Datagram Protocol Broadcast Nachricht für Internet Protocol Version 4 und/oder für Internet Protocol Version 6 feststellt. Beispielsweise wird am Eingang oder Ausgang eine Precision Time Protocol Nachricht festgestellt, wobei deren Inhalt, insbesondere Timestamp, Sequence number, correction field, zumindest teilweise in einem Register für Kontextinformation gespeichert wird.
  • Anschließend wird ein Schritt 330 ausgeführt.
  • Im Schritt 330 wird geprüft, ob eine Abweichung des weiteren Ist-Werts von einem weiteren Soll-Wert für den weiteren Ist-Wert vorliegt. Wenn eine Abweichung vorliegt, wird ein Schritt 332 ausgeführt. Anderenfalls wird ein Schritt 334 ausgeführt.
  • Im Schritt 332 wird das Interrupt optional auch das Ethernet-Datenpaket 200 an den Mikroprozessor 106 gesendet. Anschließend wird der Schritt 334 ausgeführt.
  • Im Schritt 334 wird ein konfigurierter Ist-Wert für das Ethernet-Datenpaket 200 mit einer dafür konfigurierten im Ternary Content Addressable Memory gespeicherte Maske verglichen. Anschließend wird ein Schritt 336 ausgeführt.
  • Im Schritt 336 wird abhängig vom Ergebnis des Vergleichs festgestellt, ob eine Abweichung von der Maske vorliegt oder nicht. Wenn eine Abweichung vorliegt, wird ein Schritt 338 ausgeführt. Wenn keine Abweichung vorliegt wird ein Schritt 340 ausgeführt.
  • Im Schritt 338 wird das Interrupt optional auch das Ethernet-Datenpaket 200 an den Mikroprozessor 106 gesendet. Anschließend wird der Schritt 340 ausgeführt.
  • Im Schritt 340 wird das Ethernet-Datenpaket 200 am Ausgang gesendet.
  • Wenn das Interrupt vom Mikroprozessor 106 empfangen wird, wird ein Schritt 350 ausgeführt.
  • Im Schritt 350 wird die Kontextinformation aus dem Register gelesen.
  • Anschließend wird ein Schritt 352 ausgeführt.
  • Im Schritt 352 wird die Kontextinformation aus dem Register 122 zur Erkennung eines Angriffsmusters im Netzwerkverkehr im Rechnernetzwerk analysiert. Beispielsweise wird eine Stateless Intrusion Detection abhängig von der Kontextinformation ausgeführt. Es kann vorgesehen sein, die Interrupts zu analysieren, die im Verlauf der Zeit eintreffen. Anschließend wird ein Schritt 354 ausgeführt.
  • Im Schritt 354 wird ein Analyseergebnis der Stateless Intrusion Detection gespeichert. Beispielsweise wird die Kontextinformation gespeichert. Anschließend wird ein Schritt 356 ausgeführt.
  • Im Schritt 356 wird eine Stateful Intrusion Detection abhängig von Information über gespeicherte Analyseergebnisse ausgeführt. Beispielsweise wird eine Analyse der Kontextdaten im Verlauf der Zeit analysiert. Anschließend endet das Verfahren.
  • Die Kontextinformation kann auch verändert werden, beispielsweise abhängig vom Ergebnis der Analyse, der Stateful Intrusion Detection oder der Stateless Intrusion Detection. Diese Kontextinformation wird in einem zusätzlichen Schritt bestimmt und im Register 122 gespeichert.

Claims (17)

  1. Verfahren für Angriffserkennung in einem Rechnernetzwerk, dadurch gekennzeichnet, dass an einem Eingang einer Hardware-Schalteinrichtung (102) ein Datenpaket (200) empfangen wird (302), wobei abhängig von Sicherungsschicht-Information aus dem Datenpaket (200) und abhängig von einer Hardware-Adresse ein Ausgang der Hardware-Schalteinrichtung (102) zum Senden des Datenpakets (200) oder einer Kopie des Datenpakets (200) ausgewählt wird (316), wobei Kontextinformation für das Datenpaket (200) bestimmt wird (304, 310, 316, 322, 328, 334), wobei in einem Vergleich durch einen Hardware-Filter (104) ein Ist-Wert aus einem Feld des Datenpakets (200) mit einem Soll-Wert für Werte aus diesem Feld verglichen wird (306, 312, 328, 324, 330, 336), wobei das Feld Sicherungsschicht-Daten oder Vermittlungsschicht-Daten umfasst, und wobei abhängig von einem Ergebnis des Vergleichs ein Interrupt für eine Recheneinrichtung (106) ausgelöst wird (308, 314, 320, 326, 332, 338), wobei, ausgelöst durch das Interrupt, eine Analyse zur Erkennung eines Angriffsmusters in einem Netzwerkverkehr im Rechnernetzwerk durch den Mikroprozessor (106) abhängig von der Kontextinformation für das Datenpaket (200) ausgeführt wird (352, 354, 356, 358).
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Kontextinformation für das Datenpaket (200) in einem Register (122) gespeichert wird, wobei zur Analyse ein Registerzugriff des Mikroprozessors (106) auf das Register (122) erfolgt.
  3. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die die Kontextinformation für das Datenpaket (200) im Register (122) gespeichert wird, wenn eine Abweichung zwischen dem Ist-Wert und dem Soll-Wert vorliegt, oder einen Schwellwert überschreitet.
  4. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass abhängig von einem Ergebnis der Analyse Kontextinformation für das Datenpaket (200) bestimmt und im Register (122) gespeichert wird.
  5. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der Hardware-Filter (104) ein Ternary Content Addressable Memory (108) umfasst, in dem eine Maske für den Soll-Wert gespeichert ist, wobei der Ist-Wert mit der im Ternary Content Addressable Memory (108) gespeicherte Maske verglichen wird (334), und abhängig vom Ergebnis des Vergleichs festgestellt wird (336), ob eine Abweichung vorliegt oder nicht.
  6. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der Soll-Wert eine Hardware-Adresse charakterisiert, insbesondere eine Medium Access Control Adresse, wobei der Ist-Wert abhängig von Daten aus einem Hardware-Adress-Feld, insbesondere eine Medium Access Control Adresse, eines Datenpakets (200) am Eingang oder Ausgang bestimmt wird (316).
  7. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der Soll-Wert ein Virtual Local Area Network charakterisiert, und der Ist-Wert abhängig von Daten bestimmt wird (322), die die Zugehörigkeit eines Datenpakets (200) am Eingang oder Ausgang zu einem Virtual Local Area Network charakterisieren.
  8. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das Vorliegen einer Abweichung erkannt wird (330), entweder wenn der Hardware-Filter (104) am Eingang oder Ausgang für ein tagged Virtual Logical Area Network ein untagged Virtual Logical Area Network Datenpaket (200) feststellt (328), oder wenn der Hardware-Filter (104) am Eingang oder Ausgang für ein untagged Virtual Logical Area Network ein tagged Virtual Logical Area Network Datenpaket (200) feststellt (328).
  9. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das Vorliegen einer Abweichung erkannt wird (304, 312), wenn der Hardware-Filter (104) am Eingang oder Ausgang ein Datenpaket (200) mit einem unbekannten Ethertype, mit einer falschen Checksumme, einer falschen Paketlänge oder einem falschen Paketaufbau feststellt (304, 310).
  10. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das Vorliegen einer Abweichung erkannt wird (330), wenn ein Dynamic Host Configuration Protocol Filter am Eingang oder Ausgang ein Dynamic Host Configuration Protocol Pakete für Internet Protocol Version 4 und/oder für Internet Protocol Version 6 mit Dynamic Host Configuration Protocol Port 67 und/oder Port 68 feststellt (328), ein Transmission Control Protocol oder User Datagram Protocol Filter am Eingang oder Ausgang eine Transmission Control Protocol oder User Datagram Protocol Broadcast Nachricht für Internet Protocol Version 4 und/oder für Internet Protocol Version 6 feststellt (328), ein Precision Time Protocol Filter am Eingang oder Ausgang eine Precision Time Protocol Nachricht festgestellt (328), wobei deren Inhalt, insbesondere Timestamp, Sequence number, correction field, zumindest teilweise in einem Register für Kontextinformation gespeichert wird.
  11. Vorrichtung für Angriffserkennung in einem Rechnernetzwerk, dadurch gekennzeichnet, dass die Vorrichtung (100) als System on a Chip System ausgebildet ist, das eine Hardware-Schalteinrichtung (102), einen Hardware-Filter (104), ein Register (122) und eine Recheneinrichtung (106) für die Angriffserkennung umfasst, und ausgebildet ist, das Verfahren nach einem der Ansprüche 1 bis 10 auszuführen.
  12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass die Hardware-Schalteinrichtung (102) ausgebildet ist, die Kontextinformation für das Datenpaket (200) im Register (122) zu speichern, wobei der Mikroprozessor (106) ausgebildet ist, zur Analyse einen Registerzugriff auf das Register (122) auszuführen.
  13. Vorrichtung nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass die Hardware-Schalteinrichtung (102) ausgebildet ist, die Kontextinformation für das Datenpaket (200) im Register (122) zu speichern, wenn eine Abweichung zwischen dem Ist-Wert und dem Soll-Wert vorliegt, oder einen Schwellwert überschreitet.
  14. Vorrichtung nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass der Mikroprozessor (106) ausgebildet ist, abhängig von einem Ergebnis der Analyse Kontextinformation für das Datenpaket (200) zu bestimmen und im Register (122) zu speichern.
  15. Vorrichtung (100) nach einem der Ansprüche 11 bis 14, dadurch gekennzeichnet, dass ein Ternary Content Addressable Memory (108), ein Address Translation Unit (110), ein Virtual Local Area Network Translation Unit (112), ein Dynamic Host Configuration Protocol Filter, ein Transmission Control Protocol oder User Datagram Protocol Filter und/oder ein Precision Time Protocol Filter als Hardware-Filter (104) ausgebildet ist, ein Datenpaket (200) für die Angriffserkennung zu analysieren und das Interrupt abhängig vom Ergebnis der Prüfung dem Mikroprozessor (106) für die Angriffserkennung bereitzustellen.
  16. Computerprogramm, dadurch gekennzeichnet, dass das Computerprogramm computerlesbare Instruktionen umfasst, bei deren Ausführung durch einen Computer das Verfahren nach einem der Ansprüche 1 bis 11 ausgeführt wird.
  17. Computerprogrammprodukt, dadurch gekennzeichnet, dass das Computerprogrammprodukt ein computerlesbares Speichermedium umfasst, auf dem das Computerprogramm nach Anspruch 16 gespeichert ist.
DE102019210224.7A 2019-07-10 2019-07-10 Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk Pending DE102019210224A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102019210224.7A DE102019210224A1 (de) 2019-07-10 2019-07-10 Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk
US16/921,375 US11522892B2 (en) 2019-07-10 2020-07-06 Method and device for intrusion detection in a computer network
CN202010655694.8A CN112217780A (zh) 2019-07-10 2020-07-09 用于在计算机网络中识别攻击的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019210224.7A DE102019210224A1 (de) 2019-07-10 2019-07-10 Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk

Publications (1)

Publication Number Publication Date
DE102019210224A1 true DE102019210224A1 (de) 2021-01-14

Family

ID=74059402

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019210224.7A Pending DE102019210224A1 (de) 2019-07-10 2019-07-10 Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk

Country Status (3)

Country Link
US (1) US11522892B2 (de)
CN (1) CN112217780A (de)
DE (1) DE102019210224A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112910797B (zh) * 2021-01-20 2023-04-11 中国科学院计算技术研究所 基于特征匹配的i2p流量识别方法及系统
CN115208596B (zh) * 2021-04-09 2023-09-19 中国移动通信集团江苏有限公司 网络入侵防御方法、装置及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9525696B2 (en) * 2000-09-25 2016-12-20 Blue Coat Systems, Inc. Systems and methods for processing data flows
US7463639B1 (en) * 2001-09-26 2008-12-09 Junpier Networks, Inc. Edge devices for providing a transparent LAN segment service and configuring such edge devices
US7302700B2 (en) * 2001-09-28 2007-11-27 Juniper Networks, Inc. Method and apparatus for implementing a layer 3/layer 7 firewall in an L2 device
US20040039940A1 (en) * 2002-08-23 2004-02-26 Koninklijke Philips Electronics N.V. Hardware-based packet filtering accelerator
KR100609170B1 (ko) * 2004-02-13 2006-08-02 엘지엔시스(주) 네트워크 보안 시스템 및 그 동작 방법
CN100370757C (zh) * 2004-07-09 2008-02-20 国际商业机器公司 识别网络内分布式拒绝服务攻击和防御攻击的方法和系统
US20070245417A1 (en) * 2006-04-17 2007-10-18 Hojae Lee Malicious Attack Detection System and An Associated Method of Use
IL189530A0 (en) * 2007-02-15 2009-02-11 Marvell Software Solutions Isr Method and apparatus for deep packet inspection for network intrusion detection
US8006303B1 (en) * 2007-06-07 2011-08-23 International Business Machines Corporation System, method and program product for intrusion protection of a network
US20100268818A1 (en) * 2007-12-20 2010-10-21 Richmond Alfred R Systems and methods for forensic analysis of network behavior
US8997231B2 (en) * 2012-04-18 2015-03-31 Zimperium, Inc. Preventive intrusion device and method for mobile devices
US10264020B1 (en) * 2015-02-05 2019-04-16 Symantec Corporation Systems and methods for scalable network monitoring in virtual data centers
US9813323B2 (en) * 2015-02-10 2017-11-07 Big Switch Networks, Inc. Systems and methods for controlling switches to capture and monitor network traffic
US9954903B2 (en) * 2015-11-04 2018-04-24 Monico Monitoring, Inc. Industrial network security translator
US10419396B2 (en) * 2016-12-22 2019-09-17 Vmware, Inc. Deep packet inspection with enhanced data packet analyzers

Also Published As

Publication number Publication date
CN112217780A (zh) 2021-01-12
US20210014255A1 (en) 2021-01-14
US11522892B2 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
EP3425865B1 (de) Verfahren und vorrichtung zur rückwirkungsfreien unidirektionalen übertragung von daten an einen abgesetzten anwendungsserver
DE19740547B4 (de) Vorrichtung und Verfahren zum Sicherstellen sicherer Kommunikation zwischen einer anfordernden Entität und einer bedienenden Entität
EP2981926B1 (de) Datenspeichervorrichtung zum geschützten datenaustausch zwischen verschiedenen sicherheitszonen
EP3542511B1 (de) Verfahren für ein kommunikationsnetzwerk und elektronische kontrolleinheit
EP1949647A1 (de) Verfahren, detektionseinrichtung und servereinrichtung zur auswertung einer eingehenden kommunikation an einer kommunikationseinrichtung
DE102019210224A1 (de) Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk
WO2018091401A1 (de) Verfahren für ein kommunikationsnetzwerk und elektronische kontrolleinheit
DE102020201988A1 (de) Vorrichtung zur Verarbeitung von Daten mit wenigstens zwei Datenschnittstellen und Betriebsverfahren hierfür
WO2017050431A1 (de) Verfahren und vorrichtung zur überwachung von steuerungssystemen
EP3028409B1 (de) Filtern eines datenpaketes durch eine netzwerkfiltereinrichtung
DE102019210223A1 (de) Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk
EP2296340A2 (de) Verfahren zum Betreiben eines Firewallgerätes in Automatisierungsnetzwerken
DE102019210226A1 (de) Vorrichtung und Verfahren für Angriffserkennung in einem Kommunikationsnetzwerk
DE102019210227A1 (de) Vorrichtung und Verfahren zur Anomalieerkennung in einem Kommunikationsnetzwerk
DE102019210230A1 (de) Vorrichtung und Verfahren für Angriffserkennung in einem Rechnernetzwerk
EP1675342B1 (de) Vorrichtung und Verfahren zur sicheren Fehlerbehandlung in geschützten Kommunikationsnetzen
WO2023025764A1 (de) Vorrichtung und verfahren zur verarbeitung von dateneinheiten
DE102019210225A1 (de) Verfahren und Vorrichtung zur Analyse dienste-orientierter Kommunikation
EP2933985B1 (de) Verwendung von Multicast DNS
DE202015004439U1 (de) Überwachungsvorrichtung und Netzwerkteilnehmer
WO2020099298A1 (de) Steuergerätearchitektur für fahrzeuge
DE102019220246A1 (de) Übertragungsvorrichtung zum Übertragen von Daten
EP3439259B1 (de) Härten eines kommunikationsgerätes
DE112018001624T5 (de) Datenanalysevorrichtung, -verfahren und -programm
DE102016211768A1 (de) Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000