Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR AVERTING A MANIPULATION OF A CAN BUS USING A NODE CONNECTED TO THE BUS BY MEANS OF A CAN CONTROLLER
Document Type and Number:
WIPO Patent Application WO/2017/064001
Kind Code:
A1
Abstract:
The invention relates to a method (1) for averting a manipulation of a CAN bus (12) using a first node (A) connected to the bus (12) by means of a CAN controller. The invention is characterized by the following features: a secured transmission module of the first node (A) monitors the bus (12), the transmission module detects transmission processes of the CAN controller in a normal operation of the first node (A), the transmission module detects a message (10, 11, 20, 21, 30, 31) inadmissably transmitted on the bus (12) in a manner that deviates from the normal operation, and the transmission module initiates countermeasures provided against the manipulation when the transmission module detects the message (10, 11, 20, 21, 30, 31).

Inventors:
HARTWICH FLORIAN (DE)
LOTHSPEICH TIMO (DE)
SOENKENS ANDREAS (DE)
KELLER THOMAS (DE)
MUTTER ARTHUR (DE)
Application Number:
PCT/EP2016/074214
Publication Date:
April 20, 2017
Filing Date:
October 10, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
H04L12/40
Foreign References:
US8799520B22014-08-05
Other References:
TSUTOMU MATSUMOTO ET AL: "A Method of Preventing Unauthorized Data Transmission in Controller Area Network", 2012 IEEE 75TH VEHICULAR TECHNOLOGY CONFERENCE (VTC SPRING 2012) : YOKOHAMA, JAPAN, 6 - 9 MAY 2012, IEEE, PISCATAWAY, NJ, 6 May 2012 (2012-05-06), pages 1 - 5, XP032202711, ISBN: 978-1-4673-0989-9, DOI: 10.1109/VETECS.2012.6240294
MICHAEL MUTER ET AL: "Entropy-based anomaly detection for in-vehicle networks", INTELLIGENT VEHICLES SYMPOSIUM (IV), 2011 IEEE, IEEE, 5 June 2011 (2011-06-05), pages 1110 - 1115, XP031999062, ISBN: 978-1-4577-0890-9, DOI: 10.1109/IVS.2011.5940552
Download PDF:
Claims:
Ansprüche

1. Verfahren (1) zum Abwehren einer Manipulation an einem CAN-Bus (12) durch einen mittels eines CAN-Controllers an den Bus (12) angebundenen

ersten Knoten (A),

gekennzeichnet durch folgende Merkmale:

- ein abgesichertes Sendemodul des ersten Knotens (A) überwacht den Bus (12),

- das Sendemodul erkennt Sendevorgänge des CAN-Controllers in einem Normalbetrieb des ersten Knotens (A),

- das Sendemodul erkennt eine abweichend von dem Normalbetrieb unzulässigerweise auf dem Bus (12) gesendete

Botschaft (10, 11, 20, 21, 30, 31), und

- falls das Sendemodul die Botschaft (10, 11, 20, 21, 30, 31) erkennt, leitet das Sendemodul gegen die Manipulation vorgesehene

Gegenmaßnahmen ein.

2. Verfahren (1) nach Anspruch 1,

gekennzeichnet durch folgendes Merkmal:

- die Gegenmaßnahmen umfassen, dass auf dem Bus (12) ein Fehlerrahmen generiert wird, während die

Botschaft (10, 11, 20, 21, 30, 31) gesendet wird.

3. Verfahren (1) nach Anspruch 1 oder 2,

gekennzeichnet durch folgendes Merkmal:

- die Gegenmaßnahmen umfassen, dass die

Botschaft (10, 11, 20, 21, 30, 31) über andere Kommunikationskanäle gemeldet wird.

4. Verfahren (1) nach einem der Ansprüche 1 bis 3,

gekennzeichnet durch folgendes Merkmal:

- die Gegenmaßnahmen umfassen, dass der Bus (12) in einen Fehlerzustand versetzt wird.

5. Verfahren (1) nach einem der Ansprüche 1 bis 4,

gekennzeichnet durch folgende Merkmale:

- in dem Normalbetrieb wird das Sendemodul mit zulässigen Botschaftskennungen des ersten Knotens (A) initialisiert,

- der erste Knoten (A) sendet die Botschaft (10, 11, 20, 21, 30, 31),

- die Botschaft (10, 11, 20, 21, 30, 31) wird anhand der

Botschaftskennungen erkannt und

- die Gegenmaßnahmen umfassen, dass weitere Sendevorgänge

insbesondere mittels eines Hardwareeingriffs in den CAN-Controller unterbunden werden.

6. Verfahren (1) nach einem der Ansprüche 1 bis 5,

gekennzeichnet durch folgende Merkmale:

- der CAN-Controller nimmt von einer vertrauenswürdigen Steuereinheit, insbesondere einem Hardwaresicherheitsmodul, vorgegebene Regeln für die Sendevorgänge entgegen,

- ein an den Bus (12) angebundener zweiter Knoten (B) sendet die

Botschaft (10, 11, 20, 21, 30, 31) und

- die Botschaft (10, 11, 20, 21, 30, 31) wird anhand der Regeln erkannt.

7. Verfahren (1) nach einem der Ansprüche 1 bis 6,

gekennzeichnet durch folgende Merkmale:

- in dem Normalbetrieb wird das Sendemodul mit zulässigen Botschaftskennungen des ersten Knotens (A) initialisiert,

- ein an den Bus (12) angebundener dritter Knoten (C) sendet die

Botschaft (10, 11, 20, 21, 30, 31) und

- die Botschaft (10, 11, 20, 21, 30, 31) wird anhand der

Botschaftskennungen erkannt.

8. Computerprogramm, welches eingerichtet ist, das Verfahren (1) nach einem der Ansprüche 1 bis 7 auszuführen.

9. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.

Vorrichtung, die eingerichtet ist, das Verfahren (1) nach einem der Ansprüche bis 7 auszuführen.

Description:
Beschreibung Titel

Verfahren und Vorrichtung zum Abwehren einer Manipulation an einem CAN-Bus durch einen mittels eines CAN-Controllers an den Bus angebundenen Knoten

Die vorliegende Erfindung betrifft ein Verfahren zum Abwehren einer

Manipulation an einem CAN-Bus durch einen mittels eines CAN-Controllers an den Bus angebundenen Knoten. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.

Stand der Technik

Nach dem Stand der Technik besteht ein CAN-Kommunikationsnetzwerk aus mindestens zwei Teilnehmern, die über die CAN-Verbindung Botschaften nach der CAN-Spezifikation austauschen können. Jeder Bus-Teilnehmer kann entsprechend Botschaften versenden und empfangen. Um

Kommunikationsprobleme zu vermeiden, werden zum Zeitpunkt des

Netzwerkdesigns den jeweiligen Bus-Teilnehmern eindeutige

Botschaftskennungen (object identifier, ID) zugeordnet. Empfängerseitig prüft die CAN-Hardware, ob die übermittelten Botschaften der CAN-Spezifikation entsprechen und kann im Falle von Übertragungsfehlern die Botschaft verwerfen. Die inhaltliche Prüfung einer gültigen Botschaft obliegt der Anwendungssoftware.

In US 8,799,520 B2 wird ein Verfahren zum Betreiben eines Bussystems, insbesondere eines CAN-Busses, beschrieben. An das Bussystem sind mehrere Stationen anschließbar. Eine übertragene Nachricht weist eine Kennung auf, wobei eine bestimmte Kennung immer nur von einer einzigen Station verwendet werden darf. Jede der Stationen vergleicht die Kennung einer übertragenen Nachricht mit den von ihr selbst verwendeten Kennungen. Bei einer

Übereinstimmung wird eine Fehlermeldung erzeugt.

Offenbarung der Erfindung

Die Erfindung stellt ein Verfahren zum Abwehren einer Manipulation an einem CAN-Bus durch einen mittels eines CAN-Controllers an den Bus angebundenen ersten Knoten, eine entsprechende Vorrichtung, ein entsprechendes

Computerprogramm sowie ein entsprechendes Speichermedium gemäß den unabhängigen Ansprüchen bereit.

Das beschriebene Verfahren beruht auf der Erkenntnis, dass jeder Bus- Teilnehmer nur die zugeordneten Botschaftskennungen verwendet und damit empfangene Botschaften eindeutig über die Botschaftskennungen dem Absender zugeordnet werden können.

Im Beispiel der Figur 1 wurden Busteilnehmer A die Botschaften mit den

Kennungen 10 und 11 zugeordnet, Teilnehmer B jene mit den Kennungen 20 und 21 und Teilnehmer jene mit den Kennungen 30 und 31. Wenn Teilnehmer B die Botschaft 11 korrekt empfängt, geht Teilnehmer B davon aus, dass die Botschaft 11 von Teilnehmer A versendet wird.

Damit ist ein Bus- Empfänger nicht in der Lage, festzustellen, von wem die Botschaft tatsächlich versendet wurde. Ein Angreifer kann einen Busteilnehmer so kompromittieren, dass er in der Lage ist, Botschaften anderer Teilnehmer am Bus zu versenden und damit die Kommunikation oder die Funktion eines oder mehrerer Busteilnehmer zu stören. In Figur 2 wurde Busteilnehmer C

kompromittiert und sendet jetzt auch die Botschaft 11 von Knoten A. Knoten B kann nicht ohne Weiteres erkennen, dass Botschaft 11 von Knoten C anstelle Knoten A versendet wurde. Da es sich bei dem CAN-Bus um einen zwischen allen Kommunikationsteilnehmern geteilten Kommunikationskanal handelt, sind unter der Voraussetzung eines physikalischen Zugriffs auf den

Kommunikationskanal analoge Angriffe durch eine Integration zusätzlicher Kommunikationsteilnehmer denkbar. Ein Vorzug des vorgeschlagenen Verfahrens liegt darin, dass die Sender von Botschaften die Kommunikation auf dem Bus beobachten und bei erkanntem Fehler - z. B. ein anderer Busteilnehmer sendet gerade eine Botschaftskennung des überwachten Senders - ggf. mittels eines abgesicherten Sendemoduls die entsprechende Botschaft ungültig machen kann.

Das beschriebene Verfahren kann auch dazu verwendet werden, um gewisse CAN-Netzwerkauslegungen - etwa Botschaftshäufigkeiten und Botschafts- Zeitabstände auch anderer Bus-Teilnehmer - zu überwachen, um bei

Auffälligkeiten ggf. mit entsprechenden Fehlerreaktionen das

Kommunikationsnetz in einen sicheren Zustand zu versetzen.

Dieses Vorgehen kann insbesondere in Verbindung mit einem

Hardwaresicherheitsmodul (hardware security module, HSM) auch für die Überwachung der knoteneigenen Sendebotschaften der normalen

Anwendungssoftware (ASW) mit Standard-CAN-Knoten verwendet werden.

Der Vorteil dieses Verfahrens liegt ferner darin, dass das Sendemodul mit den zu überwachenden CAN-Botschaftskennungen (z. B. durch das HSM) initialisiert werden kann. Wahlweise kann das Sendemodul bei einer erkannten

„unzulässigen" Botschaft eine vordefinierte Fehlerreaktion auslösen. Durch das zusätzliche Sendemodul bedarf es keiner Änderungen standardkonformer CAN-Module, wie sie etwa von der Robert Bosch GmbH unter dem

Handelsnamen„M_CAN" vertrieben werden.

Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen

Anspruch angegebenen Grundgedankens möglich. So kann vorgesehen sein, dass auf dem Bus ein Fehlerrahmen generiert wird, während die unzulässige Botschaft gesendet wird. Dies ist nicht konform zur CAN-Protokoll-Spezifikation, aber es ist kompatibel zum CAN-Protokoll; es entspricht der Reaktion auf einen erkannten Übertragungsfehler. Die anderen Botschaftskonsumenten können z. B. mit entsprechenden Ersatzreaktionen auf die ausbleibenden Botschaften reagieren. Kurze Beschreibung der Zeichnungen

Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:

Figur 1 das Blockdiagramm eines normalen Sendevorgangs.

Figur 2 das Blockdiagramm eines unzulässigen Sendevorgangs.

Figur 3 das Verfahren gemäß einer Ausführungsform der Erfindung zur Abwehr der Manipulation.

Ausführungsformen der Erfindung

Das Verfahren sieht vor, dass Busteilnehmer mit einem entsprechend abgesicherten Hardware-Modul (HW-Modul) ausgestattet sind, das in der Lage ist, die Buskommunikation zu beobachten. Dieses Sendemodul kann durch ein HSM oder eine anderweitige Steuereinheit angebunden und verwaltet werden. Im Normalbetrieb wird das Modul mit den Botschaftskennungen initialisiert, die von diesem Busknoten versendet werden sollen. In einer Alternative kann das CAN-HW-Modul dazu ausgeprägt sein, dass es von einer vertrauenswürdigen Steuereinheit - bspw. dem HSM - Regeln bzgl. der vorgesehenen

busknoteneigenen Kommunikation entgegennimmt, bspw. die Periodizität von Nachrichten oder maximale Anzahl einer bestimmten Nachricht pro Zeiteinheit.

Das CAN-HW-Modul erkennt die normalen Sendevorgänge des Standard-CAN- Controllers und kann damit ggf. die zyklische Aktivität des Busknotens überwachen. Die Sendevorgänge des eigenen Busknotens werden als gültig erkannt - weitere Maßnahmen sind nicht notwendig.

In dem Fall, dass ein Busteilnehmer - z. B. ein Gateway - kompromittiert wird oder einen Fehlerzustand einnimmt, sodass dieser Knoten unzulässige

Botschaften, die nicht mit den im HW-Modul konfigurierten Botschaften übereinstimmen, sendet oder die definierten Kommunikationsregeln für die durch den Busteilnehmer zu sendenden Nachrichten nicht einhält, kann dies durch das HW-Modul dieses Knotens erkannt werden und mindestens eine der folgenden Gegenmaßnahmen einleiten:

1. Das Sendemodul generiert bei laufender Übertragung der unzulässigen Botschaft einen Fehlerrahmen (error frame) und macht damit die unzulässige Botschaft ungültig.

2. Das Sendemodul meldet über andere Kommunikationskanäle - z. B. andere CAN-Botschaften - die unzulässige Botschaft an die

Botschaftskonsumenten.

3. Das Steuergerät (SG) generiert einen Bus-Off- Fehlerzustand und versetzt die restlichen Busteilnehmer in einen sichereren Zustand, z. B. einen kontrollierten Notfallbetrieb.

4. Das Sendemodul verhindert, bspw. mittels eines Hardwareeingriffs, dass weitere CAN-Botschaften gesendet werden können, bspw. durch Trennen der Sendeleitung (transmit, Tx) zwischen CAN-Controller und

CAN-Sendeempfänger (transceiver).

In dem Fall, dass ein Knoten - bspw. ein kompromittierter Knoten C oder auch ein zusätzlich in das Netzwerk integrierter Knoten - Botschaften sendet - vorliegend die aus Arbitrierungsfeld 13, Daten 14 und Rahmenende (end of frame, EOF) 15 zusammengesetzte Botschaft 11 -, die eigentlich exklusiv einem anderen Knoten (bspw. Knoten A) zugeordnet sind, können diese durch den Originalsender (Knoten A) erkannt und entsprechende Ersatz- oder

Fehlerreaktionen ausgelöst werden (vgl. Figur 3):

1. Das Sendemodul generiert bei laufender Übertragung der unzulässigen Botschaft einen Fehlerrahmen (error frame) und macht damit die unzulässige Botschaft ungültig.

2. Das Sendemodul meldet über andere Kommunikationskanäle - z. B. andere CAN-Botschaften - die unzulässige Botschaft an die

Botschaftskonsumenten. 3. Das Steuergerät (SG) generiert einen Bus-Off- Fehlerzustand und versetzt die restlichen Busteilnehmer in einen sichereren Zustand, z. B. einen kontrollierten Notfallbetrieb.

Ist das Sendemodul eines Knotens A dazu ausgebildet, Kommunikationsregeln (bspw. die Periodizität von Nachrichten oder maximale Anzahl einer bestimmten Nachricht pro Zeiteinheit) anderer Kommunikationsteilnehmer zu überwachen, dann kann das Sendemodul des Knotens A feststellen, dass ein anderer Kommunikationsknoten (bspw. Knoten B) diese Regeln verletzt und

entsprechende Ersatz- oder Fehlerreaktionen auslösen:

1. Das Sendemodul generiert bei laufender Übertragung der unzulässigen Botschaft einen Fehlerrahmen (error frame) und macht damit die unzulässige Botschaft ungültig.

2. Das Sendemodul meldet über andere Kommunikationskanäle - z. B. andere CAN-Botschaften - die unzulässige Botschaft an die

Botschaftskonsumenten.

3. Das Steuergerät (SG) generiert einen Bus-Off- Fehlerzustand und versetzt die restlichen Busteilnehmer in einen sichereren Zustand, z. B. einen kontrollierten Notfallbetrieb.

Wenn mehrere CAN-Module (z. B. des Typs M_CAN), aber nur ein Sendemodul auf einem Controller integriert sind, kann das Sendemodul per

Hardwaremultiplexer auf jeweils ein CAN-Modul zyklisch umgeschaltet und der dazugehörige CAN-Bus gescannt werden.