WO2018077528A1 - Erkennung von manipulationen in einem can-netzwerk mittels überprüfung von can-identifiern - Google Patents

Erkennung von manipulationen in einem can-netzwerk mittels überprüfung von can-identifiern Download PDF

Info

Publication number
WO2018077528A1
WO2018077528A1 PCT/EP2017/072916 EP2017072916W WO2018077528A1 WO 2018077528 A1 WO2018077528 A1 WO 2018077528A1 EP 2017072916 W EP2017072916 W EP 2017072916W WO 2018077528 A1 WO2018077528 A1 WO 2018077528A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
frame
frames
received
full
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.)
Ceased
Application number
PCT/EP2017/072916
Other languages
English (en)
French (fr)
Inventor
Oliver Hartkopp
André Oberschachtsiek
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.)
Volkswagen AG
Original Assignee
Volkswagen 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 Volkswagen AG filed Critical Volkswagen AG
Priority to US16/344,057 priority Critical patent/US11128650B2/en
Priority to CN201780066377.9A priority patent/CN109891848B/zh
Publication of WO2018077528A1 publication Critical patent/WO2018077528A1/de
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • 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
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • 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

Definitions

  • the invention relates to a basic CAN controller and a full-CAN controller for detecting a manipulation in a CAN network according to the preamble of claims 1 and 2 and the use of a full-CAN controller according to the preamble of claim 4 and of Claim 5.
  • Host-based intrusion detection i. the controller itself detects the attack, or
  • Network-based intrusion detection i. a supervisory authority recognizes the attack.
  • the CAN bus uses a multi-master communication method
  • the attacker In the event of an attack, the attacker generally sends CAN messages whose CAN identifiers have already been assigned on the transmission side for control units in order to manipulate the recipients of the additional transmitted contents with identical CAN identifiers.
  • the originally sending controller can therefore detect an attack by receiving CAN identifiers, which should have been sent only by the controller itself.
  • This host-based method is known and described in the literature as well.
  • CAN networks are formed by the networking of control devices, so-called CAN controllers, with a CAN bus, whereby two CAN controller architectures can basically be distinguished:
  • the Basic CAN controller has a simple filtering with typically
  • Full CAN The full CAN controller includes several message filters with associated
  • corresponding CAN identifier receive filter can be configured in the CAN controller.
  • the amount of receive filters in a CAN controller are severely limited, for example to 4, 8, 16 or 32 filters. These filters deduce the number of interrupts of the ECU processor and are typically needed to receive application data from other CAN users.
  • a filter can also be defined that reacts to many CAN identifiers at the same time. This As a result, the number of interrupts will increase comparatively sharply, resulting in an additional load on the processor of the control unit.
  • the publication DE 10 2013 200 525 A1 relates to a method and a device for operating a communication network, in particular of a motor vehicle, wherein at least two control devices are connected to one another via the communication network in terms of data technology.
  • the data traffic is detected in the communication network, the detected data traffic is compared with previously acquired data of the data traffic and, as a result of the comparison, a possible data manipulation is detected.
  • at least one shutdown signal will be sent to at least one
  • Transmitted control unit and transferred the at least one a shutdown signal receiving control unit in a safe operating condition.
  • the document DE 10 2013 200 535 A1 relates to a method and a device for operating a communication network of a motor vehicle, wherein at least two control devices are coupled to the communication network.
  • data or messages sent from a first control device to a second control device are transmitted via at least two communication paths of the communication network and that the data or messages arriving via the at least two communication paths at the second control device are based on a plausibility check for possible data manipulation being checked.
  • Document US 20140337976 A1 relates to a method for operating a mobile router installed in a vehicle.
  • the vehicle comprises a network in the form of a bus, which is connected to a plurality of electronic control units.
  • the mobile router comprises an interface for a wide area radio network (WWAN), an interface for a local radio network (WLAN), an interface to a WWAN network (WWAN), a WLAN network (WLAN), a WWAN network, BT Internet, BT Internet, or BT Internet.
  • WLAN local radio network
  • Network bus of a vehicle a processor and a memory with a variety of programs.
  • the plurality of programs includes processor executable
  • the method of operating the mobile router includes monitoring the data on the network bus, detecting one or more
  • the invention has for its object to provide a method and an apparatus, whereby a manipulation on a CAN network or CAN bus can be detected easily and safely.
  • the basic CAN controller according to the invention for detecting a manipulation in a CAN network comprises
  • a CAN transceiver for connecting the Basic CAN controller to a CAN bus; a CAN protocol engine for coding a CAN frame into a CAN bus
  • Bit stream for transmission on the CAN bus and for decoding a received one
  • a TX-FIFO for storing CAN frames to be transmitted
  • a filter element is arranged in front of the RX FIFO, which filters the CAN frames intended for the basic CAN controller and forwards permissible CAN frames to the RX FIFO, and
  • a host control interface for communicating control information between the CAN protocol engine and a host computer, wherein
  • the basic CAN controller has an RX filter device, which uses the basic CAN controller for sending CAN frames assigned to the CAN specific for the Basic CAN controller CAN identifiers checked whether a received CAN frame a CAN Identifier, which is identical to one of the basic CAN controller specific CAN identifiers, and in the case of a match one
  • Intrusion Detection Interrupt IDS-IRQ triggers to the host control interface.
  • the full CAN controller according to the invention for detecting a manipulation in a CAN network comprises a CAN transceiver for connecting the full-CAN controller to a CAN bus, a CAN protocol engine for coding a CAN frame into a bit stream to be transmitted for transmission on the CAN bus and for decoding a received bit stream of the CAN Bus into a CAN frame,
  • a TX FIFO for storing CAN frames to be transmitted
  • a priority selector for transmitting a CAN frame to be transmitted to the CAN protocol engine as a function of priority
  • the RX FIFO a plurality of CAN filter memory elements and each CAN filter memory element, a filter element for filtering permissible, for the full CAN controller specific CAN frames from the received CAN frames and the Storing an allowable CAN frame in a CAN frame memory element, and
  • a host control interface for communicating control information between the CAN protocol engine and a host computer, wherein
  • the full-CAN controller has an RX filter device which checks on the basis of the full CAN controller for the transmission of CAN frames assigned to the full CAN controller specific CAN identifiers, if a received CAN frame a CAN - Identifier, which is identical to one of the specific for the full-CAN controller CAN identifiers, and triggers an intrusion detection interrupt IDS-IRQ to the host control interface in the event of a match.
  • the RX filter device preferably has a filter bank comprising one or more filter elements, wherein the filter elements make a check of a received CAN frame to determine whether its CAN identifier corresponds to one of the CAN identifiers specific for the CAN controller and to be transmitted. and instructs
  • Memory element for storing a received CAN frame whose CAN identifier coincides with a specific for the CAN controller CAN identifier.
  • a CAN transceiver for connecting the full-CAN controller with a CAN bus, a CAN protocol engine for encoding a CAN frame in a bitstream to be transmitted for transmission on the CAN bus and for decoding a received bit stream of the CAN Bus into a CAN frame, a TX FIFO for storing CAN frames to be transmitted,
  • a priority selector for transmitting a CAN frame to be transmitted to the CAN protocol engine as a function of priority
  • the RX FIFO a plurality of CAN filter memory elements and each CAN filter memory element, a filter element for filtering permissible, for the full CAN controller specific CAN frames from the received CAN frames and the Storing an allowable CAN frame in a CAN frame memory element, and
  • a storage of the received CAN identifier in the corresponding CAN frame memory element and generation of an intrusion detection interrupt IDS-IRQ to the Host control interface causes.
  • a CAN transceiver for connecting the full-CAN controller with a CAN bus, a CAN protocol engine for encoding a CAN frame in a bitstream to be transmitted for transmission on the CAN bus and for decoding a received bit stream of the CAN Bus into a CAN frame,
  • a TX FIFO with a plurality of CAN frame memory elements for storing CAN frames to be transmitted
  • a priority selector for transmitting a CAN frame to be transmitted to the CAN protocol engine as a function of priority
  • the RX FIFO a plurality of CAN filter memory elements and each CAN filter memory element, a filter element for filtering permissible, for the full CAN controller specific CAN frames from the received CAN frames and the Storing an allowable CAN frame in a CAN frame memory element, and a host control interface for communication of control information between the
  • Received CAN frames are supplied to the CAN frame memory elements of the TX-FIFOs to receive time and compared to a match of the CAN identifier of the received CAN frame with the present in the CAN frame memory elements, for sending specific CAN identifiers and in case of a match, generating an intrusion detection interrupt IDS-IRQ to the host control interface is effected.
  • the extension of a basic CAN controller or a full CAN controller with an RX filter device makes it possible to compare the CAN identifiers intended for the CAN controller with those of the received CAN frames, and to generate an interrupt if a match is found, as there is an attack in this case.
  • the additional RX filter device requires an expansion of the hardware of the CAN controller, whereby both the existing TX FIFO and the RX FIFO for intrusion detection do not perform any function.
  • the RX FIFO or the TX FIFO of a full-CAN controller can be used to detect an intrusion.
  • the intrusion detection interrupt IDS-IRQ which reports detection of an intrusion to the host control interface, can be implemented as a separate line.
  • the intrusion detection interrupt IDS-IRQ is executed as an additional interrupt source in the interrupt control register of the CAN controller, in which also other interrupt sources, such as TX, RX, error, overflow interrupts, configured can be.
  • 4 shows a full-CAN controller with a second variant of an intrusion detection
  • 5 shows a full-CAN controller with a filter device for intrusion detection
  • FIG. 6 shows a basic CAN controller with a filter device for intrusion detection.
  • Fig. 1 is a schematic representation of a known basic CAN controller shown with its essential elements, as it is implemented, for example, in the basic CAN controller SJA1000 the company NXP. Since in the area of the CAN buses the English
  • CAN transceiver 1 The connection to the two-wire CAN bus (not shown) via a CAN transceiver 1, which picks up the coded signals from the bus or puts them on the bus.
  • the CAN transceiver 1 in turn is connected to a CAN protocol engine 2, which decodes the received bit stream or encodes the bit stream to be transmitted according to the CAN protocol.
  • the CAN protocol engine 2 comprises a bitstream encoder 4 and a bitstream decoder 5, wherein a control logic 3 monitors and controls the operation.
  • a CAN message which is also referred to here as a CAN frame, comprises a predefined CAN identifier which has a length of 1 1 bit in the standard frame format and a length of 28 bits in the extended frame format except for an RTR frame (Remote Transmission Request) payload, for example, 8 bytes.
  • RTR frame Remote Transmission Request
  • a CAN identifier which is also identified as an object, identifies the content of the CAN frame and not the address of the device. For example, the parameters temperature, voltage and pressure can each be assigned a separate identifier in a measuring system.
  • CAN identifier Several parameters can be combined under one CAN identifier as long as the sum of the data does not exceed the maximum possible length of the user data field, in this example 8 bytes or, in the case of CAN FD, a maximum of 64 bytes.
  • the recipients use the CAN identifier to decide whether the message is relevant to them or not.
  • the CAN identifier also serves to prioritize the CAN messages or CAN frames. ID value is the "value" of the CAN identifier
  • the basic CAN controller illustrated in FIG. 1 comprises a filter 10, which makes it possible to filter received CAN frames, ie to accept or discard them.
  • the filter 10 has an ID mask 11, which logically combines the CAN identifier 12 and the received CAN identifier via an AND function. A received CAN frame is therefore accepted by the filter 10 if:
  • the filter 10 If the filter 10 has accepted a CAN frame, it is moved to a receive memory area, which is referred to as RX FIFO 18, where RX stands for "Receive".
  • the RX FIFO 18 in the example of FIG. 1 comprises four memory areas 13, 14, 15 and 16, in each of which a CAN frame can be stored, which comprises the respective CAN identifier, flags and data.
  • the stored CAN frame is optionally provided with a date, ie a timestamp.
  • the RX FIFO 18 consists of only one memory area 13, which inevitably leads to an interrupt to the receiving and storing of a filtered and therefore permissible CAN frame via the host control interface 6 to the host computer (Not shown) must be sent so that the stored in the memory area 13 CAN frame is taken before the arrival of a next allowable CAN frame from the host computer. If, therefore, the host computer is overloaded and can not retrieve the current CAN message from the memory area 13 despite receiving an interrupt from the host control interface 6, the current stored CAN message may be overwritten by the next permissible CAN message.
  • the transmit memory area On the left side of Fig. 1, the transmit memory area, referred to as the TX FIFO 9, showing the FIFO memory for the CAN frames to be output is shown.
  • the TX FIFO 9, where TX stands for "Transmit”, comprises two memory areas 7, 8 for the temporary storage of the CAN frames to be transmitted with CAN identifiers, flags and data.
  • FIG. 2 shows a full-CAN controller according to the prior art, as it is realized, for example, in the above-mentioned full-CAN controller 82C900 Infineon, wherein like reference numerals in the usual way denote identical components.
  • the connection to the two-wire CAN bus takes place via the CAN transceiver 1, as in the case of the Basic CAN controller, which picks up the coded signals from the bus or places the coded signals on the bus.
  • the CAN transceiver 1 receives the bit stream or sends the received bit stream into the CAN protocol engine 2, which decodes the received bit stream or encodes the bit stream to be transmitted according to the CAN protocol.
  • the CAN protocol engine 2 has a bit stream encoder 4 and a bit stream decoder 5, wherein a control logic 3 monitors and controls the operation of the CAN protocol engine 2.
  • the CAN protocol engine 2 is connected to a host control interface 6, which establishes the connection to a host computer (not shown) in order, for example, to indicate to the host computer the receipt of a CAN frame by means of an interrupt generation.
  • a received CAN frame is supplied in the full-CAN controller to an RX message buffer 26, which has a predetermined number of filter memory elements 27, 28, 29 and 30. 2, four filter memory elements 27, 28, 29, 30 are indicated, however, the number of filter memory elements 27, 28, 29, 30 is to be understood only as an example and adaptable to the requirements imposed on the CAN controller.
  • Each filter memory element 27, 28, 29, 30 of the RX message buffer 26 comprises a filter 10 consisting of the link between the ID value 1 1 of the CAN identifier and the ID mask 12, as well as a subsequent memory area 13, 14 , 15, 16, in which the filtered CAN frame with ID value, flags, data and time stamp is stored and ready for collection by the host computer (not shown).
  • a filter 10 consisting of the link between the ID value 1 1 of the CAN identifier and the ID mask 12, as well as a subsequent memory area 13, 14 , 15, 16, in which the filtered CAN frame with ID value, flags, data and time stamp is stored and ready for collection by the host computer (not shown).
  • the first filter memory element 27 is assigned a permissible CAN frame, which means that an arriving CAN frame has an ID value matching the ID mask 1 1, the host computer is notified by interrupt that a CAN Frame is pending for pickup. Now, if the interrupt within a given period of time, which is for example predetermined by a measuring cycle, not processed fast enough, so can within the given
  • the transmission side of the full CAN controller of FIG. 2 comprises a TX transmission buffer 20, which has a plurality of CAN frame memory areas 21, 22, 23 and 24, in which CAN frames can be stored by the host computer for transmission.
  • a priority selector 25 is arranged, which preferably transmits CAN frames with a higher priority. The priority is determined by the ID value. That from the priority selector 25 to Transmission specific CAN frame is then placed by the CAN protocol engine 2 via the CAN transceiver 1 on the CAN bus (not shown).
  • the CAN controller of FIG. 3 comprises a CAN transceiver 1 for connection to the CAN BUs (not shown), a CAN protocol engine 2 for coding and decoding the data received from the CAN transceiver, a host Control interface 6 for connecting the full-CAN controller to a host computer, an RX message buffer 26 for temporary
  • each CAN controller is assigned a number of CAN identifiers for transmitting CAN frames that are allowed and used. Therefore, if a CAN controller receives a CAN frame with an associated CAN identifier, the CAN controller or the corresponding host computer can use the CAN identifier to determine whether this CAN frame represents an attack or not. If the CAN frame is detected as an attack, since a CAN identifier was used, which is actually assigned to the receiving CAN controller for transmission, then a corresponding reaction of the CAN controller can take place, for example by this impermissible CAN frame by means of a corresponding Error frames for other reading CAN controllers of the network is rendered harmless.
  • a number of CAN filter memory elements 27, 28, 29 and 30 are configured in such a way that the respective ID mask regions 1 1 have their own assigned to the CAN controller Send serving CAN identifier are stored. If a CAN filter memory element 27, 28, 29, 30 now accepts a CAN frame with a CAN identifier specific to the CAN controller on the basis of a positive filtering of the corresponding filter element 10, then an intrusion interrupt request, a so-called IDS IRQ 32, triggered and transmitted by the host control interface 6 to the host computer, not shown, which then causes, for example, the transmission of a corresponding error frame.
  • IDS IRQ 32 intrusion interrupt request
  • the use of some of the CAN filter memory elements as detectors for CAN frames with their own specific CAN identifiers reduces the number of CAN frames destined for the CAN controller with permissible CAN identifiers.
  • FIG. 4 shows a full-CAN controller corresponding to that of FIG. 2, in which a second variant of the intrusion detection is realized.
  • the detection of an attack takes place as in the example of the full-CAN controller of FIG. 3 on the investigation of the CAN identifier of a received CAN frame.
  • the received CAN frames are checked by means of the CAN frame memory elements 21, 22, 23, 24 of the TX message buffer 20.
  • the received CAN frames are behind the bitstream decoder 5 of the CAN protocol engine 2 tapped parallel to the RX message buffer 26 and the CAN frame memory elements 21, 22, 23, 24 of the TX message buffer 20 supplied.
  • the CAN identifier of a received CAN frame is checked at the reception time and an IDS IRQ 32 is generated and supplied to the host computer (not shown), if the received CAN identifier a corresponds to that which is reserved for the full-CAN controller and thus specific. As a result, the full-can controller can generate a corresponding error frame and put it on the CAN bus, thus rendering the attack harmless.
  • FIG. 5 shows a full CAN controller corresponding to that of FIG. 2, in which an intrusion detection is realized by means of a separate RX filter device 40, which picks up the received CAN frames immediately after the CAN protocol engine 2, i.
  • the RX filter device comprises a filter bank 41 comprising a plurality of filter elements 42, 43, 44, wherein the number of three filter elements 42, 43, 44 shown here is to be understood only symbolically and the number of filter elements
  • Filter elements 42, 43, 44 is usually greater than three.
  • a filter element 42, 43, 44 is formed from an ID mask 1 1 and an ID identifier value 12.
  • the CAN identifiers of the CAN frames to be monitored are introduced into the ID identifier values 12 of the filter elements 42, 43, 44. Since usually on exactly one CAN identifier in one
  • Filter element 42, 43, 44 is to be filtered, a value is entered in the ID mask 1 1, in which all bits of the filter are set.
  • the filter element 42, 43, 44 may also be designed in the form that only one ID identifier value 12 has to be entered in order to carry out a filtering.
  • a comparison is now made between the stored CAN identifiers of the full-CAN controller and the received CAN identifiers. If a match is found, then the corresponding CAN frame is stored in the memory element 45 of the RX filter device 40 and a generation of a
  • Interrupts IDS IRQ 32 which is forwarded via the host control interface 6 to the host computer (not shown).
  • the host computer not shown.
  • the CAN controller with appropriate
  • FIG. 6 shows a basic CAN controller corresponding to that of FIG. 1, in which an intrusion detection is realized by means of a separate RX filter device 40.
  • the RX filter device 40 corresponds to that of FIG. 5, so that reference is made to the corresponding description of FIG. 5 for a detailed explanation of the mode of operation.
  • the CAN identifiers provided for the basic CAN controller for transmission are stored in the filter elements 42, 43, 44 of the filter bank 41 and compared with the CAN identifiers of the received CAN frames. In the case of a match, therefore, there is an attack or an intrusion and it takes place after the storage of the determined CAN frame in

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Small-Scale Networks (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)

Abstract

Durch eine Erweiterung eines Basic-CAN-Controllers bzw. eines Full-CAN-Controllers mit einer RX-Filtereinrichtung ist es möglich, die für den CAN-Controller zum Senden bestimmten CAN- Identifiern mit denjenigen der empfangenen CAN-Frames zu vergleichen. Im Fall einer Übereinstimmung wird ein Interrupt zu erzeugt, da in diesem Fall ein Angriff vorliegt. Falls keine Hardwareerweiterung beabsichtigt ist, so kann das RX-FIFO oder das TX-FIFO eines Full-CAN-Controllers zur Erkennung einer Intrusion herangezogen werden.

Description

Beschreibung
ERKENNUNG VON MANIPULATIONEN IN EINEM CAN-NETZWERK MITTELS
ÜBERPRÜFUNG VON CAN-IDENTIFIERN
Die Erfindung betrifft einen Basic-CAN-Controller und einen Full-CAN-Controller zum Erkennen einer Manipulation in einem CAN-Netzwerk gemäß dem Oberbegriff der Ansprüche 1 und 2 sowie die Verwendung eines Full-CAN-Controllers gemäß dem Oberbegriff des Anspruchs 4 sowie des Anspruchs 5.
Das vorsätzliche Manipulieren von Inhalten auf CAN-Netzwerken im Fahrzeug, für das üblicherweise die Bezeichnung "Hacken" verwendet wird, ist ein intensiver Diskussionspunkt im Zusammenhang mit Cybersecurity für Fahrzeuge. Bei der Society of Automotive Engineers, kurz SAE, existiert bereits eine Vehicle Cybersecurity Working Group, welche die aktuellen Entwicklungen bei Manipulationen von Fahrzeugelektronik beobachtet und nach Möglichkeiten zu deren Verhinderung sucht.
Grundsätzlich kann eine Manipulation auf einem CAN-Bus auf zwei Arten erkannt werden:
Host-basierte Intrusion Detection, d.h. das Steuergerät selbst erkennt den Angriff, oder
Netzwerk-basierte Intrusion Detection, d.h. eine Kontrollinstanz erkennt den Angriff.
Weil der CAN-Bus eine Multi-Master-Kommunikationsverfahren verwendet, wird die
Adressierung über die sog. CAN-Identifier in einer Art spezifiziert, dass Steuergeräte nur auf bestimmten Adressen, also CAN-Identifiern, senden dürfen, was zu einer Sicherstellung des Multimaster-Arbitrierungsverfahrens führt.
Bei einem Angriff werden vom Angreifer im Allgemeinen CAN-Botschaften gesendet, deren CAN-Identifier bereits für Steuergeräte sendeseitig zugewiesen wurden, um die Empfänger der zusätzlichen gesendeten Inhalte mit Identischem CAN-Identifier zu manipulieren. Das ursprünglich sendende Steuergerät kann daher einen Angriff dadurch erkennen, dass es CAN-Identifier empfängt, welche eigentlich nur vom Steuergerät selbst hätten gesendet werden dürften. Dieses Host-basierte Verfahren ist bekannt und wird in der Literatur auch beschrieben.
Dabei werden CAN-Netzwerke durch die Vernetzung von Steuergeräten, sogenannten CAN- Controllern, mit einem CAN-Bus gebildet, wobei grundsätzlich zwei CAN-Controller- Architekturen unterschieden werden können:
Basic-CAN: Der Basic-CAN-Controller weist eine einfache Filterung mit typischerweise
einem Filter für den Empfang von CAN-Nachrichten, sog. CAN-Frames, sowie wenig Speicherplatz für CAN-Nachrichten auf. Dies resultiert in einer hohen CPU-Belastung, da die Filterung primär durch Software erfolgt.
Ferner ist die Hardware-Komplexität relativ zu den Kosten gering.
Full-CAN: Der Full-CAN-Controller umfasst mehrere Nachrichtenfilter mit zugehörigem
Speicherplatz für CAN-Nachrichten, was zu einer geringeren CPU-Belastung führt, da die Filterung primär durch die Hardware erfolgt. Ferner ist das Verhältnis Hardware-Komplexität zu Kosten größer.
Die Überwachung des Empfang von CAN-Identifiern, die nur der CAN-Knoten selbst senden darf, kann nach dem Stand der Technik nur dadurch erreicht werden, dass für die
entsprechenden CAN-Identifier Empfangsfilter im CAN-Controller konfiguriert werden. Die Menge der Empfangsfilter in einem CAN-Controller sind stark limitiert beispielsweise auf 4, 8, 16 oder 32 Filter. Diese Filter deduzieren die Anzahl der Interrupts des Steuergeräteprozessors und werden üblicherweise benötigt, um Anwendungsdaten von anderen CAN-Teilnehmern zu empfangen.
Diese wenigen (Empfangs-)Filter für die Überwachung von eigenen (Sende-)ldentifiern einzusetzen ist aufgrund der mengenmäßigen Limitierungen nicht oder nur unvollständig realisierbar. Zudem muss das Steuergerät empfangene Anwendungsnachrichten von empfangenen Sendenachrichten im Fall eines Angriffs unterschiedlich verarbeiten.
Reicht die Menge der Empfangsfilter für die Überwachung der eigenen Sende-Identifier nicht aus, kann auch ein Filter definiert werden, der auf viele CAN-Identifier gleichzeitig reagiert. Dies hat zur Folge, dass dabei die Anzahl der Interrupts vergleichsweise stark ansteigen wird, was zu einer zusätzlichen Belastung des Prozessors des Steuergerätes führt.
Grundsätzlich wird aufgrund dieser Restriktionen der CAN-Controller das an sich sinnvolle Erkennungsverfahren derzeit nur selten in Fahrzeugsteuergeräten realisiert.
So betrifft die Druckschrift DE 10 2013 200 525 A1 ein Verfahren und eine Vorrichtung zum Betrieb eines Kommunikationsnetzwerks, insbesondere eines Kraftfahrzeugs, wobei wenigstens zwei Steuergeräte über das Kommunikationsnetz datentechnisch miteinander verbunden sind. Insbesondere ist vorgesehen, dass der Datenverkehr in dem Kommunikationsnetzwerk erfasst wird, der erfasste Datenverkehr mit vorher erfassten Daten des Datenverkehrs verglichen und als Ergebnis des Vergleichs eine mögliche Datenmanipulation erkannt wird. Im Falle einer erkannten Datenmanipulation wird wenigstens ein Abschaltsignal an wenigstens ein
Steuergerät übermittelt und das wenigstens eine ein Abschaltsignal empfangende Steuergerät in einen sicheren Betriebszustand übergeführt.
Weiterhin betrifft die Druckschrift DE 10 2013 200 535 A1 ein Verfahren und eine Vorrichtung zum Betrieb eines Kommunikationsnetzwerks eines Kraftfahrzeugs, wobei wenigstens zwei Steuergeräte mit dem Kommunikationsnetz gekoppelt sind. Insbesondere ist vorgesehen, dass von einem ersten Steuergerät an ein zweites Steuergerät gesendete Daten oder Nachrichten über wenigstens zwei Kommunikationspfade des Kommunikationsnetzwerks übertragen werden und dass die über die wenigstens zwei Kommunikationspfade bei dem zweiten Steuergerät eingehenden Daten bzw. Nachrichten anhand einer Plausibilitätsprüfung auf eine mögliche Datenmanipulation hin geprüft werden.
Die Druckschrift US 20140337976 A1 betrifft ein Verfahren zum Betreiben eines in einem Fahrzeug installierten mobilen Routers. Dabei umfasst das Fahrzeug ein Netzwerk in Form eines Busses, der mit einer Vielzahl von elektronischen Steuergeräten verbunden ist. Ferner umfasst der mobile Router eine Schnittstelle für ein Weitverkehrsfunknetz (WWAN), eine Schnittstelle für ein lokales Funkverkehrsnetzwerk (WLAN), eine Schnittstelle zu einem
Netzwerkbusses eines Fahrzeugs, einen Prozessor und einen Speicher mit einer Vielzahl von Programmen. Die Vielzahl von Programmen umfasst ein vom Prozessor ausführbares
Intrusionserkennungsprogramm. Das Verfahren zum Betreiben des mobilen Routers umfasst das Überwachen des Daten auf dem Netzwerkbus, das Erkennen einer oder mehrerer
Anomalien in den überwachten Daten von dem Intrusionserkennungsprogramm und das Erzeugen einer Warnung nach dem Erkennen einer oder mehrerer Anomalien. Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zu schaffen, womit eine Manipulation auf einem CAN-Netzwerk bzw. CAN-Bus einfach und sicher erkannt werden kann.
Diese Aufgabe wird gelöst durch einen Basic-CAN-Controller mit den Merkmalen des
Anspruchs 1 , einen Full-CAN-Controller mit den Merkmalen des Anspruchs 2, durch die Verwendung eines Full-CAN-Controllers mit den Merkmalen des Anspruchs 4 sowie durch die Verwendung eines Full-CAN-Controllers mit den Merkmalen des Anspruchs 5. Bevorzugte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
Der erfindungsgemäße Basic-CAN-Controller zum Erkennen einer Manipulation in einem CAN- Netzwerk umfasst
einen CAN-Transceiver zum Verbinden des Basic-CAN-Controllers mit einem CAN-Bus, eine CAN-Protocol-Engine zum Kodieren eines CAN-Frames in einen zu sendenden
Bitstrom zur Übertragung auf dem CAN-Bus und zum Dekodieren eines empfangenen
Bitstroms des CAN-Bus in ein CAN-Frame,
ein TX-FIFO zum Speichern von zu übertragenden CAN-Frames,
ein RX-FIFO zum temporären Speichern der empfangenen CAN-Frames vor der
Übertragung an den Hostrechner, wobei vor dem RX-FIFO ein Filterelement angeordnet ist, welches die für den Basic-CAN-Controller bestimmten CAN-Frames filtert und zulässige CAN-Frames an das RX-FIFO weiterleitet, und
ein Host-Control-Interface zur Kommunikation von Steuerinformationen zwischen der CAN-Protocol-Engine und einem Hostrechner, wobei
der Basic-CAN-Controller eine RX-Filtereinrichtung aufweist, welche anhand der dem Basic-CAN-Controller zum Senden von CAN-Frames zugeordneten, für den Basic-CAN- Controller spezifischen CAN-Identifiern überprüft, ob ein empfangenes CAN-Frame einen CAN-Identifier aufweist, welcher mit einem der für den Basic-CAN-Controller spezifischen CAN-Identifiern identisch ist, und im Fall einer Übereinstimmung einen
Intrusionserkennungs-Interrupt IDS-IRQ an das Host-Control-Interface auslöst.
Der erfindungsgemäße Full-CAN-Controller zum Erkennen einer Manipulation in einem CAN- Netzwerk umfasst eine CAN-Transceiver zum Verbinden des Full-CAN-Controllers mit einem CAN-Bus, eine CAN-Protocol-Engine zum Kodieren eines CAN-Frames in einen zu sendenden Bitstrom zur Übertragung auf dem CAN-Bus und zum Dekodieren eines empfangenen Bitstroms des CAN-Bus in ein CAN-Frame,
ein TX-FIFO zum Speichern von zu sendenden CAN-Frames,
einen Prioritätsselektor zum Übertragen eines zu sendenden CAN-Frames an die CAN- Protocol-Engine als Funktion der Priorität,
ein RX-FIFO zum temporären Speichern der empfangenen CAN-Frames vor der
Übertragung an den Hostrechner, wobei das RX-FIFO eine Vielzahl von CAN-Filter- Speicherelementen und jedes CAN-Filter-Speicherelement ein Filterelement zum Filtern zulässiger, für den Full-CAN-Controller bestimmter CAN-Frames aus den empfangenen CAN-Frames und zum Speichern eines zulässigen CAN-Frames in einem CAN-Frame- Speicherelement aufweist, und
ein Host-Control-Interface zur Kommunikation von Steuerinformationen zwischen der CAN-Protocol-Engine und einem Hostrechner, wobei
der Full-CAN-Controller eine RX-Filtereinrichtung aufweist, welche anhand der dem Full- CAN-Controller zum Senden von CAN-Frames zugeordneten, für den Full-CAN-Controller spezifischen CAN-Identifiern überprüft, ob ein empfangenes CAN-Frame einen CAN- Identifier aufweist, welcher mit einem der für den Full-CAN-Controller spezifischen CAN- Identifiern identisch ist, und im Fall einer Übereinstimmung einen Intrusionserkennungs- Interrupt IDS-IRQ an das Host-Control-Interface auslöst.
Vorzugsweise weist die RX-Filtereinrichtung eine Filterbank umfassend ein oder mehrere Filterelemente auf, wobei die Filterelemente eine Überprüfung eines empfangenen CAN- Frames dahingehend vornehmen, ob dessen CAN-Identifier einem der für den CAN-Controller spezifischen, zum Senden bestimmten CAN-Identifiern entspricht, und weist ein
Speicherelement zur Speicherung eines empfangenen CAN-Frames auf, dessen CAN-Identifier mit einem für den CAN-Controller spezifischen CAN-Identifier übereinstimmt.
Bei der erfindungsgemäßen Verwendung eines Full-CAN-Controllers zur Erkennung von Manipulationen in einem CAN-Netzwerk, wobei der Full-CAN-Controller aufweist
einen CAN-Transceiver zum Verbinden des Full-CAN-Controllers mit einem CAN-Bus, eine CAN-Protocol-Engine zum Kodieren eines CAN-Frames in einen zu sendenden Bitstrom zur Übertragung auf dem CAN-Bus und zum Dekodieren eines empfangenen Bitstroms des CAN-Bus in ein CAN-Frame, ein TX-FIFO zum Speichern von zu sendenden CAN-Frames,
einen Prioritätsselektor zum Übertragen eines zu sendenden CAN-Frames an die CAN- Protocol-Engine als Funktion der Priorität,
ein RX-FIFO zum temporären Speichern der empfangenen CAN-Frames vor der
Übertragung an den Hostrechner, wobei das RX-FIFO eine Vielzahl von CAN-Filter- Speicherelementen und jedes CAN-Filter-Speicherelement ein Filterelement zum Filtern zulässiger, für den Full-CAN-Controller bestimmter CAN-Frames aus den empfangenen CAN-Frames und zum Speichern eines zulässigen CAN-Frames in einem CAN-Frame- Speicherelement aufweist, und
ein Host-Control-Interface zur Kommunikation von Steuerinformationen zwischen der
CAN-Protocol-Engine und einem Hostrechner,
sind die Filterelemente einer Teilmenge der CAN-Filter-Speicherelementen des RX-FIFOS mit den für den Full-CAN-Controller zum Senden eines CAN-Frames spezifischen CAN-Identifiern belegt, so dass eine Überprüfung der CAN-Identifier der empfangenen CAN-Frames mit den für den Full-CAN-Controller spezifischen CAN-Identifiern in den jeweiligen Filterelementen erfolgt. Im Fall einer Übereinstimmung eines empfangenen CAN-Identifiers mit einem der spezifischen CAN-Identifier des Full-CAN-Controllers wird ein Abspeichern des empfangenen CAN- Identifiers in dem entsprechenden CAN-Frame-Speicherelement und ein Erzeugen eines Intrusionserkennungs-Interrupts IDS-IRQ an das Host-Control-Interface bewirkt.
Bei einer weiteren erfindungsgemäßen Verwendung eines Full-CAN-Controllers zur Erkennung von Manipulationen in einem CAN-Netzwerk, wobei der Full-CAN-Controller aufweist
einen CAN-Transceiver zum Verbinden des Full-CAN-Controllers mit einem CAN-Bus, eine CAN-Protocol-Engine zum Kodieren eines CAN-Frames in einen zu sendenden Bitstrom zur Übertragung auf dem CAN-Bus und zum Dekodieren eines empfangenen Bitstroms des CAN-Bus in ein CAN-Frame,
ein TX-FIFO mit einer Vielzahl von CAN-Frame-Speicherelementen zum Speichern von zu sendenden CAN-Frames,
einen Prioritätsselektor zum Übertragen eines zu sendenden CAN-Frames an die CAN- Protocol-Engine als Funktion der Priorität,
ein RX-FIFO zum temporären Speichern der empfangenen CAN-Frames vor der
Übertragung an den Hostrechner, wobei das RX-FIFO eine Vielzahl von CAN-Filter- Speicherelementen und jedes CAN-Filter-Speicherelement ein Filterelement zum Filtern zulässiger, für den Full-CAN-Controller bestimmter CAN-Frames aus den empfangenen CAN-Frames und zum Speichern eines zulässigen CAN-Frames in einem CAN-Frame- Speicherelement aufweist, und ein Host-Control-Interface zur Kommunikation von Steuerinformationen zwischen der
CAN-Protocol-Engine und einem Hostrechner,
werden empfangene CAN-Frames den CAN-Frame-Speicherelementen des TX-FIFOs zur Empfangszeit zugeführt und auf eine Übereinstimmung des CAN-Identifier des empfangenen CAN-Frames mit den in den CAN-Frame-Speicherelementen vorliegenden, zum Senden bestimmten CAN-Identifiern verglichen und im Fall einer Übereinstimmung wird ein Erzeugen eines Intrusionserkennungs-Interrupts IDS-IRQ an das Host-Control-Interface bewirkt.
Zusammenfassend wird durch die Erweiterung eines Basic-CAN-Controllers bzw. eines Full- CAN-Controllers mit einer RX-Filtereinrichtung die Möglichkeit geschaffen, die für den CAN- Controller zum Senden bestimmten CAN-Identifiern mit denjenigen der empfangenen CAN- Frames zu vergleichen und ein Interrupt zu erzeugen, falls eine Übereinstimmung aufgefunden wird, da in diesem Fall ein Angriff vorliegt. Die zusätzliche RX-Filtereinrichtung bedingt jedoch eine Erweiterung der Hardware des CAN-Controllers, wobei sowohl das vorhandene TX-FIFO als auch das RX-FIFO für die Intrusionserkennung keine Funktion übernehmen.
Falls keine Hardwareerweiterung beabsichtigt ist, so kann das RX-FIFO oder das TX-FIFO eines Full-CAN-Controllers zur Erkennung einer Intrusion herangezogen werden.
Der Intrusionserkennungs-Interrupt IDS-IRQ, welcher die Erkennung einer Intrusion an das Host-Control-Interface meldet, kann als separate Leitung ausgeführt sein. Vorzugsweise wird der Intrusionserkennungs-Interrupt IDS-IRQ als zusätzliche Interrupt-Quelle im Interrupt- Control-Register des CAN-Controllers ausgeführt, in dem auch andere Interrupt-Quellen, wie beispielsweise TX-, RX-, Error-, Overflow-Interrupts, konfiguriert werden können.
Eine bevorzugte Ausgestaltung der Erfindung wird nachfolgend anhand der Zeichnungen erläutert. Dabei zeigt
Fig. 1 einen Basic-CAN-Controller nach dem Stand der Technik,
Fig. 2 einen Full-CAN-Controller nach dem Stand der Technik,
Fig. 3 einen Full-CAN-Controller mit einer ersten Variante einer Intrusionserkennung,
Fig. 4 einen Full-CAN-Controller mit einer zweiten Variante einer Intrusionserkennung, Fig. 5 einen Full-CAN-Controller mit einem Filtereinrichtung zur Intrusionserkennung, und
Fig. 6 einen Basic-CAN-Controller mit einem Filtereinrichtung zur Intrusionserkennung.
In Fig. 1 ist in schematischer Darstellung ein bekannter Basic-CAN-Controller mit seinen wesentlichen Elementen dargestellt, wie er beispielsweise in dem Basic-CAN-Controller SJA1000 der Firma NXP realisiert ist. Da sich im Bereich der CAN-Busse die englische
Bezeichnung der einzelnen Elemente durchgesetzt hat, wird diese in der folgenden
Beschreibung beibehalten. Die Verbindung zum zweidrahtigen CAN-Bus (nicht dargestellt) erfolgt über einen CAN-Transceiver 1 , der vom Bus die codierten Signale abgreift bzw. diese auf den Bus legt. Der CAN-Transceiver 1 wiederum ist mit einer CAN-Protocol-Engine 2 verbunden, die den empfangenen Bitstrom dekodiert bzw. den zu sendenden Bitstrom entsprechend dem CAN-Protokoll kodiert. Zu diesem Zweck umfasst die CAN-Protocol-Engine 2 einen Bitstrom-Encoder 4 und einen Bitstrom-Decoder 5, wobei eine Steuerlogik 3 den Betrieb überwacht und steuert.
Eine CAN-Nachricht, welche hier auch als CAN-Frame bezeichnet wird, umfasst einen vorausgestellten CAN-Identifier, der im Standard-Frame-Format eine Länge von 1 1 Bit und im Extended-Frame-Format eine Länge von 28 Bit aufweist, dem außer bei einem RTR Frame (Remote Transmission Request) Nutzdaten nachfolgen, beispielsweise 8 Byte. Dabei kennzeichnet ein CAN-Identifier, der auch als Objekt Identifiziert wird, den Inhalt des CAN- Frames und nicht die Adresse des Gerätes. Zum Beispiel kann in einem Messsystem den Parametern Temperatur, Spannung und Druck jeweils ein eigener Identifier zugewiesen sein. Es können mehrere Parameter unter einem CAN-Identifier vereint sein, solange die Summe der Daten die maximal mögliche Länge des Nutzdatenfeldes, also hier im Beispiel 8 Byte bzw. im Fall von CAN FD maximal 64 Byte, nicht überschreitet. Die Empfänger entscheiden anhand des CAN-Identifiers, ob die Nachricht für sie relevant ist oder nicht. Zudem dient der CAN-Identifier auch der Priorisierung der CAN-Nachrichten bzw. CAN-Frames. Als ID-Value wird der "Wert" des CAN-Identifiers bezeichnet
Der in Fig. 1 dargestellte Basic-CAN-Controller umfasst einen Filter 10, wodurch die Möglichkeit besteht empfangene CAN-Frames zu filtern, d.h. zu akzeptieren oder auszusortieren. Um eine Filterung durchführen zu können, weist der Filter 10 eine ID-Maske 1 1 auf, die den CAN- Identifier 12 und den empfangenen CAN-Identifier über eine UND-Funktion logisch verknüpft. Ein empfangenes CAN-Frame wird daher vom Filter 10 akzeptiert, wenn gilt:
(empfangene CAN-ID UND ID-Maske 1 1 ) ist gleich (ID-Value 12 UND I D-Maske 1 1 )
Hat der Filter 10 einen CAN-Frame akzeptiert, so wird dieser in einen Empfangs- Speicherbereich verschoben, welches als RX-FIFO 18 bezeichnet wird, wobei RX für "Receive" steht. Das RX-FIFO 18 im Beispiel der Fig. 1 umfasst vier Speicherbereiche 13, 14, 15 und 16, in denen jeweils ein CAN-Frame abgespeichert werden kann, welches den jeweiligen CAN- Identifier, Flags und Daten umfasst. Ferner ist das abgespeichert CAN-Frame gegebenenfalls mit einem Datum, also einem Timestamp, versehen. In der einfachsten Ausbaustufe besteht das RX-FIFO 18 aus nur einem Speicherbereich 13, was zwangsläufig dazu führt, dass mit dem Erhalt und Abspeichern eines gefilterten und damit zulässigen CAN-Frames über das Host- Control-Interface 6 ein Interrupt an den Host-Rechner (nicht dargestellt) gesendet werden muss, damit das im Speicherbereich 13 gespeicherte CAN-Frame vor dem Eintreffen eines nächsten zulässigen CAN-Frames vom Host-Rechner übernommen wird. Ist daher der Host-Rechner überlastet und kann trotz Erhalt eines Interrupts vom Host-Control-Interface 6 die aktuelle CAN- Nachricht aus dem Speicherbereich 13 nicht abrufen, so wird gegebenenfalls die aktuelle gespeicherte CAN-Nachricht durch die nächste zulässige CAN-Nachricht überschrieben. Durch die Verwendung eines entsprechend großen RX-FIFOs 18 mit mehreren Speicherbereichen 13, 14, 15, 16 wird diese Möglichkeit des Überschreibens herabgesetzt.
Auf der linken Seite der Fig. 1 ist der Sende-Speicherbereich dargestellt, der als das TX-FIFO 9 bezeichnet wird, welches den FIFO-Speicher für die auszugebenden CAN-Frames zeigt. Dabei umfasst das TX-FIFO 9, wobei TX für "Transmit" steht, zwei Speicherbereiche 7, 8 zur vorübergehenden Speicherung der zu übertragenden CAN-Frames mit CAN-Identifier, Flags und Daten.
Die Fig. 2 zeigt einen Full-CAN-Controller nach dem Stand der Technik, wie er beispielsweise im oben genannten Full-CAN-Controller 82C900 von der Firma Infineon realisiert ist, wobei gleiche Bezugszeichen in üblicher weise identische Komponenten bezeichnen.
Die Verbindung zum zweidrahtigen CAN Bus (nicht dargestellt) erfolgt wie beim Basic-CAN- Controller über den CAN-Transceiver 1 , der vom Bus die codierten Signale abgreift bzw. die codierten Signale auf den Bus legt. Der CAN Transceiver 1 erhält den Bitstrom bzw. schickt den empfangenen Bitstrom in die CAN-Protocol-Engine 2, die den empfangenen Bitstrom dekodiert bzw. den zu sendenden Bitstrom entsprechend dem CAN-Protokoll kodiert. Zu diesem Zweck weist die CAN-Protocol-Engine 2 einen Bitstrom-Encoder 4 und einen Bitstrom-Decoder 5 auf, wobei eine Steuerlogik 3 den Betrieb der CAN-Protocol-Engine 2 überwacht und steuert. Ferner ist die CAN-Protocol-Engine 2 mit einem Host-Control-Interface 6 verbunden, welches die Verbindung zu einem Hostrechner (nicht dargestellt) herstellt, um beispielsweise mittels einer Interrupt-Generierung dem Host-Rechner den Erhalt eines CAN-Frames anzuzeigen.
Ein empfangenes CAN-Frame wird in dem Full-CAN-Controller einem RX-Nachrichtenpuffer 26 zugeführt, der eine vorgegebene Anzahl von Filter-Speicherelementen 27, 28, 29 und 30 aufweist. In der Fig. 2 sind vier Filter-Speicherelemente 27, 28, 29, 30 angegeben, jedoch ist die Anzahl der Filter-Speicherelemente 27, 28, 29, 30 nur beispielhaft zu verstehen und an die an den CAN-Controller gestellten Anforderungen anpassbar.
Jedes Filter-Speicherelement 27, 28, 29, 30 des RX-Nachrichtenpuffers 26 umfasst einen Filter 10, bestehend aus der Verknüpfung zwischen dem ID-Value 1 1 des CAN-Identifiers und der ID- Maske 12, sowie einen nachfolgenden Speicherbereich 13, 14, 15, 16, in welchem der gefilterte CAN-Frame mit ID-Value, Flags, Daten und Zeitstempel abgespeichert wird und zur Abholung durch den Hostrechner (nicht dargestellt) bereitsteht. Zwar wird durch die Verwendung mehrerer Filter 10 im jeweiligen Filter-Speicherelement 27, 28, 29, 30 die Verwendung mehrerer voneinander unabhängiger ID-Masken möglich, jedoch ist die Bereitstellung der empfangenen CAN-Frames an den Hostrechner zeitkritisch und ein Interrupt muss innerhalb der Zeit abgearbeitet werden, innerhalb derer ein Filter-Speicherelement 27, 28, 29, 30 mit einem nächsten zulässigen CAN-Frame überschrieben werden könnte. Ist beispielsweise das erste Filter-Speicherelement 27 mit einem zulässigen CAN-Frame belegt, was bedeutet, dass ein ankommendes CAN-Frame einen zur ID-Maske 1 1 passenden ID-Value aufweist, so wird dem Hostrechner per Interrupt mitgeteilt, dass ein CAN-Frame zur Abholung ansteht. Wird nun der Interrupt innerhalb eines vorgegebenen Zeitraums, der beispielsweise vom einem Messzyklus vorgegeben ist, nicht schnell genug abgearbeitet, so kann innerhalb des vorgegebenen
Zeitraums ein nächstes CAN-Frame mit einem zur ID-Maske 1 1 passenden ID-Value 12 zur Speicherung an dem speziellen Filter-Speicherelement 27 anstehen, wodurch das
abgespeicherte vorherige CAN-Frame überschrieben wird und somit verloren geht.
Die Sendeseite des Full-CAN-Controllers der Fig. 2 umfasst eine TX-Sendepuffer 20, der mehrere CAN-Frame-Speicherbereiche 21 , 22, 23 und 24 aufweist, in welche vom Hostrechner CAN-Frames zur Versendung abgelegt werden können. Nachfolgend dem TX-Sendepuffer 20 ist ein Prioritätsselektor 25 angeordnet, der CAN-Frames mit höherer Priorität bevorzugt sendet. Dabei wird die Priorität über den ID-Value festgelegt. Das vom Prioritätsselektor 25 zur Sendung bestimmte CAN-Frame wird dann von der CAN-Protocol-Engine 2 über den CAN- Transceiver 1 auf den CAN-Bus (nicht dargestellt) gelegt.
Fig. 3 zeigt einen Full-CAN-Controller entsprechend demjenigen der Fig. 2, bei dem eine erste Variante einer Intrusionserkennung realisiert ist. Identische Bezugszeichen der Full-CAN- Controller der Figuren 2 und 3 bezeichnen identische Elemente, so dass zur Beschreibung deren Funktionalität auf Fig. 2 verwiesen wird. Kurz zusammengefasst umfasst der CAN- Controller der Fig. 3 einen CAN-Transceiver 1 zur Verbindung mit dem CAN-BUs (nicht dargestellt), eine CAN-Protocol-Engine 2 zur Kodierung und Dekodierung der vom CAN- Transceiver empfangenen Daten, ein Host-Control-Interface 6 zur Verbindung des Full-CAN- Controllers mit einem Hostrechner, einem RX-Nachrichtenpuffer 26 zur temporären
Speicherung von für diesen CAN-Controller bestimmten CAN-Frames und einem TX- Nachrichtenpuffer zum temporären Speichern von zu übertragenden CAN-Frames.
Wie bereits erwähnt, ist jedem CAN-Controller einen Anzahl von CAN-Identifier zum Senden von CAN-Frames zugeordnet, die zulässig und zu benutzen sind. Empfängt ein CAN-Controller daher ein CAN-Frame mit einem zugehörigen CAN-Identifier, so kann der CAN-Controller bzw. der entsprechende Hostrechner anhand des CAN-Identifiers feststellen, ob dieses CAN-Frame ein Angriff darstellt oder nicht. Ist das CAN-Frame als Angriff erkannt, da ein CAN-Identifier benutzt wurde, der eigentlich dem empfangenden CAN-Controller zur Aussendung zugeordnet ist, so kann eine entsprechende Reaktion des CAN-Controllers erfolgen, beispielsweise indem dieses unzulässige CAN-Frame mittels eines entsprechenden Error-Frames für andere lesende CAN-Controller des Netzwerkes unschädlich gemacht wird.
Um eine Intrusion, also einen Angriff, erkennen zu können, werden daher eine Anzahl von CAN-Filter-Speicherelementen 27, 28, 29 und 30 derart konfiguriert, dass in den jeweiligen ID- Maskenbereichen 1 1 die dem CAN-Controller zugewiesenen eigenen, zum Senden dienenden CAN-Identifier abgelegt werden. Akzeptiert nun ein CAN-Filter-Speicherelement 27, 28, 29, 30 ein CAN-Frame mit einem für den CAN-Controller spezifischen CAN-Identifier aufgrund einer positiven Filterung des entsprechenden Filterelements 10, so wird ein Intrusion-Interrupt- Request, ein sogenannter IDS-IRQ 32, ausgelöst und mittels des Host-Control-Interface 6 an den nicht dargestellten Hostrechner übermittelt, der dann beispielsweise das Senden eines entsprechenden Error-Frames bewirkt. Allerdings wird durch die Benutzung einiger der CAN-Filter-Speicherelemente als Detektoren für CAN-Frames mit den eigenen spezifischen CAN-Identifiern die Anzahl der für den Empfang der für den CAN-Controller bestimmten CAN-Frames mit zulässigen CAN-Identifiern verringert.
Fig. 4 zeigt einen Full-CAN-Controller entsprechend demjenigen der Fig. 2, bei dem eine zweite Variante der Intrusionserkennung realisiert ist. Die Erkennung eines Angriffs erfolgt wie im Beispiel des Full-CAN-Controllers der Fig. 3 über die Untersuchung des CAN-Identifiers eines empfangenen CAN-Frames. Im Full-CAN-Controller der Fig. 4 erfolgt die Überprüfung der empfangenen CAN-Frames mittels der CAN-Frame-Speicherelemente 21 , 22, 23, 24 des TX- Nachrichtenpuffers 20. Dazu werden die empfangenen CAN-Frames hinter dem Bitstream- Decoder 5 der CAN-Protocol-Engine 2 parallel zum RX-Nachrichtenpuffer 26 abgegriffen und den CAN-Frame-Speicherelementen 21 , 22, 23, 24 des TX-Nachrichtenpuffers 20 zugeführt. In den CAN-Frame-Speicherelementen 21 , 22, 23, 24 wird der CAN-Identifier eines empfangenen CAN-Frames zur Empfangszeit geprüft und ein IDS-IRQ 32 erzeugt und dem Hostrechner (nicht dargestellt) zugeführt, wenn der empfangene CAN-Identifier einem solchen entspricht, der für den Full-CAN-Controller reserviert und damit spezifisch ist. Als Resultat kann der Full-Can- Controller ein entsprechendes Error-Frame erzeugen und auf den CAN-Bus legen, wodurch der Angriff unschädlich gemacht wird.
Fig. 5 zeigt einen Full-CAN-Controller entsprechend demjenigen der Fig. 2, bei dem eine Intrusionserkennung mittels einer separaten RX-Filtereinrichtung 40 realisiert ist, welche die empfangenen CAN-Frames unmittelbar hinter der CAN-Protocol-Engine 2 abgreift, d.h.
unmittelbar nach dem Empfang. Dabei umfasst die RX-Filtereinrichtung eine Filterbank 41 umfassend eine Mehrzahl von Filterelementen 42, 43, 44, wobei die hier dargestellt Anzahl von drei Filterelementen 42,43, 44 nur symbolisch zu verstehen ist und die Anzahl der
Filterelemente 42, 43, 44 üblicherweise größer als drei ist. Ein Filterelement 42, 43, 44 wird dabei aus einer ID-Maske 1 1 und einem ID-Identifierwert 12 gebildet. Dabei werden in den ID- Identifierwerten 12 der Filterelemente 42, 43, 44 die CAN-Identifier der zu überwachenden CAN-Frames eingebracht. Da üblicherweise auf genau einen CAN-Identifier in einem
Filterelement 42, 43, 44 gefiltert werden soll, wird in die ID-Maske 1 1 ein Wert eingetragen, bei dem alle Bits des Filters gesetzt sind. Alternativ kann das Filterelement 42, 43, 44 auch in der Form ausgestaltet sein, dass nur ein ID-Identifierwert 12 eingetragen werden muss, um eine Filterung durchzuführen. In den Filterelementen 42, 43, 44 der Filterbank 41 erfolgt nun eine Vergleich zwischen den abgelegten CAN-Identifiern des Full-CAN-Controllers und den empfangenen CAN-Identifiern. Wird eine Übereinstimmung festgestellt, so erfolgt ein Ablegen des entsprechenden CAN- Frames im Speicherelement 45 der RX-Filtereinrichtung 40 und es ein Erzeugen eines
Interrupts IDS-IRQ 32 , welches über das Host-Control-Interface 6 an den Hostrechner (nicht dargestellt) weitergeleitet wird. Zusätzlich kann der CAN-Controller bei entsprechender
Konfiguration das Erzeugen und Versenden eines Error-Frames einleiten. Mit anderen Worten, wenn ein empfangenes CAN-Frame in das Speicherelement 45 der RX-Filtereinrichtung abgelegt wird, so ist dieses CAN-Frame als Angriff erkannt worden, da ein CAN-Identifier benutzt wurde, der dem Full-CAN-Controller sendeseitig vorbehalten ist. Mit Hilfe des Inhalts aus Speicherelement 45 kann das zum Angriff genutzte CAN-Frame für forensische Zwecke ausgelesen werden.
Fig. 6 zeigt einen Basic-CAN-Controller entsprechend demjenigen der Fig. 1 , bei dem eine Intrusionserkennung mittels einer separaten RX-Filtereinrichtung 40 realisiert ist. Dabei entspricht die RX-Filtereinrichtung 40 derjenigen der Fig. 5, so dass für eine ausführliche Erläuterung der Funktionsweise auf die entsprechende Beschreibung der Fig. 5 verwiesen wird. Die für den Basic-CAN-Controller zum Senden vorgesehenen CAN-Identifier werden in den Filterelementen 42, 43, 44 der Filterbank 41 gespeichert und mit den CAN-Identifiern der empfangenen CAN-Frames verglichen. Im Fall einer Übereinstimmung liegt daher ein Angriff oder eine Intrusion vor und es erfolgt nach der Ablage des ermittelten CAN-Frames im
Speicherelement 45 die Erzeugung eines Interrupts IDS-IRQ 32.
Bezugszeichenliste
CAN Transceiver
CAN Protocol Engine
Steuerlogik
Bitstream Encoder
Bitstream Decoder
Host Control Interface
CAN-Frame-Speicherbereich
CAN-Frame-Speicherbereich
TX- Nachrichtenpuffer /TX-FIFO
Filtereinrichtung
I D-Maskenbereich
ID-Identifier-Bereich
CAN-Frame-Speicherelement
CAN-Frame-Speicherelement
CAN-Frame-Speicherelement
CAN-Frame-Speicherelement RX- Nachrichtenpuffer / RX-FIFO TX-Nachrichtenpuffer /TX-FIFO
CAN-Frame-Speicherelement
CAN-Frame-Speicherelement
CAN-Frame-Speicherelement CAN-Frame-Speicherelement Prioritätsselektor
RX- Nachrichtenpuffer / RX-FIFO CAN-Filter-Speicherelement CAN-Filter-Speicherelement CAN-Filter-Speicherelement CAN-Filter-Speicherelement IDS-IRQ RX-Filtereinrichtung
Filterbank
Filterelement
Filterelement
Filterelement
Speicherelement

Claims

Patentansprüche
Basic-CAN-Controller mit
einem CAN-Transceiver (1 ) zum Verbinden des Basic-CAN-Controllers mit einem CAN- Bus,
einer CAN-Protocol-Engine (2) zum Kodieren eines CAN-Frames in einen zu sendenden Bitstrom zur Übertragung auf dem CAN-Bus und zum Dekodieren eines empfangenen Bitstroms des CAN-Bus in ein CAN-Frame,
einem TX-FIFO (9) zum Speichern von zu übertragenden CAN-Frames,
einem RX-FIFO (18) zum temporären Speichern der empfangenen CAN-Frames vor der
Übertragung an den Hostrechner, wobei vor dem RX-FIFO (18) ein Filterelement (10) angeordnet ist, welches die für den Basic-CAN-Controller bestimmten CAN-Frames filtert und zulässige CAN-Frames an das RX-FIFO (18) weiterleitet, und
einem Host-Control-Interface (6) zur Kommunikation von Steuerinformationen zwischen der CAN-Protocol-Engine (2) und einem Hostrechner,
dadurch gekennzeichnet, dass
der Basic-CAN-Controller eine RX-Filtereinrichtung (40) aufweist, welche anhand der dem Basic-CAN-Controller zum Senden von CAN-Frames zugeordneten, für den Basic-CAN- Controller spezifischen CAN-Identifiern dahingehend überprüft, ob ein empfangenes CAN- Frame einen CAN-Identifier aufweist, welcher mit einem der für den Basic-CAN-Controller spezifischen CAN-Identifiern identisch ist, und im Fall einer Übereinstimmung einen Intrusionserkennungs-Interrupt IDS-IRQ (32) an das Host-Control-Interface auslöst.
Full-CAN-Controller mit
einem CAN-Transceiver (1 ) zum Verbinden des Full-CAN-Controllers mit einem CAN-Bus, einer CAN-Protocol-Engine (2) zum Kodieren eines CAN-Frames in einen zu sendenden Bitstrom zur Übertragung auf dem CAN-Bus und zum Dekodieren eines empfangenen Bitstroms des CAN-Bus in ein CAN-Frame,
einem TX-FIFO (20) zum Speichern von zu sendenden CAN-Frames,
einem Prioritätsselektor (25) zum Übertragen eines zu sendenden CAN-Frames an die
CAN-Protocol-Engine (2) als Funktion der Priorität, einem RX-FIFO (26) zum temporären Speichern der empfangenen CAN-Frames vor der Übertragung an den Hostrechner, wobei das RX-FIFO (26) eine Vielzahl von CAN-Filter- Speicherelementen (27, 28, 29, 30) und jedes CAN-Filter-Speicherelement (27, 28, 29, 30) ein Filterelement (10) zum Filtern zulässiger, für den Full-CAN-Controller bestimmter CAN-Frames aus den empfangenen CAN-Frames und zum Speichern eines zulässigen CAN-Frames in einem CAN-Frame-Speicherelement (13, 14, 15, 16) aufweist, und einem Host-Control-Interface (6) zur Kommunikation von Steuerinformationen zwischen der CAN-Protocol-Engine (2) und einem Hostrechner,
dadurch gekennzeichnet, dass
der Full-CAN-Controller eine RX-Filtereinrichtung (40) aufweist, welche anhand der dem Full-CAN-Controller zum Senden von CAN-Frames zugeordneten, für den Full-CAN- Controller spezifischen CAN-Identifiern überprüft, ob ein empfangenes CAN-Frame einen CAN-Identifier aufweist, welcher mit einem der für den Full-CAN-Controller spezifischen CAN-Identifiern identisch ist, und im Fall einer Übereinstimmung einen
Intrusionserkennungs-Interrupt IDS-IRQ (32) an das Host-Control-Interface (6) auslöst.
Basic-CAN-Controller nach Anspruch 1 oder Full-Can-Controller nach Anspruch 2, dadurch gekennzeichnet, dass die RX-Filtereinrichtung (40) eine Filterbank (41 ) umfassend ein oder mehrere Filterelemente (42, 43, 44) aufweist, wobei die
Filterelemente (42, 43, 44) eine Überprüfung eines empfangenen CAN-Frames vornehmen, ob dessen CAN-Identifier einem der für den -CAN-Controller spezifischen, zum Senden bestimmten CAN-Identifier entspricht, und ein Speicherelement (45) zur Speicherung eines empfangenen CAN-Frames aufweist, dessen CAN-Identifier mit einem für den CAN-Controller spezifischen CAN-Identifier übereinstimmt.
Verwendung eines Full-CAN-Controllers zur Erkennung von Manipulationen in einem CAN-Netzwerk, wobei der Full-CAN-Controller aufweist
einen CAN-Transceiver (1 ) zum Verbinden des Basic-CAN-Controllers mit einem CAN- Bus,
eine CAN-Protocol-Engine (2) zum Kodieren eines CAN-Frames in einen zu sendenden
Bitstrom zur Übertragung auf dem CAN-Bus und zum Dekodieren eines empfangenen
Bitstroms des CAN-Bus in ein CAN-Frame,
ein TX-FIFO (20) zum Speichern von zu sendenden CAN-Frames,
einen Prioritätsselektor (25) zum Übertragen eines zu sendenden CAN-Frames an die
CAN-Protocol-Engine (2) als Funktion der Priorität, ein RX-FIFO (26) zum temporären Speichern der empfangenen CAN-Frames vor der Übertragung an den Hostrechner, wobei das RX-FIFO (26) eine Vielzahl von CAN-Filter- Speicherelementen (27, 28, 29, 30) und jedes CAN-Filter-Speicherelement (27, 28, 29, 30) ein Filterelement (10) zum Filtern zulässiger, für den Full-CAN-Controller bestimmter CAN-Frames aus den empfangenen CAN-Frames und zum Speichern eines zulässigen CAN-Frames in einem CAN-Frame-Speicherelement (13, 14, 15, 16) aufweist, und ein Host-Control-Interface (6) zur Kommunikation von Steuerinformationen zwischen CAN-Protocol-Engine (2) und Hostrechner,
dadurch gekennzeichnet, dass
die Filterelemente (10) einer Teilmenge der CAN-Filter-Speicherelementen (27, 28, 29, 30) des RX-FIFOS (26) mit den für den Full-CAN-Controller zum Senden eines CAN- Frames spezifischen CAN-Identifiern belegt sind, so dass eine Überprüfung der CAN- Identifier der empfangenen CAN-Frames mit den für den Full-CAN-Controller spezifischen CAN-Identifiern in den jeweiligen Filterelementen (10) erfolgt und im Fall einer
Übereinstimmung eines empfangenen CAN-Identifiers mit einem der spezifischen CAN- Identifier des Full-CAN-Controllers ein Abspeichern des empfangenen CAN-Identifiers in dem entsprechenden CAN-Frame-Speicherelement (13, 14, 14, 16) und ein Erzeugen einen Intrusionserkennungs-Interrupt IDS-IRQ (32) an das Host-Control-Interface (6) bewirkt.
5. Verwendung eines Full-CAN-Controllers zur Erkennung von Manipulationen in einem CAN-Netzwerk, wobei der Full-CAN-Controller aufweist
einen CAN-Transceiver (1 ) zum Verbinden des Basic-CAN-Controllers mit einem CAN- Bus,
eine CAN-Protocol-Engine (2) zum Kodieren eines CAN-Frames in einen zu sendenden Bitstrom zur Übertragung auf dem CAN-Bus und zum Dekodieren eines empfangenen Bitstroms des CAN-Bus in ein CAN-Frame,
ein TX-FIFO (20) mit einer Vielzahl von CAN-Frame-Speicherelementen (21 , 22, 23, 24) zum Speichern von zu sendenden CAN-Frames,
einen Prioritätsselektor (25) zum Übertragen eines zu sendenden CAN-Frames an die CAN-Protocol-Engine (2) als Funktion der Priorität,
ein RX-FIFO (26) zum temporären Speichern der empfangenen CAN-Frames vor der Übertragung an den Hostrechner, wobei das RX-FIFO (26) eine Vielzahl von CAN-Filter- Speicherelementen (27, 28, 29, 30) und jedes CAN-Filter-Speicherelement (27, 28, 29, 30) ein Filterelement (10) zum Filtern zulässiger, für den Full-CAN-Controller bestimmter CAN-Frames aus den empfangenen CAN-Frames und zum Speichern eines zulässigen CAN-Frames in einem CAN-Frame-Speicherelement (13, 14, 15, 16) aufweist, und ein Host-Control-Interface (6) zur Kommunikation von Steuerinformationen zwischen CAN-Protocol-Engine (2) und Hostrechner,
dadurch gekennzeichnet, dass
empfangene CAN-Frames den CAN-Frame-Speicherelementen (21 , 22, 23, 24) des TX- FIFOs (20) zur Empfangszeit zugeführt und auf eine Übereinstimmung des CAN-Identifier des empfangenen CAN-Frames mit den in den CAN-Frame-Speicherelementen (21 , 22, 23, 24) vorliegenden, zum Senden bestimmten CAN-Identifiern verglichen werden und im Fall einer Übereinstimmung ein Erzeugen einen Intrusionserkennungs-Interrupt IDS-IRQ (32) an das Host-Control-Interface (6) bewirkt wird.
PCT/EP2017/072916 2016-10-25 2017-09-12 Erkennung von manipulationen in einem can-netzwerk mittels überprüfung von can-identifiern Ceased WO2018077528A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/344,057 US11128650B2 (en) 2016-10-25 2017-09-12 Detection of manipulations in a CAN network by checking CAN identifiers
CN201780066377.9A CN109891848B (zh) 2016-10-25 2017-09-12 借助检查can标识符识别can网络中的操纵方法及can控制器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016220895.0A DE102016220895A1 (de) 2016-10-25 2016-10-25 Erkennung von Manipulationen in einem CAN-Netzwerk
DE102016220895.0 2016-10-25

Publications (1)

Publication Number Publication Date
WO2018077528A1 true WO2018077528A1 (de) 2018-05-03

Family

ID=59887250

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/072916 Ceased WO2018077528A1 (de) 2016-10-25 2017-09-12 Erkennung von manipulationen in einem can-netzwerk mittels überprüfung von can-identifiern

Country Status (4)

Country Link
US (1) US11128650B2 (de)
CN (1) CN109891848B (de)
DE (1) DE102016220895A1 (de)
WO (1) WO2018077528A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020043691A1 (de) 2018-08-29 2020-03-05 Volkswagen Aktiengesellschaft Vorrichtung, verfahren und computerprogramm zum bereitstellen einer kommunikation für ein steuergerät eines fahrzeugs, verfahren, zentral-vorrichtung und computerprogramm zum bereitstellen einer aktualisierung, steuergerät, und fahrzeug

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111434077B (zh) * 2018-05-23 2023-02-24 松下电器(美国)知识产权公司 通信控制装置、移动网络系统、通信控制方法以及存储介质
DE102018216958B4 (de) * 2018-10-02 2020-08-06 Conti Temic Microelectronic Gmbh Bussystem mit zumindest zwei Busknoten, Busknoten, Kraftfahrzeug und Verfahren
EP4057583A1 (de) * 2019-11-08 2022-09-14 Eurocybcar, S.L. System zur prüfung, bewertung und diagnose des niveaus der cybersicherheit eines fahrzeugs
DE102019218045A1 (de) 2019-11-22 2021-05-27 Volkswagen Aktiengesellschaft Verfahren zur Überwachung der Kommunikation auf einem Kommunikationsbus, elektronische Vorrichtung zum Anschluss an einen Kommunikationsbus, sowie zentrale Überwachungsvorrichtung zum Anschluss an einen Kommunikationsbus
CA3174983A1 (en) * 2020-04-15 2021-10-21 Akimbo Technologies Inc. Fault tolerant distributed computing
DE102021203230A1 (de) * 2021-03-30 2022-10-06 Robert Bosch Gesellschaft mit beschränkter Haftung Frame-Invalidierung im Bussystem mit Eindringenserkennungssystem
CN114900331B (zh) * 2022-04-13 2023-06-09 中山大学 基于can报文特征的车载can总线入侵检测方法
CN116069708A (zh) * 2023-01-05 2023-05-05 浙江长江汽车电子有限公司 一种标定时使用的总线过滤方法及装置
CN121098646B (zh) * 2025-08-22 2026-04-14 扬州万方科技股份有限公司 一种基于fpga的can接口扩展系统及扩展方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013200525A1 (de) 2013-01-16 2014-07-17 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betrieb eines Kommunikationsnetzwerks insbesondere eines Kraftfahrzeugs
DE102013200535A1 (de) 2013-01-16 2014-07-17 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betrieb eines Kommunikationsnetzwerks insbesondere eines Kraftfahrzeugs
US20140337976A1 (en) 2006-05-16 2014-11-13 Autonet Mobile, Inc. Method for vehicle intrusion detection with mobile router
US20150113638A1 (en) * 2013-10-23 2015-04-23 Christopher Valasek Electronic system for detecting and preventing compromise of vehicle electrical and control systems
JP2015192216A (ja) * 2014-03-27 2015-11-02 トヨタ自動車株式会社 通信装置および通信方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944739B2 (en) * 2001-09-20 2005-09-13 Microchip Technology Incorporated Register bank
US7826466B2 (en) * 2002-06-26 2010-11-02 Atheros Communications, Inc. Communication buffer scheme optimized for VoIP, QoS and data networking over a power line
US8650341B2 (en) * 2009-04-23 2014-02-11 Microchip Technology Incorporated Method for CAN concatenating CAN data payloads
DE102010028616A1 (de) 2009-06-03 2010-12-09 Continental Teves Ag & Co. Ohg System zur Anbindung von Nachrüstgeräten an ein Fahrzeug
US8949823B2 (en) 2011-11-16 2015-02-03 Flextronics Ap, Llc On board vehicle installation supervisor
CN106027260B (zh) 2016-05-12 2019-04-02 成都信息工程大学 基于密钥预分配的汽车ecu完整性验证和加密通信方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140337976A1 (en) 2006-05-16 2014-11-13 Autonet Mobile, Inc. Method for vehicle intrusion detection with mobile router
DE102013200525A1 (de) 2013-01-16 2014-07-17 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betrieb eines Kommunikationsnetzwerks insbesondere eines Kraftfahrzeugs
DE102013200535A1 (de) 2013-01-16 2014-07-17 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betrieb eines Kommunikationsnetzwerks insbesondere eines Kraftfahrzeugs
US20150113638A1 (en) * 2013-10-23 2015-04-23 Christopher Valasek Electronic system for detecting and preventing compromise of vehicle electrical and control systems
JP2015192216A (ja) * 2014-03-27 2015-11-02 トヨタ自動車株式会社 通信装置および通信方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PHILIPS: "DATA SHEET Stand-alone CAN controller SJA1000", 4 January 2004 (2004-01-04), XP055426193, Retrieved from the Internet <URL:https://www.nxp.com/docs/en/data-sheet/SJA1000.pdf> [retrieved on 20171117] *
SIEMENS: "Data Sheet Microcomputer Components SAE 81C90/91 Standalone Full-CAN Controller", 23 September 2004 (2004-09-23), XP055426938, Retrieved from the Internet <URL:http://pdf.datasheetcatalog.com/datasheet/infineon/1-d81c91_1.pdf> [retrieved on 20171120] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020043691A1 (de) 2018-08-29 2020-03-05 Volkswagen Aktiengesellschaft Vorrichtung, verfahren und computerprogramm zum bereitstellen einer kommunikation für ein steuergerät eines fahrzeugs, verfahren, zentral-vorrichtung und computerprogramm zum bereitstellen einer aktualisierung, steuergerät, und fahrzeug

Also Published As

Publication number Publication date
US20200067956A1 (en) 2020-02-27
CN109891848A (zh) 2019-06-14
US11128650B2 (en) 2021-09-21
DE102016220895A1 (de) 2018-04-26
CN109891848B (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
DE102016220895A1 (de) Erkennung von Manipulationen in einem CAN-Netzwerk
EP3661131B1 (de) Verfahren zur übertragung von daten über einen seriellen kommunikationsbus, entsprechend ausgelegte busschnittstelle sowie entsprechend ausgelegtes computerprogramm
EP3278529B1 (de) Angriffserkennungsverfahren, angriffserkennungsvorrichtung und bussystem für ein kraftfahrzeug
EP2702495B1 (de) Verfahren und vorrichtung zur an speichergrössen angepassten seriellen datenübertragung
EP4062591B1 (de) Verfahren zur überwachung der kommunikation auf einem kommunikationsbus, elektronische vorrichtung zum anschluss an einen kommunikationsbus, sowie zentrale überwachungsvorrichtung zum anschluss an einen kommunikationsbus
EP3685551B1 (de) Verfahren zur überwachung der kommunikation auf einem kommunikationsbus sowie elektronische vorrichtung zum anschluss an einen kommunikationsbus
DE112016003907T5 (de) Weiterleitungsvorrichtung
DE102017120505A1 (de) System zur Verifikation einer unregistrierten Vorrichtung basierend auf Informationen eines Ethernet-Switchs und Verfahren für dasselbige
WO2020187985A1 (de) Verfahren zur überwachung der kommunikation auf einem kommunikationsbus, elektronische vorrichtung zum anschluss an einen kommunikationsbus sowie fahrzeug
DE102016108923A1 (de) Spoofing-Erkennung
WO2016034349A1 (de) Verfahren zur seriellen übertragung eines rahmens über ein bussystem von einem sender zu mindestens einem empfänger und teilnehmerstation für ein bussystem
EP3725041B1 (de) Verfahren zur bereitstellung von informationen für die lokalisierung von fehlern in einem kommunikationsnetzwerk eines gerätes, entsprechend ausgelegte busteilnehmerstation sowie fahrzeug
EP3871393B1 (de) Verfahren zur überwachung eines datenübertragungssystems, datenübertragungssystem und kraftfahrzeug
DE102017209556A1 (de) Verfahren zum Schutz eines Fahrzeugnetzwerks gegen manipulierte Datenübertragung
DE112014003345B4 (de) Datenausschlussvorrichtung
DE102016204999A1 (de) Verfahren zur Überwachung der Sicherheit von Kommunikationsverbindungen eines Fahrzeugs
EP3688951B1 (de) Verfahren zum erfassen eines angriffs auf ein steuergerät eines fahrzeugs
DE102019213322A1 (de) Ethernet Physical Layer Transceiver für Zweidraht-Bustopologie
DE102017012214B4 (de) Verfahren zur Übertragung von Daten über einen seriellen Kommunikationsbus, entsprechend ausgelegte Busschnittstelle sowie entsprechend ausgelegtes Computerprogramm
DE102017216833A1 (de) Verfahren zum Bereitstellen von Datenpaketen aus einem CAN-Bus; Steuergerät sowie System mit einem CAN-Bus
DE102015210531A1 (de) Verfahren zum Erkennen einer fehlerhaften Übertragung einer Information in einem Kraftfahrzeug
DE102021203230A1 (de) Frame-Invalidierung im Bussystem mit Eindringenserkennungssystem
DE102020212452B3 (de) Verfahren zur Reduzierung der Auswirkungen von einer auf einem Kommunikationsbus eingeschleusten Botschaft
DE102019129628B3 (de) Verfahren und Steuergerät zum Detektieren eines unautorisierten Datenverkehrs in einem paketorientierten Datennetzwerk eines Kraftfahrzeugs sowie entsprechendes Kraftfahrzeug
DE102018216241A1 (de) Datenkommunikationsverfahren und -vorrichtung für ein Fahrzeugnetzwerk

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17768076

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17768076

Country of ref document: EP

Kind code of ref document: A1