Security Vulnerabilities in Software Supply Chain for Autonomous Vehicles
Dieses Kapitel analysiert weit verbreitete Sicherheitsanfälligkeiten in den Open-Source-Software-Lieferketten autonomer Fahrzeuge unter Verwendung statischer Analysetools auf populären Plattformen wie Autoware, Apollo und openpilot, mit dem Ziel, kritische Mängel hervorzuheben und für die Integration von Best Practices der Sicherheit zu einem früheren Zeitpunkt im Entwicklungslebenszyklus zu plädieren, um Systemzuverlässigkeit und öffentliches Vertrauen zu gewährleisten.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Autonome Fahrzeuge sind nicht bloß Autos mit fortschrittlichen Motoren; sie sind Computer auf Rädern, bei denen die Sicherheit von Passagieren und Fußgängern vollständig von Codezeilen abhängt. Diese Maschinen verlassen sich auf eine komplexe Software-Lieferkette, ein riesiges Netzwerk digitaler Zutaten, die Entwickler zusammenfügen, damit das Auto sehen, denken und sich bewegen kann. Diese Kette umfasst den ursprünglichen Code, der vom Hersteller des Autos geschrieben wurde, aber sie hängt auch stark von Open-Source-Software ab – frei verfügbaren Bausteinen, die von Gemeinschaften von Programmierern auf der ganzen Welt erstellt wurden. Während dieser gemeinschaftliche Ansatz die Innovation beschleunigt und eine schnelle Erprobung neuer Ideen ermöglicht, führt er eine einzigartige Gefahr ein: Wenn ein einzelnes Stück dieser geteilten Software einen verborgenen Fehler enthält, kann sich diese Schwachstelle durch das gesamte System ausbreiten und potenziell dazu führen, dass das Fahrzeug seine Umgebung missinterpretiert oder nicht bremst. Während diese Fahrzeuge von Forschungslaboren auf öffentliche Straßen gelangen, wird die Sicherstellung der Integrität jeder digitalen Komponente zu einer Angelegenheit von Leben und Tod.
Forscher der University of Alabama machten sich daran, die Gesundheit dieses digitalen Fundaments zu untersuchen, indem sie sich direkt den Code von drei der prominentesten Open-Source-Plattformen für autonome Fahrzeuge ansah: Autoware, Apollo und openpilot. Diese Projekte repräsentieren die technologische Spitze des selbstfahrenden Automobils, wobei Autoware und Apollo auf hohe Automatisierungsgrade abzielen, bei denen das Auto selbst fährt, während openpilot sich auf Fahrerassistenzsysteme konzentriert, die Menschen dabei helfen, die Kontrolle zu behalten. Das Team behandelte diese Software-Repositories wie einen Mechaniker, der einen komplexen Motor inspiziert, aber anstatt nach verrosteten Bolzen zu suchen, verwendeten sie spezialisierte Scanning-Tools, um nach digitalen Rissen zu suchen. Sie konzentrierten sich auf zwei Hauptbereiche: den Code, der von den Projektteams selbst geschrieben wurde, und die Third-Party-Bibliotheken – vorgefertigte Code-Schnipsel, die aus anderen Quellen entlehnt wurden und auf denen diese Projekte basieren, um zu funktionieren.
Die Untersuchung ergab, dass diese Plattformen zwar leistungsfähig sind, aber nicht immun gegen die üblichen Fehler sind, die überall in der Software vorkommen. Die Forscher fanden, dass der Code wiederkehrende Muster von Schwachstellen enthielt, die als Common Weakness Enumerations bekannt sind. Im Code, der in C und C++ geschrieben wurde – Sprachen, die oft für die schweren Aufgaben beim Fahren verwendet werden –, identifizierten die Scans Probleme im Zusammenhang mit der Speicherverwaltung, wie etwa Pufferüberläufe (Buffer Overflows), bei denen Daten über ihren vorgesehenen Speicherplatz hinausfließen und das System korrumpieren können. Im Python-Code, der oft für übergeordnete Planungen und Werkzeuge verwendet wird, deckten die Scans Probleme im Umgang mit unerwarteten Situationen und Eingaben auf. Eines der häufigsten Probleme, die in allen drei Projekten gefunden wurden, war der unsachgemäße Umgang mit Ausnahmezuständen, was bedeutet, dass die Software manchmal nicht korrekt reagierte, wenn etwas schiefging. Ein weiterer wichtiger Befund war das Vorhandensein von Command-Injection-Schwachstellen, bei denen ein böswilliger Akteur das System potenziell dazu verleiten könnte, unbefugte Befehle auszuführen.
Die Studie blickte auch tief in die Lieferkette und untersuchte die tausenden externen Pakete, von denen diese Fahrzeuge abhängen. Die Ergebnisse hier waren je nach Projekt drastisch unterschiedlich. Die Apollo-Plattform, die für die großflächige Produktion konzipiert ist, wurde als ein System mit einer riesigen Anzahl von Abhängigkeiten identifiziert, und der Scan ermittelte 91 dieser externen Komponenten als Träger bekannter Sicherheitslücken. Darunter befanden sich kritische Mängel in Paketen, die für die Dateiverarbeitung und Web-Rendering verwendet werden, von denen einige dazu führen könnten, dass ein Angreifer die Kontrolle über das System übernimmt oder auf sensible Daten zugreift. Im Gegensatz dazu zeigte das openpilot-Projekt, das einen engeren Umfang hat, weitaus weniger Probleme mit seinen externen Abhängigkeiten, wobei nur eine einzige verwundbare Komponente entdeckt wurde. Das Autoware-Projekt wies in diesem Bereich die geringsten Probleme auf; die Scans fanden zum Zeitpunkt der Studie keine bekannten Schwachstellen in seinen Third-Party-Bibliotheken.
Trotz der Unterschiede in der Anzahl der gefundenen Fehler ist die Kernbotschaft der Forschung klar: Die Software, die diese Fahrzeuge antreibt, ist derzeit erheblichen Risiken ausgesetzt. Die Forscher stellten fest, dass bereits fast die Hälfte aller Cyberangriffe im Automobilsektor Schwachstellen in Softwaresystemen ausnutzt, und ihre Analyse bestätigt, dass diese Sicherheitslücken genau in dem Code existieren, der eigentlich dazu bestimmt ist, Menschen sicher zu halten. Die Studie fand nicht, dass die Systeme irreparabel beschädigt sind, sondern vielmehr, dass sie auf einem Fundament aufgebaut sind, das ständige Wachsamkeit erfordert. Die Autoren schlagen vor, dass Sicherheit kein nachträglicher Gedanke sein darf; sie muss von Beginn an in den Entwicklungsprozess eingewoben werden. Durch den Einsatz automatisierter Werkzeuge zur kontinuierlichen Überprüfung auf diese Fehler und durch ein sorgfältiges Management der Softwarekomponenten, die in das System eingebracht werden, können Entwickler das Risiko katastrophaler Ausfälle verringern. Die Arbeit dient als Erinnerung daran, dass in einer zunehmend automatisierten Welt die Sicherheit der Maschine von der Sicherheit ihres Codes abhängt.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.