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 PDFInfo
- 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
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000015654 memory Effects 0.000 claims abstract description 83
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000001514 detection method Methods 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 3
- 238000004458 analytical method Methods 0.000 claims description 31
- 230000007123 defense Effects 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000003530 single readout Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010972 statistical evaluation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
- H04L2012/445—Star 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
Aus der
Aus der
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.
-
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.
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
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
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
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
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
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
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
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
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
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
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)
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)
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)
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 |
-
2020
- 2020-10-28 DE DE102020128285.0A patent/DE102020128285A1/en active Granted
-
2021
- 2021-10-21 TW TW110139050A patent/TWI807454B/en active
- 2021-10-22 WO PCT/EP2021/079303 patent/WO2022090065A1/en active Application Filing
- 2021-10-22 CN CN202180029783.4A patent/CN115380510A/en active Pending
Patent Citations (6)
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 |