LOTHSPEICH TIMO (DE)
SOENKENS ANDREAS (DE)
KELLER THOMAS (DE)
MUTTER ARTHUR (DE)
US8799520B2 | 2014-08-05 |
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
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. |
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.
Next Patent: METHOD AND DEVICE FOR GENERATING A JOINT SECRET