Zum Hauptinhalt springen

Sicherheitsaudit für Eclipse Kuksa veröffentlicht

Stärkung des Vertrauens in die Entwicklung von Automobilsoftware

Kuksa Sec News Bild Etas

Wir freuen uns, die Veröffentlichung eines externen Sicherheitsauditberichts für Eclipse Kuksa bekannt zu geben, der einen wichtigen Meilenstein in unserem kontinuierlichen Engagement für eine sichere und zuverlässige Entwicklung von Automobilsoftware darstellt. Durch ihre Beteiligung an Eclipse KUKSA tragen Entwickler von ETAS zu einem Open-Source-Projekt bei, das den Lese- und Schreibzugriff auf Fahrzeugsignale über eine einfache und sichere API ermöglicht. Das Ergebnis ist der Kuksa-Datenbroker, der die in der Vehicle Signal Specification (VSS) definierten Datenpunkte verwaltet. Diese Kombination schafft eine Abstraktionsschicht, die einen ganzheitlichen Überblick über ein Fahrzeug bietet und somit eine ideale Grundlage für viele Anwendungen in softwaredefinierten Fahrzeugsystemen (SDV) darstellt.

Diese Anwendungen müssen sich jedoch auf die sichere Ausführung des Datenbrokers verlassen können. Wir freuen uns daher, die Veröffentlichung eines externen Auditberichts bekannt zu geben, der von Quarkslab durchgeführt wurde. Das Audit wurde durch OSTIF und die Eclipse Foundation ermöglicht und durch die Finanzierung des Alpha-Omega-Projekts realisiert. Das Audit konzentrierte sich auf den KUKSA-Datenbroker und das zugehörige Python-Client-SDK. Es gab 19 Ergebnisse, von denen zwei einen hohen Schweregrad aufwiesen. Das KUKSA-Team hat die meisten Ergebnisse vor der Veröffentlichung des Berichts behoben.

In diesem Beitrag erläutern wir einige der Ergebnisse und wie diese behandelt wurden. Den vollständigen Prüfungsbericht finden Sie hier.

„Die Zusammenarbeit an Open-Source-Software beschleunigt Innovationen und optimiert den Entwicklungsprozess komplexer Software, indem Entwickler mit unterschiedlichem Hintergrund direkt am Code zusammenarbeiten können.“

Sven Erik Jeroschewski, Senior Software Engineer, Funktion innerhalb des FOSS-Teams: Entwickler, Committer Eclipse Kuksa und Eclipse SDV Blueprints

Ergebnisse

Der Anbieter kann den Datenbroker zum Absturz bringen, indem er neue Signale hinzufügt.

Bei einem Kuksa-Einsatz aktualisieren sogenannte Provider Signale, indem sie Werte aus dem Fahrzeugbus (zum Beispiel CAN) abrufen, diese in VSS-Signale umwandeln und dann in den Datenbroker schreiben. Mit der Kuksa-API „sdv.databroker.v1” kann ein Provider neue Signale registrieren, um das vom Datenbroker verwaltete Datenmodell während der Laufzeit zu erweitern. Allerdings gab es keine Obergrenze für die Anzahl der Einträge, die ein Anbieter hinzufügen konnte. Während ihrer Untersuchung registrierten die Prüfer 29 Millionen Signale, was dazu führte, dass das Betriebssystem den Datenbroker auf einem Computer mit 32 GB RAM stoppte. Das Standarddatenmodell von VSS 4.0 besteht derzeit aus etwa 1000 Signalen, was zeigt, wie ungewöhnlich dieses Szenario ist.

Nutzende oder Nutzerinnen und Nutzer können Datenbroker mit Abonnementabfrage zum Absturz bringen

In der API „sdv.databroker.v1” können Nutzende oder Nutzerinnen und Nutzer alle Änderungen an einem Signal abonnieren. Darüber hinaus können Nutzende oder Nutzer bestimmte Filter registrieren, um festzulegen, wann sie benachrichtigt werden möchten und wann nicht. So könnte man beispielsweise eine Abfrage definieren, bei der der Datenbroker nur dann eine Nachricht sendet, wenn die Fahrzeuggeschwindigkeit über 100 Kilometer pro Stunde liegt. Die API verwendet SQL, um solche Filter auszudrücken, sodass Nutzende oder Nutzerinnen und Nutzer spezifische Abfragen erstellen können, die zum Absturz des Datenbrokers führen.

Als Ergebnis

Nutzende oder Nutzerinnen und Nutzer müssen nun „sdv.databroker.v1” beim Start explizit aktivieren, da es sonst inaktiv bleibt. Einige Anwendungen wie Eclipse Velocitas sind auf Funktionen von „sdv.databroker.v1” angewiesen, sodass es noch nicht entfernt wurde, um eine längere Migrationsphase zu ermöglichen. Wir werden Feedback aus der Community sammeln, welche fehlenden Funktionen Teil von „kuksa.val.v1” oder zukünftigen Versionen sein sollten. Für andere Erkenntnisse, die nicht mit „sdv.databroker.v1” zusammenhängen, haben wir vorgeschlagene Änderungen implementiert, beispielsweise die Behandlung mehrerer Sonderfälle im Python SDK.

Kuksa in Ihrer Konfiguration bereitstellen

Wir möchten OSTIF, der Eclipse Foundation und Quarkslab für ihre Zusammenarbeit während dieses Auditprozesses und für ihr wertvolles Feedback danken. Wir hoffen, dass diese Ergebnisse und Korrekturen Sie dazu ermutigen, den Databroker in Ihren Anwendungsfällen zu verwenden, zum Beispiel über eines der derzeit verfügbaren SDKs für Python, Android und bald auch Rust.

Bleiben Sie dran für weitere Updates, während wir Eclipse Kuksa weiter verbessern!

Illustration von Personen mit einem Smartphone, E-Mail-Symbol und Laptop

Kontakt

Sie haben eine Frage? Melden Sie sich bei uns! Wir helfen Ihnen gerne weiter.