-
Die vorliegende Erfindung betrifft ein Verfahren zum Erkennen eines Angriffs auf einen zu sichernden Busteilnehmer, eine Überwachungseinheit und ein Bussystem.
-
Hintergrund der Erfindung
-
In Maschinen und Kraftfahrzeugen werden programmierbare Steuergeräte eingesetzt, um diese oder auch Komponenten davon, zu steuern. Beispielsweise kann ein Kraftfahrzeug Steuergeräte zur Motorsteuerung, für das Bremssystem usw. enthalten. Die Steuergeräte umfassen einen Mikrocontroller oder Prozessor mit einem oder typischerweise mit mehreren Prozessor-Kernen, die in einem Speicher gespeicherte Programme ausführen, um die Funktionen des Steuergeräts zu erzielen.
-
Untereinander und mit weiteren Geräten, etwa Sensoren, können die Steuergeräte über einen Bus verbunden sein. Verbreitet ist beispielsweise der CAN-Bus (Controller Area Network), ein auf Differenzspannungen basierender Bus, der Daten bzw. Nachrichten über zwei Busleitungen überträgt; Busleitungen und Busteilnehmer bilden zusammen ein Bussystem. Um zu verhindern, dass ein Angreifer, der Zugriff auf die physikalische Schicht, insbesondere die Busleitungen, hat, die übertragenen Daten manipuliert oder eigene Daten einschleust, können die zu übertragenden Daten beispielsweise durch kryptographische Verfahren abgesichert werden.
-
Offenbarung der Erfindung
-
Erfindungsgemäß werden ein Verfahren zum Erkennen eines Angriffs auf einen zu sichernden Busteilnehmer, eine Überwachungseinheit und ein Bussystem mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Die Erfindung bedient sich der Maßnahme, sowohl die Sendefehleranzahl mitzuzählen als auch die Frequenz bzw. Häufigkeit der Nachrichten zu bestimmen. Dies ermöglicht, einen Angreifer zu erkennen, der versucht, Nachrichten des Busteilnehmers (erkennbar anhand der Nachrichten-Identifikation) durch ein eigenes Signal (d.h. durch Anlegen eines Spannungssignals am Bus bzw. dessen Busleitungen) zu überdecken, so dass einerseits der Busteilnehmer von einer eigenen Fehlfunktion ausgeht und andererseits das darauffolgende Fehlersignal des Busteilnehmers aus Sicht anderer Teilnehmer am Bus nicht sichtbar ist, und dass in der Folge der Busteilnehmer in den inaktiven Sende-Zustand schaltet, ohne dass dies von einer überwachenden Einheit erkannt wird. Dieser Versuch wird durch die Erfindung erkannt, da sowohl Versuche des Busteilnehmers, die Nachricht erneut zu senden, als auch Versuche des Angreifers, dies ebenso zu überdecken, zu einer Erhöhung der Nachrichten-Frequenz bzw. Nachrichten-Häufigkeit führen.
-
Diese Vorgehensweise macht sich zunutze, dass in technischen Systemen Nachrichten von Busteilnehmern typischerweise zumindest im Wesentlichen in regelmäßigen zeitlichen Abständen gesendet werden, d.h. innerhalb geringer Abweichungen von z.B. 20 % oder 10 %. Beispielsweise könnte ein Busteilnehmer ein Sensor sein, der erfasste Messwerte regelmäßig auf dem Bus sendet. Ein anderes Beispiel ist ein Steuergerät, das Steuerbefehle in regelmäßigen Zeitabständen, etwa bedingt durch eine bestimmte Verarbeitungszeit zur Erzeugung der Steuerbefehle, sendet. Auch werden Nachrichten vom Busteilnehmer typischerweise unmittelbar erneut gesendet, wenn beim Senden ein Fehler erkannt wird, um deren Übermittlung sicherzustellen. Gegenüber einer kryptographischen Absicherung des Bussystems ist weniger Rechenleistung der Busteilnehmer und/oder weniger Busbandbreite nötig, da kryptographische Daten weder berechnet noch übertragen werden müssen.
-
Im Einzelnen ist im Verfahren zum Erkennen eines Angriffs auf einen zu sichernden bzw. zu schützenden Busteilnehmer eines Bussystems (das im Allgemeinen mehrere Busteilnehmer aufweist), der (zu sichernde) Busteilnehmer dazu konfiguriert, Nachrichten mit dem Busteilnehmer zugeordneten Nachrichten-Identifikationen auf einem Bus des Bussystems zu senden, ein Sendefehler-Zählverfahren zu implementieren, gemäß dem der Busteilnehmer bei Erkennen eines Sendefehlers diesen durch ein Sendefehler-Signal auf dem Bus anzeigt, und bei Überschreiten einer vorbestimmten Maximal-Sendefehleranzahl in einen inaktiven Sende-Zustand zu schalten, in dem der Busteilnehmer keine Nachrichten sendet. Eine entsprechende Konfiguration des (zu sichernden) Busteilnehmers ist etwa in einer Spezifikation des Bussystems vorgegeben. Soweit nicht anders angemerkt (etwa „andere Busteilnehmer“) oder aus dem Zusammenhang erkennbar, bezieht sich der Begriff „Busteilnehmer“ auf den „zu sichernden Busteilnehmer“ bzw. den „zu schützenden Busteilnehmer“.
-
Bei der Erfindung werden durch eine mit dem Bus verbundene Überwachungseinheit Nachrichten, die eine dem Busteilnehmer zugeordnete Nachrichten-Identifikation aufweisen, und dem Busteilnehmer zugeordnete Sendefehler-Signale erfasst, durch die Überwachungseinheit eine Sendefehleranzahl entsprechend dem Sendefehler-Zählverfahren gebildet, durch die Überwachungseinheit eine Häufigkeit der Nachrichten, die eine dem Busteilnehmer zugeordnete Nachrichten-Identifikation aufweisen, bestimmt, und ein möglicher Angriff erkannt, wenn die Überwachungseinheit feststellt, dass die Sendefehleranzahl unter der Maximal-Sendefehleranzahl liegt und die Nachrichten-Häufigkeit über einer vorgegebenen Häufigkeitsgrenze liegt.
-
Der Busteilnehmer ist vorzugsweise dazu konfiguriert, eine Nachricht, bei deren Senden ein Sendefehler erkannt wird, erneut zu senden. Auch ist der Busteilnehmer vorzugsweise dazu konfiguriert, Nachrichten mit einer Sendehäufigkeit zu senden, die unter der Häufigkeitsgrenze liegt.
-
Das Bussystem ist vorzugsweise ein CAN-Bussystem (CAN: Controller Area Network) gemäß der CAN-Spezifikation: Robert Bosch GmbH, CAN Specification, Version 2.0, Sep. 1991. Das erfindungsgemäße Verfahren wird also vorzugsweise bei einem CAN-Bussystem angewendet.
-
Der Begriff „möglicher Angriff“ bezieht sich darauf, dass nicht zwangsläufig ein Angriff vorliegen muss, da auch Störungen auftreten können, die ähnliche Effekte wie ein Angriff haben. Anderes formuliert wird ein Angriff im Sinne des Verfahrens erkannt.
-
Die Nachrichten-Identifikation ist typischerweise als Zeichenfolge, z.B. als Zahlenwert, insbesondere als Binärwert gegeben. Im CAN-Bus umfassen diese beispielsweise 11 Bits (standard frames) oder 29 Bits (extended frames). In der weiteren Beschreibung wird auch die Abkürzung „Nachrichten-ID“ für den Begriff „Nachrichten-Identifikation“ verwendet.
-
Bevorzugt wird, während sichergestellt ist, dass kein Angriff vorliegt, eine durchschnittliche Sendehäufigkeit von Nachrichten des Busteilnehmers bestimmt, wobei die Häufigkeitsgrenze als Produkt eines Häufigkeits-Multiplikators mit der durchschnittlichen Sendehäufigkeit vorgegeben wird. Der Häufigkeits-Multiplikators kann eine reelle Zahl größer eins sein. Vorzugsweise liegt der Häufigkeits-Multiplikator im Bereich von 1,1 bis 3, weiter bevorzugt im Bereich von 1,3 bis 2,5, am meisten bevorzugt im Bereich von 1,5 bis 2. Um sicherzustellen, dass kein Angriff vorliegt, kann etwa geprüft werden, ob ein Gerät eines potentiellen Angreifers physisch mit dem Bus verbunden ist oder ob eine Software eines Busteilnehmers manipuliert wurde. Insbesondere während der Herstellung und Einrichtung des Bussystems kann davon ausgegangen werden, dass kein Angriff vorliegt.
-
Bevorzugt werden, während sichergestellt ist, dass kein Angriff vorliegt, eine durchschnittliche Sendehäufigkeit und eine Varianz der Sendehäufigkeit von Nachrichten des Busteilnehmers bestimmt, wobei die Häufigkeitsgrenze als Summe der durchschnittlichen Sendehäufigkeit mit dem Produkt eines Varianz-Multiplikators mit der Varianz vorgegeben wird. Der Varianz-Multiplikators kann eine reelle Zahl sein. Vorzugsweise liegt der Varianz-Multiplikator im Bereich von 1 bis 5, weiter bevorzugt im Bereich von 2 bis 3.
-
Bevorzugt wird ein möglicher Angriff erkannt, wenn die Überwachungseinheit feststellt, dass die Sendefehleranzahl über der Maximal-Sendefehleranzahl liegt und weiterhin Nachrichten mit einer Nachrichten-ID, die dem Busteilnehmer zugeordnet ist, gesendet werden. Diese Bedingung ist ein Zeichen dafür, dass der Angreifer den Busteilnehmer in den inaktiven Sende-Zustand forciert hat und an seiner statt Nachrichten sendet.
-
Bevorzugt wird die Häufigkeit bestimmt als Anzahl von Nachrichten, die eine dem Busteilnehmer zugeordnete Nachrichten-ID aufweisen, innerhalb einer bestimmten Zeitspanne oder als Kehrwert einer zeitlichen Länge, innerhalb derer eine bestimmte Anzahl von Nachrichten, die eine dem Busteilnehmer zugeordnete Nachrichten-ID aufweisen, auftritt. Diese Vorgehensweisen sind einfach zu implementieren. Selbstverständlich sind auch andere Bestimmungsmöglichkeiten bzw. Definitionen einer Häufigkeit denkbar.
-
Eine entsprechend ausgestaltete Überwachungseinheit kann somit eigenständig die Häufigkeitsgrenze basierend auf tatsächlich im Betrieb des Bussystems auftretenden Nachrichten-Häufigkeiten bestimmen.
-
Bevorzugt wird, wenn ein möglicher Angriff erkannt wird, durch die Überwachungseinheit eine Warn-Nachricht auf dem Bus gesendet, die anzeigt, dass ein möglicher Angriff vorliegt, wobei die Warn-Nachricht bevorzugt Informationen über den betroffenen Busteilnehmer und/oder diesem zugeordnete Nachrichten-IDs enthält. Dies ermöglicht, anderen Busteilnehmern zu reagieren, etwa in einen gesicherten Zustand zu schalten oder Nachrichten des möglicherweise angegriffenen Busteilnehmers zu verwerfen.
-
Ein erfindungsgemäßes Bussystem umfasst mehrere Busteilnehmer und eine erfindungsgemäße Überwachungseinheit, die mit einem Bus des Bussystems verbunden sind, wobei die Überwachungseinheit dazu eingerichtet ist, wenigstens einen der Busteilnehmer zu sichern.
-
Auch die Implementierung der von der Überwachungseinheit durchgeführten Schritte eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN-Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnungen.
-
Die Erfindung ist anhand von Ausführungsbeispielen in den Zeichnungen schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnungen beschrieben.
-
Kurze Beschreibung der Zeichnungen
-
- 1 zeigt einen beispielhaften Aufbau eines Bussystems und einen Angreifer.
- 2 zeigt einen möglichen internen Aufbau einer Überwachungseinheit bzw. eines Angreifers.
- 3 illustriert mögliche Angriffsvektoren auf einen Teilnehmer des Bussystems.
- 4 illustriert einen Effekt eines Angriffsversuchs.
- 5 zeigt ein Ablaufdiagramm gemäß einer bevorzugten Ausführungsform der Erfindung.
-
Ausführungsform(en) der Erfindung
-
1 stellt einen beispielhaften Aufbau eines Bussystems 2, insbesondere eines auf Differenzspannungssignalen basierenden Bussystems, wie etwa ein CAN-Bussystem, und einen Angreifer 8 dar. Das Bussystem 2 umfasst einerseits zwei Leitungen 4, über die die Spannungssignale übertragen werden und die über Abschlusswiderstände 5, welche die zentrale Impedanz des Bussystems darstellen, miteinander verbunden sind, und andererseits mehrere Busteilnehmer 6, 9, die mit den zwei Busleitungen 4 verbunden sind, um über den Bus, d.h. über die Busleitungen, miteinander zu kommunizieren. Dazu verwenden die Busteilnehmer Differenzspannungen zwischen den beiden Busleitungen, die mittels Transceivern erzeugt und ausgelesen und die mittels Bus-Controllern in entsprechende Daten (z.B. eine Folge von Datenbits) umgewandelt werden. Beispiele für die Busteilnehmer 6 sind Steuergräte eines Kraftfahrzeugs oder einer Maschine, die Steuerungsdaten übermitteln, oder Sensoren, die Sensordaten, etwa zu Steuergeräten, übermitteln. Der Begriff Busteilnehmer bezeichnet in dieser Anmeldung reguläre Busteilnehmer, denen der Zugriff auf den Bus erlaubt ist, im Gegensatz zu einem Angreifer, der unerlaubt auf den Bus zugreift.
-
Der Angreifer 8, etwa ein Gerät, das ebenfalls einen Transceiver bzw. zumindest einen Transmitter oder Receiver aufweist, hat physischen Zugang zum Bussystem und kann so eine Verbindung zu den Leitungen 4 herstellen. Somit ist der Angreifer 8 in der Lage, auf dem Bus gesendete Nachrichten mitzuhören und/oder selbst Nachrichten zu senden. Es ist auch denkbar, dass es einem Angreifer gelingt, auf einen der Busteilnehmer 6 eine manipulierte Software aufzuspielen. Ein so manipulierter Busteilnehmer kann als interner Angreifer angesehen werden.
-
Weiterhin ist eine ebenfalls mit dem Bus (d.h. mit den Busleitungen) verbundene Überwachungseinheit 7 dargestellt, die dazu dient zu erkennen, ob ein Angreifer versucht, Zugriff auf das Bussystem oder einen Busteilnehmer zu erhalten bzw. deren Betrieb zu stören. Die Überwachungseinheit 7 kann selbst ein regulärer Busteilnehmer sein, der um eine entsprechende Funktionalität ergänzt wurde.
-
2 zeigt einen möglichen internen Aufbau einer Überwachungseinheit 7 bzw. eines Angreifers 8. Gezeigt sind ein Mikrocontroller (bzw. ein Mikroprozessor) 10, ein Bus-Controller 12 und ein Bus-Transceiver 14. Der Mikrocontroller 10 ist dazu eingerichtet, bestimmte Abläufe bzw. Verfahren zu implementieren, dazu kann der Mikrocontroller entsprechende Computerprogramme ausführen. Im Fall einer Überwachungseinheit kann dies insbesondere die Durchführung eines erfindungsgemäßen Verfahrens bzw. von Teilen davon sein. Im Fall eines Angreifers kann dies die Implementierung eines Angriffsversuchs, etwa entsprechend 3, sein. Mikrocontroller 10, Bus-Controller 12 und Bus-Transceiver können in einem Chip integriert sein.
-
Daten können vom Mikrocontroller 10 über eine oder mehrere Leitungen 16 an den Bus-Controller 12 übertragen werden, um diese auf dem Bus zu senden, bzw. vom Bus-Controller 12 über die eine oder die mehreren Leitungen 16 an den Mikrocontroller 10 übertragen werden, um diese vom Bus zu empfangen. Der Bus-Controller 12 erzeugt dazu aus zu sendenden Daten (z.B. Datenbits oder Datenbytes) Steuersignale für den Bus-Transceiver 14, der entsprechende Spannungspegel an den Busleitungen 4 erzeugt. Umgekehrt werden vom Bus-Transceiver 14 Spannungspegel, die an den Busleitungen 4 anliegen, in entsprechende logische Signale umgesetzt, die vom Bus-Transceiver 12 ausgewertet werden, um Daten zu empfangen. Soweit entspricht der Aufbau einem gewöhnlichen Busteilnehmer.
-
Eine Fehlerkorrektur oder ähnliches erfolgt entsprechend dem vorstehend beschriebenen Aufbau vorzugsweise durch den Bus-Controller 12 und ist für den Mikrocontroller 10 nicht sichtbar. Es sind daher zusätzliche eine oder mehrere Leitungen 18 vorgesehen, die den Mikrocontroller 10 direkt mit dem Transceiver 14 verbinden. Dies ermöglicht es dem Mikrocontroller, Spannungssignale auf den Busleitungen 4 direkt zu auszulesen und/oder zu erzeugen, insbesondere können also auf Fehlersignale erkannt werden (Überwachungseinheit) oder Sendesignale erzeugt werden, die Spannungssignale eines anderen Busteilnehmers überdecken (Angreifer). Auf einen Bus-Controller könnte hier auch verzichtet werden, d.h. der Bus-Controller 12 (einschließlich der Leitung 16) ist optional.
-
Anstelle des Bus-Transceivers ist auch die Verwendung einer generischen Schnittstelle (z.B. im Mikrocontroller integriert), die die an den Busleitungen anliegenden Spannungen auslesen kann und selbst Spannungspegel an den Busleitungen erzeugen kann, möglich; eine solche ist beispielsweise in der
DE 10 2013 210 182 A1 beschrieben.
-
3 illustriert in einer oberen und einer unteren Teilfigur mögliche Angriffsvektoren auf einen Busteilnehmer 6 des Bussystems, das beispielhaft ein CAN-Bussystem ist. Hierbei überdeckt bzw. überschreibt der Angreifer 8 gezielt Spannungssignale, die vom Busteilnehmer 6 auf dem Bus gesendet werden. Letztendliches Ziel des Angreifers ist es, durch Wiederholen der in 3 illustrierten Vorgehensweisen den Busteilnehmer bzw. dessen Bus-Controller, der das überschriebene Signal als Fehler interpretiert, dazu zu bringen, in einen inaktiven Sende-Zustand zu schalten, in dem dieser keine Nachrichten mehr auf dem Bus sendet, so dass der Angreifer an seiner statt Nachrichten senden kann. Ein solches Schalten bei Erreichen einer bestimmten maximalen Fehlerzahl in einen inaktiven Sende-Zustand kann in der Busspezifikation, z.B. beim CAN-Bus, wo er als „bus off“ bezeichnet wird, vorgesehen sein, um eine Fehlerausbreitung zu vermeiden.
-
Es sind in zwei Reihen für den Busteilnehmer 6 (obere Reihe) und den Angreifer 8 (untere Reihe) über einer Zeitachse 20 jeweils die Abfolgen von logischen Bits eingezeichnet, die gemäß CAN-Busspezifikation den Spannungssignalen entsprechen, die vom Busteilnehmer bzw. Angreifer auf den Busleitungen erzeugt werden. Hierbei wird zwischen einem „dominanten Zustand“, in dem eine Spannungsdifferenz zwischen den Busleitungen besteht bzw. erzeugt wird (mindestens 2 V beim CAN-Bus), und einem „rezessive Zustand“, in dem keine Spannungsdifferenz zwischen den Busleitungen besteht bzw. erzeugt wird, unterschieden. Der dominante Zustand entspricht einem Bit mit logischem Wert „0“, der rezessive Zustand entspricht einem Bit mit logischem Wert „1“.
-
In der oberen Teilfigur überschreibt der Angreifer 8 ein Bit 22 mit logischem Wert „1“ (rezessiver Zustand, Spannungsdifferenz 0 V) des Busteilnehmers 6 durch ein Bit 23 mit logischem Wert „0“ (dominanter Zustand, Spannungsdifferenz > 2 V) durch Anlegen eines entsprechenden Spannungspegels. Der Busteilnehmer 6 bzw. dessen Bus-Controller erkennt daraufhin, dass ein Sendefehler vorliegt, da das an den Busleitungen anliegende Spannungssignal nicht dem gesendeten entspricht. Daraufhin sendet der Busteilnehmer bzw. dessen Bus-Controller ein Fehlersignal bzw. Sendefehler-Signal 24 („error flag“), das aus 6 Bits mit logischem Wert „0“ besteht. Dies dient dazu, andere Busteilnehmer bzw. deren Bus-Controller zu informieren, dass die Nachricht fehlerhaft ist.
-
Der Busteilnehmer 6 implementiert ein Sendefehler-Zählverfahren, d.h. der Busteilnehmer 6 bzw. dessen Bus-Controller erhöht, neben dem Senden des Sendefehler-Signals, bei Erkennen des Fehlers einen internen Fehlerzähler (im CAN-Bus um 8). Bei Erreichen einer Maximal-Sendefehleranzahl (im CAN-Bus der Wert 256) schaltet der Busteilnehmer in den inaktiven Sende-Zustand, so dass der Angreifer an seiner statt Nachrichten senden könnte. Dies kann festgestellt werden, indem die Überwachungseinheit 7 die Spannungssignale an den Busleitungen ausliest und die Fehlerzählung des Busteilnehmers 6 nachvollzieht bzw. mitzählt, um zu erkennen, wann der Busteilnehmer 6 in den inaktiven Sende-Zustand schaltet und, falls weiterhin Nachrichten mit einer dem Busteilnehmer zugeordneten Nachrichten-ID gesendet werden, den Angriff zu erkennen.
-
Der Angreifer 8 kann weitergehend dazu eingerichtet sein, ein korrektes Nachvollziehen der Fehlerzählung des Busteilnehmers 6 durch die Überwachungseinheit 7 zu verhindern, indem er das Fehlersignal des Busteilnehmers 6 durch ein eigenes Spannungssignal überdeckt. Das ist in der unteren Teilfigur illustriert. Nachdem der Angreifer 8 ein Bit 23 mit logischem Wert „0“ sendet, um das Bit 22 des mit logischem Wert „1“ Busteilnehmers 6 zu überschreiben, sendet der Busteilnehmer, der von einem Fehler ausgeht bzw. einen solchen erkennt, ein Fehlersignal 26, das hier aus 6 Bits mit logischem Wert „1“ besteht (sogenanntes „PASSIVE ERROR FLAG“ im CAN-Bus, in welchem ein solches gesendet wird, wenn die interne Fehlerzählung des Busteilnehmers den Wert 128 überschreitet).
-
Das Fehlersignal 26 kann vom Angreifer 8 durch eine Folge von Bits 27 überdeckt bzw. überschrieben werden, so dass das Fehlersignal auf dem Bus, insbesondere für die Überwachungseinheit, nicht sichtbar ist. Dies führt dazu, dass die Überwachungseinheit die Fehlerzählung nicht nachvollziehen kann, während der Busteilnehmer 6 seine interne Fehlerzählung weiter erhöht und, bei mehrmaliger Wiederholung des Angriffs, letztendlich in den inaktiven Sende-Zustand schaltet, ohne dass dies von der Überwachungseinheit erkannt wird.
-
4 illustriert einen Effekt eines Angriffsversuchs entsprechend 3. Es sind wieder zwei Reihen für vom Busteilnehmer 6 und vom Angreifer 8 über einer Zeitachse 20 aufgetragen, wobei in 4 nicht mehr einzelne gesendete Bits gezeigt werden, sondern lediglich Nachrichten bzw. Abschnitte von Nachrichten, die im Allgemeinen mehrere Bits umfassen (siehe 3) gezeigt sind.
-
Wie erläutert sendet der Busteilnehmer 6 eine erste Nachricht 301, wobei der Angreifer 8 ein Bit überschreibt, so dass der Busteilnehmer 6 ein Fehlersignal 261 sendet, das wiederum durch ein Spannungssignal 271 vom Angreifer 8 überdeckt wird. Der Busteilnehmer 6 wiederholt daraufhin das Senden der gleichen Nachricht (d.h. gleicher Dateninhalt) als erste erneute Nachricht 321, um deren Kommunikation auf dem Bus sicherzustellen. Der Angreifer 8 versucht beispielhaft nicht, dass Senden der erneuten Nachricht 321 zu stören bzw. diese zu überdecken.
-
Nach einer gewissen Zeitspanne, z.B. einer Nachrichten-Zeitperiode 34 des Busteilnehmers 6, wiederholt sich dieser Vorgang, d.h. der Busteilnehmer 6 sendet eine zweite Nachricht 302, wobei der Angreifer 8 ein Bit überschreibt, so dass der Busteilnehmer 6 ein Fehlersignal 262 sendet, das durch ein Spannungssignal 272 vom Angreifer 8 überdeckt wird. Der Busteilnehmer 6 wiederholt wieder das Senden der gleichen Nachricht als zweite erneute Nachricht 322.
-
Effekt des Angriffs ist also, dass die Anzahl bzw. Häufigkeit der Nachrichten, die dem Busteilnehmer zugeordnet sind, gegenüber der üblichen Anzahl, z.B. eine Nachricht pro Nachrichten-Zeitperiode 34 des Busteilnehmers, erhöht wird, z.B. verdoppelt (hier ist anzumerken, dass das Überdeckungssignal des Angreifers die gleiche Nachrichten-ID aufweist wie die überdeckte Nachricht, also auch dem Busteilnehmer zugeordnet ist). Falls der Angreifer auch die erneuten Nachrichten überschreiben sollte, würde dies ebenso zu einer Erhöhung der Anzahl der dem Busteilnehmer zugeordneten Nachrichten führen. Im Rahmen bevorzugter Ausführungen der Erfindung kann dieser Effekt erkannt werden und es können somit entsprechende Angriffsversuche festgestellt werden.
-
5 zeigt ein Ablaufdiagramm gemäß einer bevorzugten Ausführungsform des Verfahrens zum Erkennen eines Angriffs auf einen zu sichernden Busteilnehmer.
-
Im bevorzugten Schritt 110 wird während eines nicht manipulierten Betriebs des Bussystems, d.h. während sichergestellt ist, dass kein Angriff vorliegt, z.B. während der Herstellung und/oder einer Konfiguration des Bussystems, eine durchschnittliche Sende-Häufigkeit und optional eine Varianz (oder Standardabweichung) von Nachrichten durch den (zu sichernden) Busteilnehmer bestimmt. Die Sende-Häufigkeit kann aus etwa aus Konfigurationsdaten des Busteilnehmers bestimmt werden, z.B. wenn der Busteilnehmer konfiguriert ist, in bestimmten Zeitabständen eine oder eine bestimmte Zahl von Nachrichten zu senden, etwa ein Sensor, der regelmäßig Messwerte sendet. Eine andere Möglichkeit besteht darin, während des nicht manipulierten Betriebs die vom Busteilnehmer gesendeten Nachrichten zu erfassen und aus den erfassten Sende-Zeitpunkten die durchschnittliche Sende-Häufigkeit und optional die Varianz zu berechnen. Dies erfolgt vorzugsweise durch die Überwachungseinheit.
-
In Schritt 120 wird eine (obere) Häufigkeitsgrenze vorgegeben. Dies kann anhand von gespeicherten Werten erfolgen. Alternativ, wenn Schritt 110 durchgeführt wurde, kann die Häufigkeitsgrenze basierend auf der bestimmten durchschnittlichen Sende-Häufigkeit und gegebenenfalls der bestimmten Varianz erfolgen. Beispielsweise kann die Häufigkeitsgrenze als bestimmtes Vielfaches (nicht notwendigerweise ganzzahlig) der durchschnittliche Sende-Häufigkeit vorgegeben werden, oder als die durchschnittliche Sende-Häufigkeit plus ein Vielfaches der Varianz.
-
In Schritt 130 werden durch eine mit dem Bus verbundene Überwachungseinheit Nachrichten, die eine dem Busteilnehmer zugeordnete Nachrichten-ID aufweisen (bzw. die dem Busteilnehmer zugeordnet sind), und dem Busteilnehmer zugeordnete Sendefehler-Signale erfasst. Da der Busteilnehmer, nachdem er einen Sendefehler erkennt, unmittelbar beginnt, ein Sendefehler-Signal zu senden, kann dieses dem Busteilnehmer anhand der Nachrichten-ID der (fehlerhaften) Nachricht zugeordnet werden.
-
In Schritt 140 wird durch die Überwachungseinheit entsprechend dem Sendefehler-Zählverfahren, das der Busteilnehmer implementiert und das der Überwachungseinheit bekannt ist, eine Sendefehleranzahl (in der Überwachungseinheit, unabhängig von der Fehlerzählung im Busteilnehmer) gebildet. Es wird also mit jedem Auftreten die Sendefehleranzahl, die von der Überwachungseinheit mitgezählt wird, entsprechend dem Sendefehler-Zählverfahren erhöht.
-
In Schritt 150 wird durch die Überwachungseinheit eine Sende-Häufigkeit von dem Busteilnehmer zugeordneten Nachrichten bestimmt. Dies erfolgt im Prinzip fortlaufend, z.B. mit jeder neuen dem Busteilnehmer zugeordneten Nachricht oder in bestimmten Zeitabständen. Selbstverständlich sollte, falls Schritt 110 durchgeführt wird, die Berechnungsweise der durchschnittlichen Häufigkeit derjenigen der Sende-Häufigkeit entsprechen.
-
In Schritt 160 wird von der Überwachungseinheit geprüft, ob die in Schritt 150 bestimmte Sende-Häufigkeit über der vorgegebenen Häufigkeitsgrenze liegt und gleichzeitig die in Schritt 140 bestimmte Sendefehleranzahl unter der Maximal-Sendefehleranzahl (die durch die Busspezifikation vorgegeben ist) liegt. Wenn dies der Fall ist, wird in Schritt 180 ein möglicher Angriff auf den Busteilnehmer erkannt.
-
Im optionalen Schritt 170 kann zusätzlich (durch die Überwachungseinheit) geprüft werden, ob die Sendefehleranzahl über der Maximal-Sendefehleranzahl ist oder über dieser liegt und ob, während dies der Fall ist, Nachrichten, die dem Busteilnehmer zugeordnet sind (erkennbar an der Nachrichten-ID), auf dem Bus gesendet werden. Wenn dies der Fall ist, wird ebenso ein möglicher Angriff auf den Busteilnehmer erkannt (Schritt 180).
-
Wenn die Bedingung des Schritts 160 und gegebenenfalls die Bedingung des Schritts 170 nicht erfüllt sind, wird mit Schritt 130 fortgefahren (Pfeil 175).
-
Im bevorzugten Schritt 190 können, nachdem ein möglicher Angriff erkannt wurde, entsprechende Maßnahmen eingeleitet werden. Dies kann umfassen zu prüfen, ob ein tatsächlicher Angriff vorliegt oder lediglich eine Fehlfunktion, die ähnliche Effekte hatte, z.B. indem geprüft wird, ob ein Gerät des Angreifers mit dem Bus verbunden ist, oder ob eine Software eines anderen oder des zu sichernden Busteilnehmers manipuliert wurde. Vorzugsweise umfasst Schritt 190 ein Senden einer Warn-Nachricht, die den möglichen Angriff anzeigt, durch die Überwachungseinheit auf dem Bus. Andere Busteilnehmer können dann beispielsweise in einen Zustand reduzierter Funktionalität schalten oder Nachrichten mit Nachrichten-IDs des möglicherweise angegriffenen Busteilnehmers ignorieren.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102013210182 A1 [0029]