Cyberbedrohungen
Zero Day-Schwachstellen im IVI
Lücken in den Softwarekomponenten eines Automobils schaffen Raum für bösartige Manipulationen und müssen schnell und effizient geschlossen werden. Wir zeigen, was bei den jüngst vom ZDI gefundenen Schwachstellen zu tun ist und bieten Best Practices.
Schwachstellen in der im Fahrzeug verwendeten Software sind keine Seltenheit und können von Bedrohungsakteuren für die Manipulation von Hardware und Firmware genutzt werden. Forscher der Trend Micro Zero Day Initiative (ZDI) haben mehrere Zero Day-Schwachstellen in einem fahrzeuginternen Infotainmentsystem (IVI) von Mazda entdeckt. Es handelt sich dabei um die Mazda Connect Connect Connectivity Master Unit (CMU) des Herstellers Visteon mit der neuesten Softwareversion 74.00.324A, die ursprünglich von Johnson Controls Inc. entwickelt wurde.
Keine der sechs Schwachstellen wurde bislang behoben und die meisten können über eine USB-Verbindung ausgenutzt werden, wodurch Angreifer Root-Zugriff auf das Gerät erhalten. Dieses Szenario stellt ein erhebliches Risiko dar, da jeder, der physischen Zugang zum IVI-System des Fahrzeugs hat, diese Schwachstellen potenziell ausnutzen könnte. Einzelheiten zur Aufdeckung dieser Schwachstellen finden Sie in einem Blogeintrag des ZDI.
SQL Injection-Schwachstelle in DeviceManager iAP
CVE-2024-8355 ist eine SQL-Injection-Lücke, die aus der unzureichenden Bereinigung von Daten bei der Verarbeitung der Seriennummer eines Apple-Geräts resultiert. Wenn ein Apple-Gerät mit dem IVI-System verbunden ist, wird seine Seriennummer über das Interface-Accessory-Protokoll (iAP) abgerufen und direkt in SQL-Abfragen ohne ordnungsgemäße Bereinigung verwendet, wodurch ein Einspritzpunkt entsteht. Ein Angreifer kann diese Schwachstelle ausnutzen, indem er ein Apple-Gerät fälscht und über die iAP-Seriennummer beliebige SQL-Befehle einspeist, die eine Datenbankmanipulation oder Codeausführung mit Root-Rechten ermöglichen.
Abhilfemaßnahmen
- Verwenden Sie parametrisierte Abfragen, anstatt Benutzereingaben direkt zu verketten.
- Implementieren Sie eine geeignete Eingabevalidierung, um die Ausführung von bösartigen Eingaben zu verhindern.
Command Injection-Schwachstelle
Die CVE-2024-8359, CVE-2024-8360, und CVE-2024-8358-Schwachstellen sind auf die nicht sachgemäße Behandlung von Benutzereingaben in mehreren Funktionen des Softwareaktualisierungsprozesses zurückzuführen.
Alle drei haben eine gemeinsame Grundursache: Die betroffenen Funktionen leiten Eingaben wie Dateipfade und Dateinamen direkt an Befehlszeilentools weiter, ohne sie entsprechend zu bereinigen. Dieser Ansatz, der auch die Verwendung von Systemaufrufen wie system() oder snprintf() ohne Validierung der Eingaben umfasst, ermöglicht es Angreifern, beliebige Betriebssystembefehle einzuschleusen, was zu einer vollständigen Kompromittierung des Systems führt.
Abhilfemaßnahmen
- Vermeiden Sie die Verwendung von Systemaufrufen mit nicht sachgemäß behandelter Eingabe. Verlassen Sie sich stattdessen auf sichere API-Funktionen, um eine sichere Befehlsausführung zu gewährleisten.
- Erzwingen Sie eine strenge Eingabevalidierung, um sicherzustellen, dass vom Benutzer eingegebene Pfade und Dateinamen den erwarteten Formaten entsprechen und Sonderzeichen oder Shell-Befehle blockiert werden.
- Durchführung umfassender Sicherheitsüberprüfungen aller Codepfade im Zusammenhang mit Software-Updates, insbesondere derjenigen, die Dateivorgänge beinhalten.
Fehlende Boot-Trust-Kette
CVE-2024-8357: entsteht durch das Versäumnis des Anwendungssystems auf dem SoC-Chip, die Integrität des Bootstrap-Codes während des Bootvorgangs zu überprüfen. Dies ermöglicht es Angreifern mit Code-Privilegien, den Boot-Prozess zu manipulieren, dauerhafte Kontrolle zu erlangen und die Systemkonfigurationen zu manipulieren.
Abhilfemaßnahmen
- Implementieren Sie einen sicheren Boot-Mechanismus, der den Bootstrap-Code und alle nachfolgenden Phasen des Boot-Prozesses durch kryptografische Verifizierung validiert.
- Verwenden Sie eine hardwarebasierte Trust-Basis, um die Ausführung von nicht autorisiertem Code während der gesamten Boot-Sequenz zu verhindern.
Fehlende Überprüfung der Aktualisierungspakete
CVE-2024-8356 entsteht durch den Mangel an Update-Paket Überprüfung, wie die Überprüfung IP Microcontroller Unit (VIP MCU)-Firmware nicht erzwingen Code-Signierung auf Updates, so dass für die Installation von unsignierten Firmware. Dies ermöglicht es Angreifern, modifizierte Firmware hochzuladen und so die Fahrzeugsicherheit zu gefährden, indem sie unbefugte Kontrolle über das CAN-Bus-Netzwerk erlangen.
Abhilfemaßnahmen:
- Erzwingen Sie die obligatorische Code-Signierung für alle Firmware-Updates auf der VIP MCU.
- Integrieren Sie eine kryptografische Signaturprüfung in den Aktualisierungsprozess, um sicherzustellen, dass nur authentifizierte Aktualisierungen angewendet werden.
Best Practices für mehr Sicherheit
Das ZDI hat diese Schwachstellen an Visteon gemeldet und den Hersteller über die geplante Veröffentlichung als Zero-Day-Schwachstellen informierte in Übereinstimmung mit der ZDI-Policy, die eine Veröffentlichung vorsieht, wenn innerhalb eines bestimmten Zeitraums keine Reaktion erfolgt.
Die nachstehend empfohlenen Best Practices sind nicht nur zur Behebung von Schwachstellen gedacht, sondern sollten in die Softwareentwicklungsprozesse sowohl von Tier-1-Zulieferern als auch von Automobilherstellern (OEMs) integriert werden, um deren Cybersicherheit zu stärken:
- Implementieren Sie sichere Codierungspraktiken. Das bedeutet, Eingaben und parametrisierte Abfragen müssen immer bereinigt werden, um Injektionsangriffe zu verhindern, und vermeiden Sie den direkten Aufruf von System Calls mit vom Benutzer bereitgestellten Eingaben.
- Stärken Sie den Prozess der Softwareaktualisierung. Führen Sie eine kryptografische Überprüfung für alle Update-Pakete ein, und verlangen Sie eine Codesignierung für Firmware-Komponenten, um unautorisierte Änderungen zu verhindern.
- Erhöhte Boot-Sicherheit. Nutzen Sie einen sicheren Boot-Prozess mit einer Vertrauensbasis, um die Integrität aller Boot-Phasen zu überprüfen und sicherzustellen, dass nur authentifizierter Code geladen wird.
- Führen Sie regelmäßige Sicherheitsaudits durch. Halten Sie umfassende Sicherheitsbewertungen von Hardware- und Softwarekomponenten ab, einschließlich Codeüberprüfungen und Penetrationstests, um Schwachstellen zu ermitteln und zu beseitigen.
- Sammeln Sie Informationen von Modding-Communities. Beobachten Sie Modding-Foren und -Communities, um allgemeine Schwachstellen und potenzielle Exploits zu entdecken. Das proaktive Sammeln von Informationen kann dazu beitragen, Strategien zur Schadensbegrenzung zu verbessern.
- Rufen Sie ein Bug-Bounty-Programm ins Leben. Starten Sie ein offizielles Bug-Bounty-Programm, um unabhängige Sicherheitsforscher zu ermutigen, Schwachstellen zu melden. Diese Programme können dazu beitragen, Sicherheitsprobleme schneller zu erkennen und zu beheben, bevor sie ausgenutzt werden können.
Fazit
Diese Schwachstellen zeigen, dass selbst wohlbekannte Automobilprodukte kritische Schwachstellen aufweisen können, die auf Programmierfehler und grundlegende Designfehler zurückzuführen sind. Um die Integrität und Sicherheit von IVI-Systemen aufrechtzuerhalten, ist es unerlässlich, sicheren Entwicklungspraktiken Priorität einzuräumen, eine robuste Eingabevalidierung zu implementieren und eine umfassende Update-Überprüfung durchzusetzen. Diese Probleme unterstreichen die Notwendigkeit einer ganzheitlichen Cybersicherheit im Automobilbereich, die sowohl Software- als auch Hardware-Komponenten berücksichtigt, um ein widerstandsfähigeres und sichereres Ökosystem im Automobilbereich zu schaffen.