DE102020128285A1 - Method for monitoring data traffic between control units of a motor vehicle and a motor vehicle equipped accordingly - Google Patents

Method for monitoring data traffic between control units of a motor vehicle and a motor vehicle equipped accordingly Download PDF

Info

Publication number
DE102020128285A1
DE102020128285A1 DE102020128285.0A DE102020128285A DE102020128285A1 DE 102020128285 A1 DE102020128285 A1 DE 102020128285A1 DE 102020128285 A DE102020128285 A DE 102020128285A DE 102020128285 A1 DE102020128285 A1 DE 102020128285A1
Authority
DE
Germany
Prior art keywords
data
packet
associative memory
network
motor vehicle
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.)
Granted
Application number
DE102020128285.0A
Other languages
German (de)
Inventor
Alexandru Stireciu
Costel PATRASCU
Karsten Schmidt
Bernhard Stangl
Jose Antonio Munoz Cepillo
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.)
Tttech Auto AG
Audi AG
Original Assignee
Tttech Auto AG
Audi AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tttech Auto AG, Audi AG filed Critical Tttech Auto AG
Priority to DE102020128285.0A priority Critical patent/DE102020128285A1/en
Priority to US18/012,088 priority patent/US20230262071A1/en
Priority to TW110139050A priority patent/TWI807454B/en
Priority to CN202180029783.4A priority patent/CN115380510A/en
Priority to PCT/EP2021/079303 priority patent/WO2022090065A1/en
Publication of DE102020128285A1 publication Critical patent/DE102020128285A1/en
Granted legal-status Critical Current

Links

Images

Classifications

    • 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/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • 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/44Star or tree networks
    • H04L2012/445Star or tree networks with switching in a hub, e.g. ETHERNET switch

Abstract

Die Erfindung betrifft ein Verfahren zum Überwachen eines Datenverkehrs zwischen Steuergeräten (12, 13) eines Kraftfahrzeugs (10), wobei in einem Assoziativspeicher (22) zumindest ein Datenmuster (23) eines zu überwachenden und/oder zu detektierenden Pakettyps und/oder Dateninhalts gespeichert wird, sodass durch den Assoziativspeicher (22) in Reaktion auf Eingangsdaten (25), die das jeweilige Datenmuster (23) enthalten, ein zugeordnetes Treffersignal (27) erzeugt wird, und ein Netzwerkprozessor (21) aus empfangenen Datenpaketen (18) an vorbestimmten Überwachungspositionen Detektionsdaten (31) ausliest und daraus Eingangsdaten (25) für den Assoziativspeicher (22) bildet und durch Eingeben der Eingangsdaten (25) in den Assoziativspeicher (22) überprüft, ob sich ein Treffersignal (27) ergibt, und ein Mikroprozessor (29) anhand von Sendeplandaten (33), welche ein bestimmungsgemäßes Sendeschema der Steuergeräte (12, 13) beschreiben, mittels einer vorbestimmten Abgleichroutine (32) erkennt, ob die Treffersignale (27) von dem Sendeschema abweichen.The invention relates to a method for monitoring data traffic between control units (12, 13) of a motor vehicle (10), at least one data pattern (23) of a packet type and/or data content to be monitored and/or detected being stored in an associative memory (22). , so that an associated hit signal (27) is generated by the associative memory (22) in response to input data (25) containing the respective data pattern (23), and a network processor (21) from received data packets (18) at predetermined monitoring positions detection data (31) and from this forms input data (25) for the associative memory (22) and, by entering the input data (25) into the associative memory (22), checks whether a hit signal (27) results, and a microprocessor (29) based on Transmission plan data (33), which describe a specified transmission scheme of the control units (12, 13), are recognized by means of a predetermined comparison routine (32), whether the hit signals (27) deviate from the transmission scheme.

Description

Die Erfindung betrifft ein Verfahren zum Überwachen eines Datenverkehrs zwischen Steuergeräten eines Kraftfahrzeugs sowie ein entsprechend ausgestattetes Kraftfahrzeug. Die Überwachung findet in einer Switchvorrichtung statt, die Datenpakete zwischen Netzwerkzweigen eines Datennetzes überträgt. Ohne dass es hierbei zu einer signifikanten Verzögerung oder Latenz bei der Weiterleitung kommt, sollen die Datenpakete oder zumindest einige davon daraufhin überprüft werden, ob es sich um vorbestimmten, unerwünschten Datenverkehr handelt, wie er beispielsweise Bestandteil eines Hackerangriffs oder durch ein manipuliertes oder defektes Steuergerät des Kraftfahrzeugs verursacht sein kann.The invention relates to a method for monitoring data traffic between control units of a motor vehicle and a motor vehicle that is appropriately equipped. The monitoring takes place in a switch device that transmits data packets between network branches of a data network. Without causing a significant delay or latency in forwarding, the data packets or at least some of them should be checked to see whether they are predetermined, unwanted data traffic, such as those that were part of a hacker attack or caused by a manipulated or defective control unit of the Motor vehicle can be caused.

Denn in einem Kraftfahrzeug können solche Steuergeräte über ein Datennetzwerk oder Datennetz miteinander gekoppelt sein, um Datenpakete auszutauschen, wodurch beispielsweise eine mehrere Steuergeräte umfassende Fahrzeugfunktionalität realisiert werden kann. Ein Beispiel für ein solches Datennetz ist ein Ethernet-Netzwerk. Netzwerkzweige eines solchen Datennetzes können über eine Switchvorrichtung (eine Kurzbezeichnung ist auch „Switch“ oder Datenweiche) verschaltet sein. Dazu kann jeder Netzwerkzweig an einem jeweiligen Port der Switchvorrichtung angeschlossen sein. Bei einem solche Port kann es sich um einen physikalischen Anschluss für ein Netzwerkkabel des Netzwerkzweigs sowie eine Schaltung zum Aussenden und Empfangen von Datenpaketen handeln. Trifft an einem solchen Port ein Datenpaket aus dem daran angeschlossenen Netzwerkzweig ein, so wird ermittelt, in welchen anderen Netzwerkzweig oder in welche mehreren anderen Netzwerkzweige das Datenpaket weitergeleitet werden muss. Das Datenpaket wird dann innerhalb der Switchvorrichtung an den entsprechenden Zielport mittels einer Schaltung weitergeleitet oder ausgesendet, die hier als Switchschaltung bezeichnet ist. Durch das derart geswitchte Weiterleiten von Datenpaketen können Netzwerkzweige voneinander logisch getrennt gehalten werden, wodurch sich auch eine Firewall-Funktionalität realisieren lässt.Because in a motor vehicle, such control devices can be coupled to one another via a data network or data network in order to exchange data packets, as a result of which, for example, a vehicle functionality comprising a number of control devices can be implemented. An example of such a data network is an Ethernet network. Network branches of such a data network can be interconnected via a switch device (an abbreviation is also “switch” or data switch). To this end, each network branch can be connected to a respective port of the switching device. Such a port can be a physical connection for a network cable of the network branch as well as a circuit for sending and receiving data packets. If a data packet from the network branch connected to it arrives at such a port, it is determined into which other network branch or into which several other network branches the data packet must be forwarded. The data packet is then forwarded or sent out within the switching device to the appropriate destination port by means of a circuit which is referred to here as a switch circuit. By forwarding data packets in a switched manner in this way, network branches can be kept logically separate from one another, as a result of which a firewall functionality can also be implemented.

Um zu ermitteln, wohin ein empfangenes Datenpaket weitergeleitet werden muss, also an welchem Zielport es innerhalb der Switchschaltung geleitet werden muss, kann ein so genannter Assoziativspeicher genutzt werden. Eine andere Bezeichnung für einen solchen Assoziativspeicher ist auch CAM-Filter (CAM - content addressable memory), wie beispielsweise der TCAM (ternary content addressable memory). Mittels eines Assoziativspeichers kann das so genannte Switching oder Routing in der besagten Switchschaltung eingestellt werden. Bei einem Assoziativspeicher lassen sich aber als Eingangsdaten nur eine begrenzte Anzahl von Bits oder Bytes aus dem jeweiligen empfangenen Datenpaket eingeben, um Zielportdaten zu erhalten, die den zumindest einen zu verwendenden Zielport beschreiben.A so-called associative memory can be used to determine where a received data packet must be forwarded to, i.e. to which destination port it must be routed within the switch circuit. Another name for such an associative memory is also a CAM filter (CAM—content addressable memory), such as the TCAM (ternary content addressable memory). The so-called switching or routing in said switch circuit can be set by means of an associative memory. In the case of an associative memory, however, only a limited number of bits or bytes from the respective received data packet can be entered as input data in order to obtain destination port data which describe the at least one destination port to be used.

Bei einer Analyse des Datenverkehrs von Steuergeräten zur Detektion einer Manipulation in einem der Steuergeräte und/oder zur Detektion eines zusätzlich an das Datennetz angeschlossenen, nicht-autorisierten Geräts kann eine aufwändige Analyse der im Netzwerk übertragenen Datenpakete notwendig sein. Dies darf aber nicht dazu führen, dass es zu einer zusätzlichen Latenz oder Wartezeit bei der Übertragung der Datenpakete kommt, weil ansonsten die entsprechende, von dem Datenpaket abhängigen Funktionalität im Kraftfahrzeug beeinträchtigt werden kann, beispielsweise das Steuern einer Rückfahrkamera. Andererseits ist das Auskoppeln oder Kopieren von Datenpaketen für eine detaillierte Analyse mit einem derart großen Datenvolumen verbunden, dass sich die hierfür benötigte Rechenkapazität in einem Kraftfahrzeug nicht mit vertretbarem Kostenaufwand bereitstellen lässt.When analyzing the data traffic from control devices to detect a manipulation in one of the control devices and/or to detect an unauthorized device additionally connected to the data network, a complex analysis of the data packets transmitted in the network may be necessary. However, this must not lead to an additional latency or waiting time in the transmission of the data packets, because otherwise the corresponding functionality in the motor vehicle that is dependent on the data packet can be impaired, for example the control of a reversing camera. On the other hand, the decoupling or copying of data packets for a detailed analysis is associated with such a large volume of data that the computing capacity required for this cannot be provided in a motor vehicle at a reasonable cost.

Aus der US 8 582 428 B1 ist bekannt, dass in einem Router mittels eines Assoziativspeichers, TCAM, Datenpakete eines bestimmten Pakettyps mittels Zählern gezählt werden können. Die Datenpakete können zusätzlich mit einem Zeitstempel versehen werden, um eine Analyse des Datenverkehrs durchzuführen. Zeitstempel werden auch verwendet, um ein Alter einer Kommunikationsverbindung zu messen.From the U.S. 8,582,428 B1 It is known that data packets of a specific packet type can be counted using counters in a router using an associative memory, TCAM. The data packets can also be provided with a time stamp in order to carry out an analysis of the data traffic. Timestamps are also used to measure an age of a communication link.

Aus der WO 2019 /116973 A1 ist bekannt, dass in einem Kraftfahrzeug nicht-autorisierter Datenverkehr daran erkannt wird, dass ein Steuergerät pro Sekunde mehr Daten erzeugt, als ursprünglich vorgesehen ist. Eine Manipulation eines Steuergeräts, die lediglich wenige Datenpakete zum Erzeugen eines Schadens im Kraftfahrzeug führt, kann damit nicht erkannt werden.From the WO 2019 /116973 A1 It is known that unauthorized data traffic in a motor vehicle is recognized by the fact that a control unit generates more data per second than was originally intended. A manipulation of a control device, which only leads to a few data packets causing damage in the motor vehicle, cannot be detected with this.

Aus der WO 2006/069041 A2 ist bekannt, dass bei einer Firewall Datenpakete immer dann gelöscht werden, wenn die Anzahl von Datenpaketen eines bestimmten Typs von einem bestimmten Absender pro gegebener Zeiteinheit über einem Schwellenwert liegt. Mit diesem Ansatz kann nur eine so genannte Denial-of-sevice-Attacke blockiert werden, die auf der massenhaften Erzeugung von Datenpaketen beruht.From the WO 2006/069041 A2 It is known that data packets are always deleted in a firewall when the number of data packets of a specific type from a specific sender per given time unit is above a threshold value. This approach can only be used to block what is known as a denial-of-service attack, which is based on the mass generation of data packets.

Der Erfindung liegt die Aufgabe zugrunde, in einem Kraftfahrzeug einen unplanmäßigen Datenverkehr eines Steuergeräts oder eines zusätzlich angeschlossenen Geräts zu erkennen.The invention is based on the object of detecting unscheduled data traffic of a control device or an additionally connected device in a motor vehicle.

Die Aufgabe wird durch die Gegenstände der unabhängigen Patenansprüche gelöst. Vorteilhafte Ausführungsformen der Erfindung sind durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Fig. beschrieben.The object is solved by the subject matter of the independent patent claims. Advantageous embodiments of the invention are described by the dependent patent claims, the following description and the figures.

Bereitgestellt wird ein Verfahren zum Überwachen eines Datenverkehrs zwischen Steuergeräten eines Kraftfahrzeugs, wobei in einem Assoziativspeicher (z.B. TCAM) zumindest ein Datenmuster eines zu überwachenden und/oder zu detektierenden Pakettyps und/oder Dateninhalts gespeichert wird, sodass durch den Assoziativspeicher in Reaktion auf Eingangsdaten, die das jeweilige Datenmuster enthalten, ein zugeordnetes Treffersignal erzeugt wird, und entsprechend ein Netzwerkprozessor aus empfangenen Datenpaketen an vorbestimmten Überwachungspositionen Detektionsdaten ausliest und daraus Eingangsdaten für den Assoziativspeicher bildet und durch Eingeben der Eingangsdaten in den Assoziativspeicher überprüft, ob sich ein Treffersignal ergibt, und ein Mikroprozessor anhand von Sendeplandaten, welche ein bestimmungsgemäßes Sendeschema der Steuergeräte beschreiben, mittels einer vorbestimmten Abgleichroutine erkennt, ob die Treffersignale von dem Sendeschema abweichen. Dann kann eine Abwehrroutine gestartet werden. Ein Datenmuster kann eine Bitmuster oder Bytemuster sein.A method is provided for monitoring data traffic between control units of a motor vehicle, with at least one data pattern of a packet type to be monitored and/or detected and/or data content being stored in an associative memory (e.g. TCAM), so that the associative memory responds to input data that contain the respective data pattern, an associated hit signal is generated, and accordingly a network processor reads out detection data from received data packets at predetermined monitoring positions and from this forms input data for the associative memory and, by entering the input data into the associative memory, checks whether a hit signal results, and a microprocessor based on this from transmission schedule data, which describe a specified transmission scheme of the control units, using a predetermined comparison routine, recognizes whether the hit signals deviate from the transmission scheme. Then a defense routine can be started. A data pattern can be a bit pattern or a byte pattern.

Durch die Erfindung ist hierzu ein Verfahren beschrieben, um einen Datenverkehr zwischen Steuergeräten eines Kraftfahrzeugs zu überwachen. Das Verfahren geht davon aus, dass die Steuergeräte über ein Datennetz verbunden sind, in welchem eine Switchvorrichtung physikalische Ports zum Empfangen und zum Aussenden von Datenpaketen über eine interne Switchschaltung oder Datenweiche verschaltet. Bei dem Verfahren ist vorgesehen, dass zu einem jeweiligen Datenpaket, das über einen der Ports empfangen wurde, durch einen Netzwerkprozessor mittels eines Assoziativspeichers Zielportdaten ermittelt werden und in Abhängigkeit von den ermittelten Zielportdaten aus den (insgesamt vorhandenen) Ports zumindest ein Port als Zielport ausgewählt wird und durch die Switchschaltung das empfangene Datenpaket oder zumindest ein Teil davon an den zumindest einen Zielport geleitet wird.For this purpose, the invention describes a method for monitoring data traffic between control units of a motor vehicle. The method assumes that the control units are connected via a data network in which a switch device connects physical ports for receiving and sending out data packets via an internal switch circuit or data switch. The method provides that for a respective data packet that was received via one of the ports, a network processor uses an associative memory to determine destination port data and, depending on the determined destination port data, at least one port is selected from the (total) ports as the destination port and the received data packet or at least a part thereof is routed to the at least one destination port by the switch circuit.

Die Switchvorrichtung weist also in an sich bekannter Weise intern die Switchschaltung zum wahlweisen Übertragen eines empfangenen Datenpakets von einem Port zu zumindest einem Zielport auf, um so das Datenpaket zwischen Netzwerkzweigen zu übertragen (zu switchen oder zu routen). Jeder Port kann hierzu eine Transceiverschaltung aufweisen, um ein Datenpaket zu empfangen und/oder zu senden. Der hier genannte Assoziativspeicher kann als CAM (content addressable memory), insbesondere als TCAM (ternary content addressable memory) implementiert oder bereitgestellt sein. Die Zielportdaten ergeben sich in an sich bekannter Weise aus den jeweils an den Port angeschlossenen Steuergerät oder Geräten.In a manner known per se, the switch device therefore has the switch circuit internally for selectively transmitting a received data packet from a port to at least one destination port in order to transmit (switch or route) the data packet between network branches. To this end, each port can have a transceiver circuit in order to receive and/or send a data packet. The associative memory mentioned here can be implemented or provided as a CAM (content addressable memory), in particular as a TCAM (ternary content addressable memory). The destination port data result in a manner known per se from the respective control device or devices connected to the port.

Zur Lösung der Aufgabe ist vorgesehen, dass in dem Assoziativspeicher zumindest ein Datenmuster eines zu überwachenden und/oder zu detektierenden Pakettyps und/oder Dateninhalts gespeichert wird, sodass der Assoziativspeicher in Reaktion auf solche Eingangsdaten, die das jeweilige Datenmuster enthalten, ein zugeordnetes Treffersignal erzeugt. Der Netzwerkprozessor liest aus dem jeweiligen empfangenen Datenpaket entsprechend nicht nur Daten zum Ermitteln des zumindest einen Zielports aus, sondern zusätzlich liest er an vorbestimmten Überwachungspositionen des Datenpaktes (also an vorgegebenen Bitpositionen oder Bytepositionen) Detektionsdaten aus und fasst diese zu weiteren Eingangsdaten für den Assoziativspeicher zusammen und überprüft dann durch Eingeben dieser Eingangsdaten in den Assoziativspeicher, ob sich ein Treffersignal ergibt. Der Assoziativspeicher wird somit auch dazu genutzt, Datenpakete eines vorgegebenen Pakettyps und/oder mit einem vorgegebenen Dateninhalt zu detektieren. Hierbei wird durch Vorgeben der besagten Überwachungspositionen (also Bitpositionen oder Bytepositionen) festgelegt, wo in dem Datenpaket, also an welcher Stelle, Bits oder Bytes aus dem Datenpaket als Detektionsdaten ausgelesen werden sollen, aus denen Eingangsdaten für den Assoziativspeicher gebildet werden. Diese Eingangsdaten für den Assoziativspeicher dienen dann nicht dazu, einen Zielport zu finden, sondern sie sollen ein Treffersignal mittels des Assoziativspeichers erzeugen, was indiziert, dass das zugehörige Datenmuster erkannt wurde. Ein solches Treffersignal kann beispielsweise aus einem Flag bestehen, das signalisiert, dass das entsprechende Datenmuster durch den Assoziativspeicher in den Eingangsdaten erkannt wurde.To solve the problem, it is provided that at least one data pattern of a packet type to be monitored and/or detected and/or data content is stored in the associative memory, so that the associative memory generates an associated hit signal in response to such input data that contain the respective data pattern. The network processor not only reads data from the respective received data packet to determine the at least one destination port, but also reads detection data at predetermined monitoring positions of the data packet (i.e. at predetermined bit positions or byte positions) and combines them to form further input data for the associative memory and then checks whether a hit signal results by putting this input data into the associative memory. The associative memory is thus also used to detect data packets of a specified packet type and/or with a specified data content. By specifying the said monitoring positions (i.e. bit positions or byte positions), it is determined where in the data packet, i.e. at which point, bits or bytes are to be read out of the data packet as detection data, from which input data for the associative memory are formed. These input data for the associative memory are then not used to find a target port, but they are intended to generate a hit signal using the associative memory, which indicates that the associated data pattern has been recognized. Such a hit signal can consist, for example, of a flag that signals that the corresponding data pattern was recognized by the associative memory in the input data.

Zusätzlich ist zumindest ein Zähler bereitgestellt, durch dessen jeweiligen Zählerwert angegeben wird, wie oft zu zumindest einem vorbestimmten Datenmuster ein Treffersignal erzeugt wurde. Der jeweilige Zählerwert und das jeweils letzte Datenpaket, durch welches der Zählerwert zuletzt erhöht wurde, werden als Analysedaten in einem Auslesespeicher bereitgestellt und ein Mikroprozessor liest über eine Datenschnittstelle diese aktuellen Analysedaten aus. Somit wird hier ermöglicht, zu zählen, wie oft zumindest ein vorbestimmtes Datenmuster erkannt oder detektiert wurde, das sich Überwachungsdaten bestimmter Überwachungspositionen eines Datenpakets ergibt. Ein Zähler kann auch für mehrere unterschiedliche Treffersignale, also für mehrere unterschiedliche Datenmuster, verwendet werden, indem ein einzelner Zähler mit mehreren Einträgen des Assoziativspeichers gekoppelt wird. In den Analysedaten liegt die Information vor, welches Datenpaket zuletzt den Zählerwert erhöht hat, wobei zusätzlich auch der Zählerwert mit in den Analysedaten im Auslesespeicher gespeichert wird. Dies kann dann aktiv von einem Mikroprozessor bei Bedarf ausgelesen werden. Die Analysedaten im Auslesespeicher können also mit jeder Zähleränderung aktualisiert werden. Es kann getrennter Speicherplatz für jeden Zähler vorgesehen sein oder es kann ein gemeinsamer Speicherplatz für die Analysedaten mehrerer oder aller Zähler vorgesehen sein.In addition, at least one counter is provided, the respective counter value of which indicates how often a hit signal was generated for at least one predetermined data pattern. The respective counter value and the respective last data packet, through which the counter value was last increased, are made available as analysis data in a read-out memory and a microprocessor reads out these current analysis data via a data interface. It is thus possible here to count how often at least one predetermined data pattern was recognized or detected, which results in monitoring data of specific monitoring positions of a data packet. A counter can also be used for a number of different hit signals, ie for a number of different data patterns, by coupling a single counter to a number of entries in the associative memory. The analysis data contains the information as to which data packet last increased the counter value, with the counter value also being stored in the analysis data in the read-out memory. This can then be actively read out by a microprocessor as required. The analysis data in the readout memory can therefore be updated with every meter change. There can be separate memory space for each meter, or there can be a common memory space for the analysis data of several or all meters.

In einem Kraftfahrzeug liegt nun die Besonderheit vor, dass zumindest ein Teil des Datenverkehrs durch Steuergeräte erzeugt wird, die einem fest programmierten Sendeschema folgen. Lediglich ein vorbekannter Anteil des Datenverkehrs ist dynamisch, beispielsweise Datenverkehr von einem Steuergerät für Unterhaltungselektronik. Der Anteil kann aber auch Null betragen. Anhand von Sendeplandaten, welche das bestimmungsgemäßes Sendeschema der Steuergeräte beschreiben, erkennt nun der Mikroprozessor mittels einer vorbestimmten Abgleichroutine, wenn die Analysedaten von dem Sendeschema abweichen, und er löst in diesem Fall eine vorbestimmte Abwehrroutine aus.In a motor vehicle, there is now the special feature that at least part of the data traffic is generated by control devices that follow a permanently programmed transmission scheme. Only a previously known portion of the data traffic is dynamic, for example data traffic from a control device for entertainment electronics. However, the proportion can also be zero. On the basis of transmission schedule data, which describe the intended transmission scheme of the control units, the microprocessor now uses a predetermined comparison routine to recognize when the analysis data deviate from the transmission scheme, and in this case it triggers a predetermined defense routine.

Der Erfindung liegt hier also die Erkenntnis zugrunde, dass sich bei einem un-manipulierten Kraftfahrzeug, wenn also keines der Steuergeräte von seinem Sendeschema abweicht und auch kein zusätzliches Gerät an das Datennetz angeschlossen ist und zusätzlichen Datenverkehr erzeugt, sich dann auch nur solche Analysedaten ergeben dürfen, die gemäß der Abgleichroutine dem Sendeschema entsprechen, wie es durch die Sendeplandaten beschrieben ist, die z.B. der Hersteller des Kraftfahrzeugs angeben kann. Die Abgleichroutine kann eine exakte Übereinstimmung mit diesen Sendeplandaten fordern oder es kann eine Toleranz für die Zählerwerte und/oder Dateninhalte der finalen Analysedaten zugelassen sein. Das beschriebene Verfahren kann insbesondere auf Ethernet-Datenpakete angewendet werden. Ein Ethernet als Datennetz beruht auf paketorientiertem Datenverkehr, sodass (anders als bei einem Zeitschlitz-orientierten Datennetz) Sendezeitpunkte und/oder Datenmengen im Datenverkehr variieren können, da keine reservierten Zeitschlitze vorgesehen sind. Durch den Zählerwert kann erkannt werden, ob für ein bestimmtes Datenmuster die Anzahl der Datenpakete einen Schwellenwert überschreitet, unabhängig von exakten Sendezeitpunkt. Da zusätzlich in den finalen Analysedaten auch das zugehörige Datenpaket, welches die Überschreibung des Schwellenwerts ausgelöst hat, mit enthalten ist, kann ein Rückschluss auf den Sender gezogen werden, also ein manipuliertes oder defektes Steuergerät erkannt werden, oder es kann erkannt werden, dass eine Absenderadresse verwendet wird, die zu keinem lieferseitigen Steuergerät des Kraftfahrzeugs gehört, sondern zu einem zusätzlich an das Datennetz angeschlossenen Gerät. Als Abwehrroutine oder Abwehrmaßnahme kann beispielsweise eine Einschränkung der Funktionalität im Kraftfahrzeug erfolgen, z.B. eine Verringerung eines Funktionsumfangs oder ein Abschalten der Funktionalität, wie z.B. einer Medianwiedergabe und/oder einer Telefoniefunktion und/oder einer Internet-Verbindung. Je nach TCAM-Eintrag oder Datenmuster, für welches erkannt wird, dass eine Abweichung von dem Sendeschema erfolgt ist, kann eine andere Funktionalität des Kraftfahrzeugs eingeschränkt oder abgestellt werden.The invention is therefore based on the finding that in an unmanipulated motor vehicle, i.e. if none of the control units deviates from its transmission scheme and no additional device is connected to the data network and generates additional data traffic, then only such analysis data may result which, according to the matching routine, correspond to the transmission scheme as described by the transmission schedule data which, for example, the manufacturer of the motor vehicle can specify. The matching routine may require an exact match to this schedule data, or a tolerance may be allowed for the counter values and/or data content of the final analysis data. The method described can be applied in particular to Ethernet data packets. An Ethernet as a data network is based on packet-oriented data traffic, so that (in contrast to a time slot-oriented data network) transmission times and/or data volumes in the data traffic can vary, since no reserved time slots are provided. The counter value can be used to identify whether the number of data packets for a specific data pattern exceeds a threshold value, regardless of the exact time of transmission. Since the associated data packet that triggered the overwriting of the threshold value is also included in the final analysis data, a conclusion can be drawn about the sender, i.e. a manipulated or defective control unit can be recognized, or it can be recognized that a sender address is used, which does not belong to any delivery-side control unit of the motor vehicle, but to an additional device connected to the data network. As a defense routine or defense measure, for example, the functionality in the motor vehicle can be restricted, e.g. a reduction in a range of functions or a shutdown of the functionality, such as a median playback and/or a telephony function and/or an Internet connection. Depending on the TCAM entry or data pattern for which it is recognized that there has been a deviation from the transmission scheme, another functionality of the motor vehicle can be restricted or turned off.

Der jeweilige Zähler (Counter) und/oder der Assoziativspeicher (TCAM) kann jeweils ein Teil des Netzwerkprozessors sein oder der jeweilige Zähler und/oder der Assoziativspeicher kann außerhalb des Netzwerkprozessors bereitgestellt sein.The respective counter (counter) and/or the associative memory (TCAM) can each be a part of the network processor or the respective counter and/or the associative memory (TCAM) can be provided external to the network processor.

Die Erfindung umfasst auch Ausführungsformen, durch die sich zusätzliche Vorteile ergeben.The invention also includes embodiments that result in additional advantages.

Eine Ausführungsform umfasst, dass für jeden Zähler zusätzlich zu dem Zählerwert auch ein Zeitstempel der jeweils letzten Erhöhung des Zählerwerts gespeichert gehalten und als Teil der Analysedaten in dem Auslesespeicher bereitgestellt wird. Die Analysedaten im Auslesespeicher enthalten also den Zählerwert, dessen Zeitstempel und das zugehörige, zuletzt empfangene Datenpaket. Der hier verwendete Zählerwert signalisiert also, wann das in den Analysedaten enthaltene Datenpaket eingetroffen ist und das Treffersignal ausgelöst hat. Es hat sich herausgestellt, dass dies in Zusammenhang mit Sendeschemata von Steuergeräten eine besonders sensitive Fehler- und Manipulationserkennung ermöglicht. So kann zusätzlich der Mikroprozessor, der die Analysedaten mittels der Abgleichroutine untersucht, auch ein jeweiliges Aktivitätssignal zumindest einer Fahrzeugkomponente und/oder eines Steuergeräts empfangen und dann anhand des Zeitstempels überprüfen, ob das Datenpaket aufgrund dieser signalisierten Aktivität der Fahrzeugkomponente und/oder des Steuergeräts gesendet wurde und somit zwar als außerhalb des Sendeschemas liegend, aber durch diese Aktivität ausgelöstes Datenpaket anerkannt wird und damit doch als zulässig klassifiziert wird, sodass die Abwehrroutine nicht ausgelöst werden muss. Das Aktivitätssignal kann z.B. über eine CAN-Bus empfangen werden.One embodiment includes that for each counter, in addition to the counter value, a time stamp of the last increase in the counter value is also stored and provided as part of the analysis data in the read-out memory. The analysis data in the read-out memory therefore contain the counter value, its time stamp and the associated data packet last received. The counter value used here signals when the data packet contained in the analysis data arrived and triggered the hit signal. It has been found that this enables a particularly sensitive error and manipulation detection in connection with transmission schemes of control units. In addition, the microprocessor, which examines the analysis data using the comparison routine, can also receive a respective activity signal from at least one vehicle component and/or a control unit and then use the time stamp to check whether the data packet was sent on the basis of this signaled activity of the vehicle component and/or the control unit and is therefore recognized as being outside the transmission scheme but triggered by this activity and is therefore classified as permissible so that the defense routine does not have to be triggered. The activity signal can be received via a CAN bus, for example.

Eine Ausführungsform umfasst, dass zumindest ein Zähler jeweils die Treffersignale für zumindest zwei Datenmuster zählt. Das heißt, es werden bei zumindest einem Zähler jeweils die Treffersignale für zumindest zwei unterschiedliche Datenmuster zusammengefasst. Der Zähler wird also immer dann inkrementiert, wenn irgendeines der beiden Datenmuster durch den Assoziativspeicher erkannt wird. Hierdurch ergibt sich der Vorteil, dass auch eine solche Manipulation erkannt werden kann, bei welcher versucht wird, manipulierten Datenverkehr auf mehrere unterschiedliche Pakettypen aufzuteilen, beispielsweise durch Verwendung zweier unterschiedlicher Absenderadressen und/oder MAC-Adressen (MAC - medium access control).One embodiment includes that at least one counter counts the hit signals for at least two data patterns. This means that the hit signals for at least two different data patterns are combined for at least one counter. The counter is thus incremented whenever either of the two data patterns is recognized by the associative memory will. This results in the advantage that such manipulation can also be detected in which an attempt is made to divide manipulated data traffic over a number of different packet types, for example by using two different sender addresses and/or MAC addresses (MAC—medium access control).

Eine Ausführungsform umfasst, dass durch den Netzwerkprozessor und/oder den Mikroprozessor der jeweilige Zählerwert des zumindest einen Zählers zurückgesetzt wird, falls eine vorbestimmte Rücksetzbedingung erfüllt ist. Mit anderen Worten wird nicht die absolute Anzahl aller Datenpakete eines bestimmten Datenmusters seit Anbeginn des Betriebs des Kraftfahrzeugs gezählt, sondern es können Zählintervalle festgelegt werden. Ein mögliches Zählintervall ist eine Zeiteinheit, das heißt die Rücksetzbedingung kann vorsehen, dass nach Ablauf einer vorbestimmte Zeitdauer, beispielsweise nach einer Sekunde oder nach zehn Sekunden oder einer Minute, der jeweilige Zähler zurückgesetzt wird. Es kann für jedes Datenmuster eine eigene Rücksetzbedingung vorgesehen werden. Eine andere Rücksetzbedingung kann sein, dass in Abhängigkeit von einem Signal, dass einen Schaltvorgang oder eine Aktivität in einer Komponente des Kraftfahrzeugs, beispielsweise in einer Rückfahrkamera oder in einem Medienabspielgeräts, ein Zähler für ein solches Datenmuster, das dieser Komponente zugeordnet ist, zurückgesetzt wird.One embodiment includes the network processor and/or the microprocessor resetting the respective counter value of the at least one counter if a predetermined reset condition is met. In other words, it is not the absolute number of all data packets of a specific data pattern that is counted since the start of operation of the motor vehicle, but counting intervals can be defined. A possible counting interval is a unit of time, ie the reset condition can provide that after a predetermined period of time has elapsed, for example after one second or after ten seconds or one minute, the respective counter is reset. A separate reset condition can be provided for each data pattern. Another reset condition can be that, depending on a signal that a switching operation or an activity in a component of the motor vehicle, for example in a reversing camera or in a media player, a counter for such a data pattern that is assigned to this component is reset.

Eine Ausführungsform umfasst, dass mehrere Positionsdatensätze für unterschiedliche Überwachungspositionen bereitgestellt werden (also Datensätze mit jeweiligen Angaben zu Bitpositionen und/oder Bytepositionen) und durch den Netzwerkprozessor anhand des Datenpakets (Headerdaten und/oder Nutzdaten) eine Paketcharakteristik der jeweiligen Datenpakets ermittelt wird, und in Abhängigkeit von der Paketcharakteristik einer aus den Positionsdatensätzen ausgewählt wird, sodass sich wechselnde Überwachungspositionen ergeben, und die Detektionsdaten an den durch den ausgewählten Positionsdatensatz angegebenen Überwachungspositionen ausgelesen werden. Mit anderen Worten kann für unterschiedliche Paketcharakteristiken festgelegt werden, welche Bits oder Bytes, also an welchen Positionen innerhalb des Datenpakets (Überwachungspositionen) der Dateninhalt für die Detektionsdaten ausgelesen wird, um daraus die Eingangsdaten für den Assoziativspeicher zu bilden. Hierdurch ergibt sich der Vorteil, dass in Abhängigkeit von der Paketcharakteristik unterschiedliche Überwachungspositionen untersucht werden können. Welche Paketcharakteristik ein Datenpaket aufweist, kann beispielsweise an dessen Headerdaten und/oder Nutzdaten erkannt werden. In diesem Zusammenhang ist folgende Ausführungsform vorteilhaft.One embodiment includes that several position data sets for different monitoring positions are provided (i.e. data sets with respective information on bit positions and/or byte positions) and a packet characteristic of the respective data packet is determined by the network processor based on the data packet (header data and/or user data), and as a function one of the position data sets is selected based on the package characteristic, so that changing monitoring positions result, and the detection data are read out at the monitoring positions specified by the selected position data set. In other words, it can be specified for different packet characteristics which bits or bytes, ie at which positions within the data packet (monitoring positions), the data content for the detection data is read out in order to form the input data for the associative memory. This results in the advantage that different monitoring positions can be examined depending on the package characteristics. The packet characteristics of a data packet can be identified, for example, from its header data and/or user data. In this context, the following embodiment is advantageous.

Die Ausführungsform umfasst, dass die Paketcharakteristik ein Protokolltyp (TCP oder UDP) und/oder Pakettypen (Erstpaket einer Kommunikation, Folgepaket) und/oder Dateninhalte (Senderadresse, Empfängeradresse) angibt. Als Protokolltyp kann beispielsweise zwischen TCP (transport control protocol) und UDP (user datagram protocol) unterschieden werden, um nur beispielhaft zwei mögliche Protokolle für den Datenverkehr in einem Kraftfahrzeug zu nennen. Als Pakettyp kann beispielsweise unterschieden werden, ob es sich um ein Erstpaket einer Kommunikation handelt oder ein Folgepaket der Kommunikation. Beispielsweise kann hier das so genannte SYN-Flag ausgewertet werden. Es kann auch ein Dateninhalt in Form beispielsweise der Senderadresse und/oder Empfängeradresse zum Bilden der Eingangsdaten für den Assoziativspeicher in vorteilhafter Weise genutzt werden. Hieran kann beispielsweise eine nicht-registrierte Senderadresse detektiert werden.The embodiment includes that the packet characteristic indicates a protocol type (TCP or UDP) and/or packet types (first packet of a communication, subsequent packet) and/or data content (sender address, recipient address). A distinction can be made between TCP (transport control protocol) and UDP (user datagram protocol) as a protocol type, to name just two possible protocols for data traffic in a motor vehicle. A distinction can be made as a packet type, for example, as to whether it is a first packet of a communication or a subsequent packet of the communication. For example, the so-called SYN flag can be evaluated here. Data content in the form of, for example, the sender address and/or receiver address can also be used advantageously to form the input data for the associative memory. This can be used to detect a non-registered sender address, for example.

Eine Ausführungsform umfasst, dass die Überwachungspositionen disjunkte Datenfelder des Datenpakets beschreiben. Das Auslesen der Detektionsdaten zum Bilden der Eingangsdaten für den Assoziativspeicher muss also keine fortlaufende Sequenz von Bits oder Bytes aus dem Datenpaket umfassen, sondern es können durch Festlegen von disjunkten Datenfeldern auch solche Bits oder Bytes ausgelesen werden, zwischen denen sich weitere Bits oder Bytes befinden, die nicht Teil der Detektionsdaten werden. Hierdurch ist man in der Analyse der Datenpakete flexibler.An embodiment includes that the monitoring positions describe disjoint data fields of the data packet. The reading of the detection data to form the input data for the associative memory does not have to include a continuous sequence of bits or bytes from the data packet, but by specifying disjunctive data fields it is also possible to read out bits or bytes with further bits or bytes between them that do not become part of the detection data. This makes it more flexible in the analysis of the data packets.

Eine Ausführungsform umfasst, dass das Bilden der Eingangsdaten aus den Detektionsdaten des Datenpaket umfasst, dass die Detektionsdaten mittels einer Shift-Operation umgeordnet werden und/oder mittels zumindest einer Kombinationsregel kombiniert werden. Hierdurch kann eine Vorverarbeitung stattfinden, indem eine Shift-Operation und/oder eine Kombinationsregel angewendet wird. Eine Kombinationsregel kann beispielsweise eine logische Operation, wie beispielsweise AND (Logisch-UND) oder OR (Logisch-ODER), umfassen. Somit lassen sich Bits oder Bytes der Detektionsdaten zusammenfassen oder komprimieren, um beispielsweise ein vorgegebenes Format zu erhalten. Zudem kann durch eine Shift-Operation und/oder eine Kombinationsregel auch bereits ein erster Schritt einer Detektion von unerwünschten Datenverkehr im Datennetzes durchgeführt werden. So kann beispielsweise überprüft werden, ob zwei vorbestimmte Bits in den Detektionsdaten eine vorbestimmte logische Kombination (z.B. beide gesetzt oder beide gelöscht) aufweisen. Dies kann dann durch ein einzelnes Bit repräsentiert werden, das Bestandteil der Eingangsdaten anstelle der ursprünglichen Bits werden kann.One embodiment includes that the formation of the input data from the detection data of the data packet includes the detection data being rearranged using a shift operation and/or being combined using at least one combination rule. As a result, pre-processing can take place by using a shift operation and/or a combination rule. For example, a combination rule may include a logical operation such as AND (logical AND) or OR (logical OR). Bits or bytes of the detection data can thus be combined or compressed in order to obtain a predefined format, for example. In addition, a shift operation and/or a combination rule can already be used to carry out a first step in detecting undesired data traffic in the data network. For example, it can be checked whether two predetermined bits in the detection data have a predetermined logical combination (e.g. both set or both cleared). This can then be represented by a single bit that can become part of the input data instead of the original bits.

Die Erfindung stellt auch eine Überwachungsvorrichtung oder Switchvorrichtung für ein Datennetz eines Kraftfahrzeugs bereit, wobei die Switchvorrichtung einen Netzwerkprozessor und einen Assoziativspeicher und einer Recheneinheit aufweist, die dazu eingerichtet sind, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Der Assoziativspeicher kann in der beschriebenen Weise ein CAM, insbesondere ein TCAM, sein. Der Assoziativspeicher kann in dem Netzwerkprozessor integriert oder in einem separaten Speicherelement vorgesehen sein. Als Netzwerkprozessor kann der für Switchvorrichtungen bekannte Netzwerkprozessortyp vorgesehen werden, der um die beschriebenen Verfahrensschritte erweitert werden kann. Als Recheneinheit für die beschriebene Verarbeitung der Analysedaten kann eine so genannte CPU (central processing unit) oder einen Mikrocontroller vorgesehen sein oder allgemein ein Mikroprozessor, wobei die Recheneinheit mit dem Netzwerkprozessor und/oder dem Assoziativspeicher über eine jeweilige Datenschnittstelle gekoppelt sein kann. Der Netzwerkprozessor und die Recheneinheit können jeweils eine Datenverarbeitungsvorrichtung oder eine Prozessoreinrichtung sein, die jeweils zumindest einen Mikroprozessor und/oder zumindest einen Mikrocontroller und/oder zumindest einen FPGA (Field Programmable Gate Array) und/oder zumindest einen DSP (Digital Signal Processor) aufweisen. Die Recheneinheit kann frei-programmierbar ausgestaltet sein. Des Weiteren kann Programmcode bereitgestellt sein, der dazu eingerichtet ist, bei Ausführen Verfahrensschritte einer Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Der Programmcode kann in zumindest einem Datenspeicher gespeichert sein, mit welchem die Recheneinheit und/oder der Netzwerkprozessor gekoppelt sein kann.The invention also provides a monitoring device or switching device for a data network of a motor vehicle, the switching device having a network processor and an associative memory and a computing unit that are set up to carry out an embodiment of the method according to the invention. The associative memory can be a CAM, in particular a TCAM, in the manner described. The associative memory can be integrated in the network processor or provided in a separate memory element. The network processor type known for switch devices can be provided as the network processor, which can be expanded by the method steps described. A CPU (central processing unit) or a microcontroller or generally a microprocessor can be provided as the processing unit for the described processing of the analysis data, wherein the processing unit can be coupled to the network processor and/or the associative memory via a respective data interface. The network processor and the processing unit can each be a data processing device or a processor device, each of which has at least one microprocessor and/or at least one microcontroller and/or at least one FPGA (Field Programmable Gate Array) and/or at least one DSP (Digital Signal Processor). The arithmetic unit can be freely programmable. Furthermore, program code can be provided which is set up to carry out method steps of an embodiment of the method according to the invention when it is executed. The program code can be stored in at least one data memory, to which the computing unit and/or the network processor can be coupled.

Die Erfindung stellt auch ein Kraftfahrzeug mit einem Datennetz bereit, bei welchem mehrere Netzwerkzweige über eine Ausführungsform der erfindungsgemäßen Überwachungsvorrichtung verschaltet sind. Das erfindungsgemäße Kraftfahrzeug ist bevorzugt als Kraftwagen, insbesondere als Personenkraftwagen oder Lastkraftwagen, oder als Personenbus oder Motorrad ausgestaltet.The invention also provides a motor vehicle with a data network in which several network branches are interconnected via an embodiment of the monitoring device according to the invention. The motor vehicle according to the invention is preferably designed as a motor vehicle, in particular as a passenger car or truck, or as a passenger bus or motorcycle.

Die Erfindung umfasst auch die Kombinationen der Merkmale der beschriebenen Ausführungsformen. Die Erfindung umfasst also auch Realisierungen, die jeweils eine Kombination der Merkmale mehrerer der beschriebenen Ausführungsformen aufweisen, sofern die Ausführungsformen nicht als sich gegenseitig ausschließend beschrieben wurden.The invention also includes the combinations of features of the described embodiments. The invention also includes implementations that each have a combination of the features of several of the described embodiments, unless the embodiments were described as mutually exclusive.

Im Folgenden sind Ausführungsbeispiele der Erfindung beschrieben. Hierzu zeigt:

  • 1 eine schematische Ausführungsform des erfindungsgemäßen Kraftfahrzeugs;
  • 2 eine Skizze zur Veranschaulichung eines TCAM, der Treffersignale an Zähler aussendet; und
  • 3 eine schematische Darstellung eines Auslesespeichers, über welchen der TCAM mit einem Mikroprozessor gekoppelt sein kann.
Exemplary embodiments of the invention are described below. For this shows:
  • 1 a schematic embodiment of the motor vehicle according to the invention;
  • 2 a sketch to illustrate a TCAM that emits hit signals to counters; and
  • 3 a schematic representation of a read-out memory via which the TCAM can be coupled to a microprocessor.

Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden. Daher soll die Offenbarung auch andere als die dargestellten Kombinationen der Merkmale der Ausführungsformen umfassen. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.The exemplary embodiments explained below are preferred embodiments of the invention. In the exemplary embodiments, the described components of the embodiments each represent individual features of the invention that are to be considered independently of one another and that each also develop the invention independently of one another. Therefore, the disclosure is also intended to encompass combinations of the features of the embodiments other than those illustrated. Furthermore, the described embodiments can also be supplemented by further features of the invention that have already been described.

In den Figuren bezeichnen gleiche Bezugszeichen jeweils funktionsgleiche Elemente.In the figures, the same reference symbols designate elements with the same function.

1 zeigt ein Kraftfahrzeug 10, bei dem es sich um einen Kraftwagen, beispielsweise einen Personenkraftwagen oder Lastkraftwagen, handeln kann. In dem Kraftfahrzeug 10 kann ein Datennetz 11 bereitgestellt sein, das beispielsweise ein Ethernet-Netzwerk sein kann. Über das Datennetz 11 können Steuergeräte 12, 13 für eine Datenkommunikation oder einen Datenaustausch miteinander gekoppelt sein. Um mehrere Netzwerkzweige 14 des Datennetzes 11 miteinander zu verschalten, kann eine Switchvorrichtung 15 bereitgestellt sein. Ein jeweiliges Netzwerkkabel jedes Netzwerkzweigs 14 kann dabei an einen jeweiligen Port 16, 17 der Switchvorrichtung 15 in an sich bekannter Weise angeschlossen sein. Die 1 zeigt beispielhaft, wie das Steuergerät 12 ein Datenpaket 18 an das Steuergerät 13 senden kann. Hierbei kann die Switchvorrichtung 15 das Datenpaket 18 am Port 16, an welchen der Netzwerkzweige 14 des Steuergeräts 12 angeschlossen ist, empfangen, und aus den mehreren Ports der Switchvorrichtung 15 (nicht dargestellt sind noch mögliche weitere Ports) denjenigen Port 17 auswählen, an welchen der Netzwerkzweig 14 des Steuergeräts 13 angeschlossen ist, sodass in diesem Netzwerkzweig 14 und insbesondere nur in diesem Netzwerkzweig 14, das Datenpaket 18 weitergeleitet werden kann. Das Datenpaket 18 kann allgemein durch die Switchvorrichtung 15 insbesondere ausschließlich an diejenigen Netzwerkzweige oder denjenigen Netzwerkzweig weitergeleitet werden, in welchem sich ein Steuergerät 13 befindet, an welches das Datenpaket 18 in an sich bekannter Weise adressiert ist, beispielsweise über eine so genannte IP-Adresse und/oder MAC-Adresse. 1 shows a motor vehicle 10, which can be a motor vehicle, for example a passenger car or a truck. A data network 11 can be provided in motor vehicle 10, which can be an Ethernet network, for example. Control units 12, 13 can be coupled to one another via the data network 11 for data communication or data exchange. A switching device 15 can be provided in order to interconnect a plurality of network branches 14 of the data network 11 . A respective network cable of each network branch 14 can be connected to a respective port 16, 17 of the switch device 15 in a manner known per se. the 1 shows an example of how control unit 12 can send a data packet 18 to control unit 13 . The switch device 15 can receive the data packet 18 at the port 16 to which the network branch 14 of the control device 12 is connected, and from the several ports of the switch device 15 (possible further ports are not shown) select the port 17 to which the Network branch 14 of the control unit 13 is connected, so that in this network branch 14 and in particular only in this network branch 14, the data packet 18 can be forwarded. The data packet 18 can generally be forwarded by the switching device 15 in particular exclusively to those network branches or that network branch in which there is a control device 13 to which the data packet 18 in itself is addressed in a known manner, for example via a so-called IP address and/or MAC address.

Um in der Switchvorrichtung 15 das empfangene Datenpaket 18 an den korrekten Port 17, also einen Zielport 19, weiterzuleiten, kann in der Switchvorrichtung 15 eine Switchschaltung 20 (auch bezeichnet als Switch-Engine) vorgesehen sein, die in an sich bekannter Weise ausgestaltet sein kann. Die Switchschaltung 20 kann durch einen Netzwerkprozessor 21 gesteuert werden. Zum Ermitteln, welcher Zielport 19 für das empfangene Datenpaket 18 in der Switchschaltung 20 eingestellt werden soll, kann ein Assoziativspeicher 22 vorgesehen sein, insbesondere ein TCAM. In dem Assoziativspeicher 22 können einem jeweiligen möglichen Datenmuster 23 Ausgabedaten 24 zugeordnet sein. Aus dem Datenpaket 18 können beispielsweise durch den Netzwerkprozessor 21 an vorgegebenen Auswahlpositionen des empfangenen Datenpakets 18 die Daten oder deren Dateninhalt ausgelesen werden und zu Eingangsdaten 25 zusammengefasst werden, die dem Assoziativspeicher 22 übergeben werden können. Enthalten die Eingangsdaten 25 eines der Datenmuster 23, so kann der Assoziativspeicher 22 die entsprechenden Ausgabedaten 24 als Zielportdaten 26 ausgeben. Anhand der Zielportdaten 26 kann beispielsweise der Netzwerkprozessor 21 den entsprechenden Zielport 19 in der Switchschaltung 20 einstellen oder auswählen.In order to forward the received data packet 18 to the correct port 17, i.e. a destination port 19, in the switch device 15, a switch circuit 20 (also referred to as a switch engine) can be provided in the switch device 15, which can be configured in a manner known per se . The switch circuit 20 can be controlled by a network processor 21 . To determine which destination port 19 is to be set for the received data packet 18 in the switch circuit 20, an associative memory 22 can be provided, in particular a TCAM. Output data 24 can be assigned to a respective possible data pattern 23 in the associative memory 22 . The data or the data content thereof can be read out of the data packet 18 by the network processor 21 at predetermined selection positions of the received data packet 18 and combined to form input data 25 which can be transferred to the associative memory 22 . If the input data 25 contains one of the data patterns 23, the associative memory 22 can output the corresponding output data 24 as target port data 26. For example, the network processor 21 can use the target port data 26 to set or select the corresponding target port 19 in the switch circuit 20 .

Der Assoziativspeicher kann in dem Netzwerkprozessor integriert sein oder von diesem verschieden sein. Es kann vorgesehen sein, dass der Assoziativspeicher 22 mit der Switchschaltung 20 verbunden ist, sodass die Zielportdaten 26 direkt, das heißt ohne den Netzwerkprozessor 21, von der Switchschaltung 20 zum Auswählen des Zielports 19 ausgewertet werden können.The associative memory can be integrated with or different from the network processor. It can be provided that the associative memory 22 is connected to the switch circuit 20 so that the target port data 26 can be evaluated directly, ie without the network processor 21, by the switch circuit 20 for selecting the target port 19.

In dem Kraftfahrzeug 10 kann mittels der Switchvorrichtung 15 auch ein IDS (Intrusion-Detection-System gegen Softwarefehler und/oder Schadsoftware) realisiert sein, das heißt es kann erkannt werden, ob in dem Datennetz 11 eines der Steuergeräte 12, 13 (dargestellt sind hier beispielhaft nur zwei Steuergeräte) manipuliert ist oder von einem Datenvirus befallen ist und/oder ob ein nicht-autorisiertes Gerät an dem Datennetz 11 angeschlossen ist und zumindest ein Datenpaket über die Switchvorrichtung 15 sendet.An IDS (intrusion detection system against software errors and/or malware) can also be implemented in motor vehicle 10 by means of switch device 15, i.e. it can be detected whether in data network 11 one of control units 12, 13 (shown here example, only two control devices) is manipulated or is infected by a data virus and / or whether an unauthorized device is connected to the data network 11 and sends at least one data packet via the switch device 15.

Hierzu kann in der Switchvorrichtung 15 ebenfalls der Assoziativspeicher 22 genutzt werden, ohne dass dieser eine zusätzliche Funktionalität aufweisen muss.For this purpose, the associative memory 22 can also be used in the switch device 15 without it having to have additional functionality.

Der Netzwerkprozessor 21 kann hierfür zumindest einen Positionsdatensatz 28 bereithalten, in welchem jeweils Überwachungspositionen angegeben sein können, die Bits oder zumindest ein Byte in dem empfangenen Datenpaket 18 Bitpositionen oder Bytepositionen angegeben können, an welchen die Daten oder der Dateninhalt des empfangenen Datenpakets 18 ausgelesen werden soll. Dies ergibt die ausgelesenen Detektionsdaten 31. Diese Detektionsdaten 31 können genutzt werden, um Eingangsdaten 25 für die Überwachung des Datennetzes 11 zu erzeugen. Zuvor kann zumindest eine Operation 31' auf die Detektionsdaten 31 angewendet werden, um Eingangsdaten 25 für den Assoziativspeicher 22 zu bilden, aber es können auch die Detektionsdaten 31 unmittelbar als Eingangsdaten 25 bereitgestellt werden. Die Eingangsdaten 25 können in den Assoziativspeicher 22 eingespeist werden, um auf zumindest ein Datenmuster 23 hin überprüft zu werden. Trifft eines der Datenmuster 23 zu, so werden entsprechende Ausgabedaten 24 durch den Assoziativspeicher 22 ausgegeben. Bei diesen Ausgabedaten 24 handelt es sich dann aber um die Trefferdaten 27 des Treffersignals 27', die jeweils einem entsprechenden Datenmuster 23 zugeordnet sein können und die ein als Treffersignal darstellen.For this purpose, the network processor 21 can have at least one position data record 28 ready, in which monitoring positions can be specified, the bits or at least one byte in the received data packet 18 bit positions or byte positions can be specified at which the data or the data content of the received data packet 18 is to be read out . This results in the detection data 31 read out. This detection data 31 can be used to generate input data 25 for monitoring the data network 11 . At least one operation 31 ′ can be applied to the detection data 31 beforehand in order to form input data 25 for the associative memory 22 , but the detection data 31 can also be provided directly as input data 25 . The input data 25 can be fed into the associative memory 22 in order to be checked for at least one data pattern 23 . If one of the data patterns 23 applies, then corresponding output data 24 are output by the associative memory 22 . However, this output data 24 is then the hit data 27 of the hit signal 27', which can each be assigned to a corresponding data pattern 23 and which represent a hit signal.

Wann immer Eingangsdaten 25 für die Überwachung des Datennetzes ein Treffersignal in dem Assoziativspeicher 22 auslösen, kann ein jeweiliges Tupel CT aus einem Zähler C und einem Zeitstempel T aktualisiert werden. Für ein jeweiliges Treffersignal oder eine Kombination daraus kann jeweils ein Tupel CT bereitgestellt werden, was in der 1 beispielhaft sieben Zähler C0 bis C6 und zugehörigen Speichern für Zeitstempel T0 bis T6 veranschaulicht ist, wobei die Anzahl hier beispielhaft gewählt ist. Durch einen Mikroprozessor 29 kann für die einzelnen Tupel CT, also die jeweilige Kombination aus Zähler C und Zeitstempel T aus einem Auslesespeicher 30 der jeweilige Wert des Zählers C und des Zeitstempels T sowie zumindest ein ebenfalls in dem Auslesespeicher 30 gespeicherter Teil desjenigen Datenpakets 18 ausgelesen werden, der zur letzten Inkrementierung des Zählers C zum Zeitstempel oder Zeitpunkt des Zeitstempels T für das Auslösesignal oder Treffersignal gesorgt hat oder dieses verursacht hat. Hierzu kann das jeweils letzte Datenpaket 18 des entsprechenden Tupel CT in dem Auslesespeicher 30 mit abgespeichert werden.Whenever input data 25 triggers a hit signal in the associative memory 22 for monitoring the data network, a respective tuple CT from a counter C and a time stamp T can be updated. For each hit signal or a combination thereof, a tuple CT can be provided, which is in the 1 seven counters C0 to C6 and associated memories for time stamps T0 to T6 are illustrated by way of example, the number being selected here by way of example. A microprocessor 29 can read out the respective value of the counter C and the time stamp T for the individual tuple CT, i.e. the respective combination of counter C and time stamp T, from a read-out memory 30, as well as at least a part of that data packet 18 that is also stored in the read-out memory 30 , which provided or caused the trigger signal or hit signal at the last increment of the counter C at the timestamp or time of the timestamp T. For this purpose, the respective last data packet 18 of the corresponding tuple CT can also be stored in the read-out memory 30 .

Durch den Mikroprozessor 29 kann dann mittels einer Abgleichroutine 32 überprüft werden, ob eine Anzahl an Treffersignalen, wie sie in dem jeweiligen Zähler C0 bis C6 für das jeweilige Datenmuster 23 gespeichert ist und für den zugehörigen Zeitstempel T0 bis T6 entsprechende Sendeplandaten 33, die den bestimmungsgemäßen oder für die Steuergeräte 12, 13 programmierten Datenverkehr (im nicht-manipulierten Zustand des Datennetzes 11) beschreiben, ein Übereinstimmungskriterium 34 erfüllt. Ist das Übereinstimmungskriterium 34 nicht erfüllt, ergibt sich also eine Abweichung zwischen den Analysedaten 30' aus dem Auslesespeicher 30 und den Sendeplandaten 33, so kann durch den Mikroprozessor 29 eine Abwehrroutine 35 ausgelöst oder gestartet werden. Beispielsweise kann ein Funktionsumfang des Kraftfahrzeugs eingeschränkt werden und/oder ein Signal an einen Benutzer des Kraftfahrzeugs ausgesendet werden, um diesen zu informieren, dass das Kraftfahrzeug 10 in einer Werkstatt überprüft werden muss.The microprocessor 29 can then use a comparison routine 32 to check whether a number of hit signals as stored in the respective counter C0 to C6 for the respective data pattern 23 and for the associated time stamp T0 to T6 corresponding transmission schedule data 33 correspond to the intended or describe programmed data traffic for the control devices 12, 13 (in the non-manipulated state of the data network 11), a match criterion 34 is met. If the matching criterion is 34 not fulfilled, i.e. if there is a discrepancy between the analysis data 30′ from the read-out memory 30 and the transmission schedule data 33, a defense routine 35 can be triggered or started by the microprocessor 29. For example, a range of functions of the motor vehicle can be restricted and/or a signal can be sent to a user of the motor vehicle in order to inform him that the motor vehicle 10 has to be checked in a workshop.

2 veranschaulicht, wie in dem Assoziativspeicher 22 Datenmuster 23 als jeweilige Einträge TCAM_0 bis TCAM_2^N-1 vorgesehen sein können, wobei 2^N-1 bedeutet, dass eine Potenz von 2 die Anzahl der insgesamt vorgesehenen Einträge ist. Beispielsweise kann N eine ganze Zahl im Bereich von 0 bis 10 sein. Werden mittels des Assoziativspeichers 22 die Eingangsdaten 25 gefiltert, so kann es zu einer Übereinstimmung eines der Datenmuster 23 mit den Eingangsdaten 25 kommen, woraufhin als Trefferdaten 27 das zugehörige Treffersignal 27' erzeugt wird. Jedem Datenmuster 23 kann einer der Zähler C zugeordnet werden, der durch das jeweilige Treffersignal 27' inkrementiert wird, sodass der Zählerstand oder Zählerwert C_0 bis C_2^N-1 inkrementiert wird. Zusätzlich kann für das letzte empfangenen Datenpaket 18, welches das Treffersignal 27' zuletzt ausgelöst hat, der zugehörige Zeitstempel T des Empfangens oder des Treffersignals 27' als Zeitwert T_0 bis T_2^N-1 gespeichert werden. 2 zeigt, dass auch Datenmuster 23 zweier Einträge 36 durch denselben Zähler C als Zählerwert C_1 (beispielhaft) gewertet werden können. Hierdurch kann auch ein auf mehrere Datenmuster 23 verteilte Manipulation eines manipulierten Datenverkehrs im Datennetz 11 erkannt werden. 2 illustrates how data patterns 23 can be provided in the associative memory 22 as respective entries TCAM_0 to TCAM_2^N-1, where 2^N-1 means that a power of 2 is the number of entries provided in total. For example, N can be an integer in the range 0-10. If the input data 25 is filtered by means of the associative memory 22, one of the data patterns 23 can match the input data 25, whereupon the associated hit signal 27' is generated as the hit data 27. Each data pattern 23 can be assigned one of the counters C, which is incremented by the respective hit signal 27', so that the counter reading or counter value C_0 to C_2^N-1 is incremented. In addition, the associated time stamp T of reception or of the hit signal 27' can be stored as a time value T_0 to T_2^N-1 for the last received data packet 18, which last triggered the hit signal 27'. 2 shows that data patterns 23 of two entries 36 can also be evaluated by the same counter C as counter value C_1 (example). In this way, a manipulation of a manipulated data traffic in the data network 11 distributed over a number of data patterns 23 can also be detected.

3 veranschaulicht, wie in einem Auslesespeicher 30 lediglich zu dem zuletzt ausgelösten Treffersignal 27' aus dem Assoziativspeicher 22 das zugehörige Datenpaket 18 und der Zählerwert des Zählers C und ein Zeitstempel T abgespeichert werden können, die dann als Analysedaten 30' von dem Mikroprozessor 29 ausgelesen werden können. Hierdurch ist nur ein einzelner Auslesespeicher 30 für einen Eintrag von Analysedaten 30' notwendig, der Mikroprozessor 29 kann dann seriell bei jedem Treffersignal 27' den dann aktualisierten Inhalt der Analysedaten 30' auslesen. 3 illustrates how the associated data packet 18 and the counter value of the counter C and a time stamp T can be stored in a read-out memory 30 only for the hit signal 27' last triggered from the associative memory 22, which can then be read out as analysis data 30' by the microprocessor 29 . As a result, only a single read-out memory 30 is required for an entry of analysis data 30'; the microprocessor 29 can then serially read out the then updated content of the analysis data 30' for each hit signal 27'.

Um den Datenverkehr zu analysieren kann es von Vorteil sein, über Zeitangaben und/oder eine statistische Auswertung zu verfügen, um eine Abweichung von einem Sendeschema der Steuergeräte des Kraftfahrzeugs 10 zu erkennen. Eine solche Abweichung ist ein Hinweis auf eine mögliche Manipulation oder Attacke betreffend das Kraftfahrzeug 10 und/oder dessen Datennetzes 11. Mit dem gezeigten Ansatz kann die Effizienz der Detektion gesteigert werden, indem in einem Assoziativspeicher 22 zusätzliche Datenmuster 23 zum Erzeugen von Treffersignalen 27' betreffend mögliche Abweichungen vom Sendeschema der Steuergeräte 12, 12 erkannt werden. Die Hauptidee besteht dabei darin, die vorhandenen Assoziativspeicher 22 einer Switchvorrichtung 15 zu erweitern, ohne hierbei den Assoziativspeicher 22 selbst neu konstruieren oder entwickeln zu müssen. Hierzu wird ein Assoziativspeicher, insbesondere ein TCAM-Filter mit zumindest einem Zähler und einem zugehörigen Register für Zeitstempel kombiniert. Dies bedeutet, dass eine TCAM-basierte Hardware nicht nur zum Detektieren oder Auswählen von Zielports verwendet wird, sondern die TCAM-basierte Hardware auch zum Erzeugen von statistischen Daten betreffend den Datenverkehr genutzt werden kann. Falls eine TCAM Filterregel einen Treffer erzeugt, also ein Datenmuster erkannt wird und das zugehörige Treffersignal erzeugt wird, kann der Zählerwert des zugeordneten Zählers inkrementiert werden und der Zeitstempel dieses Ereignisses im zugehörigen Register des Zeitstempels gespeichert werden. Das Tupel aus Zählerwert und Zeitstempel kann durch einen Mikroprozessor als Rechenknoten ausgelesen werden, wofür ein so genannter atomarer Zugriff (exklusiver Zugriff oder Zugriff innerhalb eines Taktzyklus des Computers) erfolgen. Als Erweiterung kann auch für die Filterregel vorgesehen sein, dass das Datenpaket selbst, also beispielsweise ein Ethernet-Frame, ebenfalls als Teil der Analysedaten, also zusammen mit dem Tupel aus Zählerwert und Zeitstempel, bereitgestellt oder an den Mikroprozessor übertragen wird. Es kann auch das Datenmuster 23, das zu Detektion geführt hat, und/oder die Angabe, welcher Zählerwert mit welchem Treffersignal assoziiert oder kombiniert ist, mit als Teil der Analysedaten bereitgestellt werden.In order to analyze the data traffic, it can be advantageous to have time information and/or a statistical evaluation available in order to identify a deviation from a transmission pattern of the control units of motor vehicle 10 . Such a deviation is an indication of a possible manipulation or attack concerning the motor vehicle 10 and/or its data network 11. With the approach shown, the efficiency of the detection can be increased by additional data patterns 23 for generating hit signals 27' in an associative memory 22 possible deviations from the transmission scheme of the control units 12, 12 are detected. The main idea is to expand the existing associative memory 22 of a switch device 15 without having to redesign or develop the associative memory 22 itself. To this end, an associative memory, in particular a TCAM filter, is combined with at least one counter and an associated register for time stamps. This means that TCAM-based hardware is not only used to detect or select destination ports, but the TCAM-based hardware can also be used to generate traffic statistics. If a TCAM filter rule generates a hit, ie a data pattern is recognized and the associated hit signal is generated, the counter value of the associated counter can be incremented and the time stamp of this event can be stored in the associated register of the time stamp. The tuple of counter value and time stamp can be read out by a microprocessor as a computing node, for which a so-called atomic access (exclusive access or access within one clock cycle of the computer) takes place. As an extension, it can also be provided for the filter rule that the data packet itself, for example an Ethernet frame, is also provided as part of the analysis data, ie together with the tuple of counter value and time stamp, or is transmitted to the microprocessor. The data pattern 23 that led to detection and/or the indication of which counter value is associated or combined with which hit signal may also be provided as part of the analysis data.

Durch die Möglichkeit, Datenmuster oder allgemein Filterregeln für einen TCAM festlegen oder steuern zu können, können die Datenmuster auch für ein spezielles Kraftfahrzeug optimiert oder angepasst festgelegt werden, sodass das für ein nicht-manipuliertes Datennetz 11 zu erwartende Sendeschema berücksichtigt werden kann. Indem über den Auslesespeicher das Datenpaket und der Zählerwert und der Zeitstempel an einen Mikroprozessor übertragen werden, kann die nachgelagerte Analyse oder Überprüfung auf eine mögliche Manipulation des Datennetzes erfolgen, ohne dass hierbei die Übertragungsgeschwindigkeit des Datennetzes eingehalten werden müsste, also das Datenpaket innerhalb einer vorbestimmten maximal zulässigen Latenzzeit wieder die Switchvorrichtung verlässt. Durch die Zeitstempel kann hierbei dennoch die Genauigkeit der Analyse beibehalten werden, da der Zeitpunkt des Vorgangs bekannt bleibt.Due to the possibility of being able to define or control data patterns or general filter rules for a TCAM, the data patterns can also be optimized or adapted for a special motor vehicle, so that the transmission scheme to be expected for a non-manipulated data network 11 can be taken into account. By transmitting the data packet and the counter value and the time stamp to a microprocessor via the read-out memory, the downstream analysis or check for possible manipulation of the data network can be carried out without the transmission speed of the data network having to be maintained, i.e. the data packet within a predetermined maximum allowed latency leaves the switch device again. The accuracy of the analysis can still be maintained with the time stamp, since the time of the process remains known.

Die Erfindung lässt sich somit umsetzen, indem ein Satz von Zählern und Registern für Zeitstempel bereitgestellt wird, was einen geringen Zusatzaufwand in einer Switchvorrichtung darstellt. Falls eine TCAM-Filterregel ein Treffersignal auslöst, also ein Datenmuster 23 in den Eingangsdaten 25 erkannt wird, kann für den Fall, dass mehrere Datenmuster zutreffen, eine Priorisierung der Datenmuster dazu führen, dass lediglich ein Treffersignal 27' zur Erhöhung des jeweiligen Zählerwerts führt. In der beschriebenen Weise kann auch ein Zähler mehreren unterschiedlichen Filterregeln oder Treffersignalen 27' zugeordnet sein. Mit dem Mikroprozessor kann Datenanalyse-Software betrieben werden, wobei das Auslesen eines Tupels aus Zählerwert und Zeitstempel durch einen so genannten atomaren Zugriff (Zugriff innerhalb eines Taktzyklus) oder mittels eines Schattenpuffers erfolgen kann. Hierdurch kann ein versehentliches Abweichen der Zusammengehörigkeit von Zählerwert und Zeitstempel vermieden werden.The invention can thus be implemented by providing a set of counters and registers for time stamps, which represents a small overhead in a switching device. If a TCAM filter rule triggers a hit signal, i.e. a data pattern 23 is recognized in the input data 25, if several data patterns apply, prioritization of the data patterns can result in only one hit signal 27' leading to the increase of the respective counter value. In the manner described, a counter can also be assigned to several different filter rules or hit signals 27'. Data analysis software can be operated with the microprocessor, in which case a tuple of counter value and time stamp can be read out by what is known as atomic access (access within one clock cycle) or by means of a shadow buffer. In this way, an inadvertent discrepancy in the relationship between the counter value and the time stamp can be avoided.

Die Abgleichroutine kann auf einer Methode des maschinellen Lernens, beispielsweise eines künstlichen neuronalen Netzwerks oder einer Deep-Learning-Methode beruhen, wodurch auch kompensiert werden kann, das Steuergeräte ihr Sendeschema situationsabhängig verändern können.The adjustment routine can be based on a machine learning method, for example an artificial neural network or a deep learning method, which can also compensate for the fact that control units can change their transmission scheme depending on the situation.

Insgesamt zeigen die Beispiele, wie durch einen TCAM und statische Zähler in einer Switchvorrichtung Informationen für ein IDS bereitgestellt werden können.Overall, the examples show how information can be provided to an IDS by a TCAM and static counters in a switch device.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent Literature Cited

  • US 8582428 B1 [0005]US8582428B1 [0005]
  • WO 2019/116973 A1 [0006]WO 2019/116973 A1 [0006]
  • WO 2006/069041 A2 [0007]WO 2006/069041 A2 [0007]

Claims (10)

Verfahren zum Überwachen eines Datenverkehrs zwischen Steuergeräten (12, 13) eines Kraftfahrzeugs (10), wobei die Steuergeräte (12, 13) über ein Datennetz (11) verbunden sind, das eine Switchvorrichtung (15) aufweist, in welcher physikalische Ports (16, 17) zum Empfangen und zum Aussenden von Datenpaketen (18) über eine Switchschaltung (20) verschaltet sind, und bei dem Verfahren einem jeweiligen Datenpaket (18), das über einen der Ports (16, 17) empfangen wird, durch einen Netzwerkprozessor (21) mittels eines Assoziativspeichers (22) Zielportdaten (26) zugeordnet werden und in Abhängigkeit von den Zielportdaten (26) zumindest einer der Ports (16, 17) als jeweiliger Zielport (19) ausgewählt wird und durch die Switchschaltung (20) das empfangene Datenpaket (18) an den zumindest einen Zielport (19) geleitet wird, dadurch gekennzeichnet, dass in dem Assoziativspeicher (22) zumindest ein vorbestimmtes Datenmuster (23) eines zu überwachenden und/oder zu detektierenden Pakettyps und/oder zu detektierenden Dateninhalts gespeichert wird, sodass durch den Assoziativspeicher (22) in Reaktion auf Eingangsdaten (25), falls die Eingangsdaten (25) das jeweilige Datenmuster (23) enthalten, ein zugeordnetes Treffersignal (27) erzeugt wird, und der Netzwerkprozessor (21) aus dem empfangenen Datenpaket (18) an vorbestimmten Überwachungspositionen des Datenpaktes (18) Detektionsdaten (31) ausliest und aus den Detektionsdaten (31) Eingangsdaten (25) für den Assoziativspeicher (22) bildet und durch Eingeben der Eingangsdaten (25) in den Assoziativspeicher (22) überprüft, ob sich ein Treffersignal (27) ergibt, und zumindest ein Zähler (C) bereitgestellt ist, in welchem durch einen jeweiligen Zählerwert angegeben wird, wie oft zu zumindest einem vorbestimmten Datenmuster (23) ein Treffersignal (27) erzeugt wurde, und der jeweilige Zählerwert und das jeweils letzte Datenpaket (18), durch welches der Zählerwert zuletzt erhöht wurde, als Analysedaten (30') in einem Auslesespeicher (30) bereitgestellt werden, und ein Mikroprozessor (29) über eine Datenschnittstelle die jeweils aktuellen Analysedaten (30') ausliest und anhand von Sendeplandaten (33), welche ein bestimmungsgemäßes Sendeschema der Steuergeräte (12, 13) beschreiben, mittels einer vorbestimmten Abgleichroutine (32) erkennt, dass die Analysedaten (30') von dem Sendeschema abweichen, und in diesem Fall eine vorbestimmte Abwehrroutine (35) auslöst.Method for monitoring data traffic between control units (12, 13) of a motor vehicle (10), the control units (12, 13) being connected via a data network (11) which has a switching device (15) in which physical ports (16, 17) for receiving and sending out data packets (18) via a switch circuit (20), and in the method a respective data packet (18) which is received via one of the ports (16, 17) by a network processor (21 ) are assigned by means of an associative memory (22) destination port data (26) and depending on the destination port data (26) at least one of the ports (16, 17) is selected as the respective destination port (19) and through the switch circuit (20) the received data packet ( 18) to the at least one destination port (19), characterized in that in the associative memory (22) at least one predetermined data pattern (23) to be monitored and / or to be detected packet type and / or to detected data content is stored, so that an associated hit signal (27) is generated by the associative memory (22) in response to input data (25) if the input data (25) contain the respective data pattern (23), and the network processor (21). reads out detection data (31) from the received data packet (18) at predetermined monitoring positions of the data packet (18) and forms input data (25) for the associative memory (22) from the detection data (31) and by entering the input data (25) into the associative memory (22 ) checks whether a hit signal (27) results, and at least one counter (C) is provided in which a respective counter value indicates how often a hit signal (27) was generated for at least one predetermined data pattern (23), and the respective counter value and the respective last data packet (18), through which the counter value was last increased, as analysis data (30') in a read-out memory (30). and a microprocessor (29) reads out the current analysis data (30') via a data interface and recognizes it using a predetermined comparison routine (32) on the basis of transmission plan data (33) which describe a specified transmission pattern of the control units (12, 13). that the analysis data (30 ') deviate from the transmission scheme, and in this case a predetermined defense routine (35) triggers. Verfahren nach Anspruch 1, wobei für jeden des zumindest einen Zählers (C) zusätzlich zu dem Zählerwert auch ein Zeitstempel (T) der jeweils letzten Erhöhung des Zählerwerts gespeichert gehalten und als Teil der Analysedaten (30') in dem Auslesespeicher (30) bereitgestellt wird.procedure after claim 1 , wherein for each of the at least one counter (C), in addition to the counter value, a time stamp (T) of the last increase in the counter value is also stored and provided as part of the analysis data (30') in the read-out memory (30). Verfahren nach einem der vorhergehenden Ansprüche, wobei zumindest ein Zähler (C) die Treffersignale (27) für zumindest zwei Datenmuster zählt.Method according to one of the preceding claims, wherein at least one counter (C) counts the hit signals (27) for at least two data patterns. Verfahren nach einem der vorhergehenden Ansprüche, wobei durch den Netzwerkprozessor (21) und/oder den Mikroprozessor (29) der jeweilige Zählerwert des zumindest einen Zählers (C) zurückgesetzt wird, falls eine vorbestimmte Rücksetzbedingung erfüllt ist.Method according to one of the preceding claims, the respective counter value of the at least one counter (C) being reset by the network processor (21) and/or the microprocessor (29) if a predetermined reset condition is met. Verfahren nach einem der vorhergehenden Ansprüche, wobei mehrere Datensätze für unterschiedliche Überwachungspositionen bereitgestellt werden und durch den Netzwerkprozessor (21) anhand des Datenpakets (18) eine Paketcharakteristik der jeweiligen Datenpakets (18) ermittelt wird, und in Abhängigkeit von der Paketcharakteristik einer aus den Datensätzen ausgewählt wird und die Detektionsdaten (31) an den Überwachungspositionen, die durch den ausgewählten Datensatz (28) angegebenen sind, ausgelesen werden.Method according to one of the preceding claims, wherein a plurality of data sets are provided for different monitoring positions and a packet characteristic of the respective data packet (18) is determined by the network processor (21) on the basis of the data packet (18), and one of the data sets is selected depending on the package characteristic and the detection data (31) at the monitoring positions indicated by the selected data set (28) are read out. Verfahren nach Anspruch 5, wobei die Paketcharakteristik ein Protokolltyp und/oder einen Pakettyp und/oder einen Dateninhalt angibt.procedure after claim 5 , wherein the packet characteristic indicates a protocol type and/or a packet type and/or a data content. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Überwachungspositionen disjunkte Datenfelder des Datenpakets (18) beschreiben.Method according to one of the preceding claims, in which the monitoring positions describe disjoint data fields of the data packet (18). Verfahren nach einem der vorhergehenden Ansprüche, wobei das Bilden der Eingangsdaten (25) umfasst, dass die Detektionsdaten (31) mittels einer Shift-Operation umgeordnet werden und/oder mittels zumindest einer Kombinationsregel kombiniert werden.Method according to one of the preceding claims, wherein the formation of the input data (25) includes the detection data (31) being rearranged using a shift operation and/or being combined using at least one combination rule. Switchvorrichtung (15) für ein Datennetz (11) eines Kraftfahrzeugs (10), wobei die Switchvorrichtung (15) einen Netzwerkprozessor (21) und einen Assoziativspeicher (22) und einen Mikroprozessor (29) aufweist, die zusammen dazu eingerichtet sind, ein Verfahren nach einem der vorhergehenden Ansprüche durchzuführen.Switching device (15) for a data network (11) of a motor vehicle (10), the switching device (15) having a network processor (21) and an associative memory (22) and a microprocessor (29), which are set up together to a method according to carry out one of the preceding claims. Kraftfahrzeug (10) mit einem Datennetz (11), bei welchem mehrere Netzwerkzweige über eine Switchvorrichtung (15) nach Anspruch 9 verschaltet sind.Motor vehicle (10) with a data network (11), in which several network branches via a switch device (15). claim 9 are connected.
DE102020128285.0A 2020-10-28 2020-10-28 Method for monitoring data traffic between control units of a motor vehicle and a motor vehicle equipped accordingly Granted DE102020128285A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102020128285.0A DE102020128285A1 (en) 2020-10-28 2020-10-28 Method for monitoring data traffic between control units of a motor vehicle and a motor vehicle equipped accordingly
US18/012,088 US20230262071A1 (en) 2020-10-28 2021-10-20 Method for monitoring data traffic between control devices of a motor vehicle and vehicle equipped accordingly
TW110139050A TWI807454B (en) 2020-10-28 2021-10-21 Verfahren zum ueberwachen eines datenverkehrs zwischen steuergeraeten eines kraftfahrzeugs sowie entsprechend ausgestattetes kraftfahrzeug
CN202180029783.4A CN115380510A (en) 2020-10-28 2021-10-22 Method for monitoring data flow between controllers of a motor vehicle and correspondingly equipped motor vehicle
PCT/EP2021/079303 WO2022090065A1 (en) 2020-10-28 2021-10-22 Method for monitoring data traffic between control devices of a motor vehicle and vehicle equipped accordingly

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020128285.0A DE102020128285A1 (en) 2020-10-28 2020-10-28 Method for monitoring data traffic between control units of a motor vehicle and a motor vehicle equipped accordingly

Publications (1)

Publication Number Publication Date
DE102020128285A1 true DE102020128285A1 (en) 2022-04-28

Family

ID=78372035

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020128285.0A Granted DE102020128285A1 (en) 2020-10-28 2020-10-28 Method for monitoring data traffic between control units of a motor vehicle and a motor vehicle equipped accordingly

Country Status (4)

Country Link
CN (1) CN115380510A (en)
DE (1) DE102020128285A1 (en)
TW (1) TWI807454B (en)
WO (1) WO2022090065A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006069041A2 (en) 2004-12-21 2006-06-29 Mistletoe Technologies, Inc. Network interface and firewall device
US20070022474A1 (en) 2005-07-21 2007-01-25 Mistletoe Technologies, Inc. Portable firewall
US8582428B1 (en) 2007-10-25 2013-11-12 Marvell Israel (M.I.S.L) Ltd. Methods and apparatus for flow classification and flow measurement
US20170118041A1 (en) 2015-10-21 2017-04-27 Brocade Communications Systems, Inc. Distributed rule provisioning in an extended bridge
WO2019116973A1 (en) 2017-12-15 2019-06-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Fraud detection device, in-vehicle network system, and fraud detection method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871265B1 (en) * 2002-02-20 2005-03-22 Cisco Technology, Inc. Method and apparatus for maintaining netflow statistics using an associative memory to identify and maintain netflows
US9998434B2 (en) * 2015-01-26 2018-06-12 Listat Ltd. Secure dynamic communication network and protocol
DE102016223533A1 (en) * 2016-11-28 2018-05-30 Audi Ag Method for transmitting messages between control units of a motor vehicle and switch device and motor vehicle
EP3442192B1 (en) * 2017-08-08 2022-01-05 Robert Bosch GmbH Method for monitoring traffic between network members in a network
US20190137622A1 (en) * 2017-11-09 2019-05-09 Brennan Lopez-Hinojosa Method and System for Gauging External Object Movement and Conditions for Connected and Autonomous Vehicle Safety
DE102018201718A1 (en) * 2018-02-05 2019-08-08 Robert Bosch Gmbh Method and device for detecting an anomaly in a data stream in a communication network
US11595289B2 (en) * 2019-03-29 2023-02-28 Barefoot Networks, Inc. Network testing using a programmable packet engine

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006069041A2 (en) 2004-12-21 2006-06-29 Mistletoe Technologies, Inc. Network interface and firewall device
US20070022474A1 (en) 2005-07-21 2007-01-25 Mistletoe Technologies, Inc. Portable firewall
US8582428B1 (en) 2007-10-25 2013-11-12 Marvell Israel (M.I.S.L) Ltd. Methods and apparatus for flow classification and flow measurement
US20170118041A1 (en) 2015-10-21 2017-04-27 Brocade Communications Systems, Inc. Distributed rule provisioning in an extended bridge
WO2019116973A1 (en) 2017-12-15 2019-06-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Fraud detection device, in-vehicle network system, and fraud detection method
US20200304532A1 (en) 2017-12-15 2020-09-24 Panasonic Intellectual Property Corporation Of America Anomaly detection device, in-vehicle network system, and anomaly detection method

Also Published As

Publication number Publication date
CN115380510A (en) 2022-11-22
TWI807454B (en) 2023-07-01
TW202224382A (en) 2022-06-16
WO2022090065A1 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
EP2882145B1 (en) Method and filter assembly for buffering information about incoming messages transmitted over a serial bus of a communication network in a node of the network
DE19954377C2 (en) Data transmission system for aircraft
DE102018209407A1 (en) Method and device for handling an anomaly in a communication network
DE102017123121A1 (en) Vehicle network system
DE112011103561T5 (en) Network processor and method for accelerating data packet parsing
DE112019002591T5 (en) FORWARDING ELEMENT DATA LEVEL WITH FLOW SIZE DETECTOR
DE102014108457B3 (en) Network distributor
EP1710940A1 (en) Detection of errors during the transmission of data
WO2018077528A1 (en) Detection of manipulations in a can network by checking can identifiers
DE102020201988A1 (en) Device for processing data with at least two data interfaces and operating methods therefor
EP3861681B1 (en) System and method for fault detection and root cause analysis in a network of network components
DE102020128285A1 (en) Method for monitoring data traffic between control units of a motor vehicle and a motor vehicle equipped accordingly
WO2015043817A1 (en) Filtering a data packet by means of a network filtering device
DE102014224944A1 (en) Method and control unit for transmitting safety-relevant data in a motor vehicle by means of an Ethernet standard
DE102019210227A1 (en) Device and method for anomaly detection in a communication network
EP1469625A1 (en) Method and apparattus for packet oriented transmission of safety-relevant data.
DE112016007077T5 (en) COMMUNICATION DEVICE AND BANDWIDTH CONTROL METHOD
WO2023025764A1 (en) Device and method for processing data units
EP4170978A1 (en) Method for monitoring data traffic between control devices of a motor vehicle and corresponding motor vehicle
WO2017036508A1 (en) Communication device for a redundantly operable industrial communication network and method for operating a communication network
DE102007049044A1 (en) Data exchange device i.e. communication structure, for e.g. application specific integrated circuit, has function modules for processing interface-related functions, and master unit including number of signal inputs
DE102020128284A1 (en) Method for monitoring a data network in a motor vehicle and switching device and motor vehicle
DE102016222515A1 (en) Method and device for message transmission in a computer network
DE10327545B4 (en) Method and device for processing real-time data
EP4170977A1 (en) Switching device, motor vehicle and method for monitoring a data network in a motor vehicle

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: HOFSTETTER, SCHURACK & PARTNER - PATENT- UND R, DE

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012700000

Ipc: H04L0045000000

R018 Grant decision by examination section/examining division