Automotive Security - Connected Cars

Schwere Sicherheitslücke im Design des CAN-Standards

Schwere Sicherheitslücke im Design des CAN-Standards

Herstellerübergreifende Sicherheitslücke

Mit der fortschreitenden Digitalisierung und Vernetzung moderner Fahrzeuge erhöht sich natürlich auch die Anzahl der entdeckten Schwachstellen. In vielen Fällen haben Forscher und Ingenieure Wege gefunden wie man internetfähige Autos hacken kann. Das berühmteste Beispiel war wahrscheinlich der Chrysler Jeep Hack, der im Jahre 2015 durch die Forscher Charlie Miller und Chris Valasek an die Öffentlichkeit kam. Diese Schwachstelle, die nur bei bestimmten Automarken bestand, konnte damals aber relativ schnell gelöst werden.

Versteckt und herstellerneutral

Nun haben Forscher von Politecnico Milano, Linklayer Labs und Trend Micro eine herstellerunabhängige und grundlegende Sicherheitslücke im gesamten Design des CAN-Bus-Protokolls gefunden, der sich weder durch Rückrufaktionen noch mit Software-Updates beheben lässt. Laut Forschern könnte diese Schwachstelle mit einem DoS-Angriff so ausgenutzt werden, dass die eingebauten und vernetzten Geräte, wie Airbags, Parksensoren, Sicherheitssystem oder Infotainment, vollständig deaktiviert werden. Dieser Angriff könnte zudem von den modernen Sicherheitsmechanismen nicht entdeckt werden.

Im Gegensatz zu den bisherigen Schwachstellen, die meistens durch Software-Updates gefixt werden konnten, müsste bei dieser Schwachstelle der gesamte CAN-Standard durch die US/ICS-CERT dahingehend geändert werden, wie und auf welche Art und Weise Fahrzeugnetzwerke und Geräte in Zukunft hergestellt und in Autos verbaut werden.

Zudem tragen die Autohersteller bei dieser Schwachstelle keine Schuld. Das Problem liegt in der Norm wie das Fahrzeugnetzwerk (CAN) funktioniert. Die Autohersteller könnten die Angriffe lediglich mildern, indem sie spezifische Netzwerk-Gegenmaßnahmen ergreifen. Eine Beseitigung des Problems wäre nicht möglich. Eine vollständige Beseitigung des Risikos könnte nur über einen aktualisierten CAN-Standard erfolgen. Dieser Prozess würde wahrscheinlich eine andere Generation von Fahrzeugen erfordern.

"A Stealth DoS Attack Against CAN-based Automotive Networks [ICS-ALERT-17-209-0]"

YouTube Video laden

Mit dem Laden des Videos erklären Sie sich mit den Datenschutz- und Nutzungsbedingungen von YouTube bzw. Google einverstanden.

Was ist CAN (Controller Area Network)?

Nach der ersten Entwicklung von Bosch im Jahr 1983 wurde das CAN-Protokoll 1986 offiziell veröffentlicht und 1989 erstmals für Produktionsfahrzeuge vorgestellt. 1993 nahm die Internationale Organisation für Normierung (ISO) CAN als Standard an und veröffentlichte die ISO 11898 für Straßenfahrzeuge. Seitdem wird CAN als Standard für praktisch jedes derzeit im Umlauf befindliche Leichtfahrzeug verwendet.

Der CAN-Bus steuert die gesamte Kommunikation der unterschiedlichen Subsysteme, die in einem Fahrzeug verbaut sind. Dazu gehören u.a. das Infotainment und die ganzen Sicherheitssysteme für z.B. die Motor- oder Bremsüberwachung. CAN könnte auch bei einem Unfall, über die erhaltenen Informationen des Airbag-Systems, einen entsprechenden Notruf absetzen. Über Can werden auch die Signale der Motorsteuerung ausgelesen, die u.a. zu einer Erhöhung der Radiolautstärke führen, wenn der Motor lauter wird.

Ein typisches CAN-Netzwerkdiagramm

Die CAN-Nachrichten, einschließlich der Fehler, werden als "Frames" bezeichnet. Die Schwachstelle des CAN-Standards liegt in der Verarbeitung der Fehlermeldungen. In der Regel kommt es zu einer Fehlermeldung, wenn ein Gerät Werte liest, die nicht dem ursprünglichen Erwartungswert eines Frames entsprechen. Wenn ein Gerät ein solches Ereignis erkennt, schreibt es eine Fehlermeldung auf den CAN-Bus, um den fehlerhaften Rahmen "zurückzurufen" und die anderen Geräte zu benachrichtigen. Dieser Ablauf ist sehr verbreitet und wird in der Regel durch natürliche Ursachen, oder einer vorübergehenden Störung oder einfach durch zu viele Systemen und Module, die versuchen, Frames gleichzeitig durch den CAN zu senden, verursacht.

Wenn ein Gerät zu viele Fehler aussendet, dann – wie durch den CAN-Standard vorgegeben – geht es in einen sogenannten Bus-Off-Zustand, bei dem das fehlerhafte Gerät vom CAN abgeschnitten und daran gehindert wird, Daten auf den CAN zu lesen und /oder zu schreiben. Diese Funktion ist hilfreich bei der Trennung von deutlich fehlerhaften Geräten und stoppt das Auslösen von Reaktionen bei anderen Modulen/Systemen auf dem CAN. An diesem Punkt setzten die Forscher ihren Angriffsversuch an. Durch ein speziell angefertigtes Angriffsgerät, das durch den lokalen Zugang in den CAN des Autos eingeführt wurde, konnten die Frames die bereits im CAN zirkulierten, wiederverwendet und dadurch solange Fehler produziert werden, bis bestimmte Geräte oder Systeme in den Bus-Off Zustand wechselten und somit inoperabel gemacht wurden. Wenn es sich dabei um ein Airbag Control Modul oder ein Antiblockiersystem handeln würde, wären die Folgen evtl. lebensgefährlich.

Laut Forscher könnte dieser lokale Angriff aber auch durch eine vorherige Ausnutzung einer Sicherheitsanfälligkeit z.B. im Infotainment-System, durch die Manipulation der Firmware, aktiviert werden. Zudem sollte der lokale Angriffszugang nicht unterschätzt werden, da durch Car-Sharing oder Autovermietung, viele unterschiedliche Menschen einen lokalen Zugang zum selben Auto erhalten und entsprechende Vorkehrungen für einen späteren Angriff treffen könnten.

Mitigation

Wie bereits erwähnt wird dieses Sicherheitsrisiko weder einfach noch schnell eliminiert werden können. Die Forscher haben ihre Erkenntnisse bereits an das US/ICS-CERT weitergegeben, das eine entsprechende Warnung ausgegeben hat.

Bis zur Lösung der Problematik, empfehlen die Forscher einige Maßnahmen die zu einer Risikominderung führen können:

  • Netzwerksegmentierung oder Topologie-Änderung: Durch Ändern der Topologie oder Segmentierung eines CAN in einem Fahrzeug kann eine gezielte Fehlerflutung gestoppt werden, um ein bestimmtes System zu beeinflussen.
  • Regulierter OBD-II-Diagnose-Port-Zugriff: Die Erstellung eines speziellen Hardware-Schlüssels oder Passworts für den physischen Port um nicht autorisierte Geräte/Zugriffe zu vermeiden, die in den CAN eingeführt werden könnten. Die Implementierung einer Software-Level-Authentifizierung, um einen schützten Verkehr von und zum Port zu ermöglichen. Dies würde eine Änderung der Vorschriften erfordern.
  • Verschlüsselung: Das Verschlüsseln von CAN-Frame-ID-Feldern kann Angreifer daran hindern, CAN-Frames und Ziele zu identifizieren.

Die Forscher haben die detaillierten Ergebnisse in einem Technical Brief zusammengefasst, den Sie oben bei Downloads herunterladen können.

Die Forscher: Andrea Palanca (Politecnico di Milano), Eric Evenchick (Linklayer Labs), Federico Maggi (FTR, Trend Micro, Inc.), Stefano Zanero (Politecnico di Milano)