Security Vulnerabilities in Software Supply Chain for Autonomous Vehicles
Dit hoofdstuk analyseert veelvoorkomende beveiligingskwetsbaarheden in de open-source software supply chains van autonome voertuigen door gebruik te maken van statische analysers op populaire platforms zoals Autoware, Apollo en openpilot, met als doel kritieke gebreken te benadrukken en te pleiten voor de integratie van beveiligingsbest practices eerder in de ontwikkelingscyclus om systeembetrouwbaarheid en publiek vertrouwen te waarborgen.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Autonome voertuigen zijn niet louter auto's met geavanceerde motoren; het zijn computers op wielen, waarbij de veiligheid van passagiers en voetgangers volledig afhangt van regels code. Deze machines vertrouwen op een complexe software-toeleveringsketen, een uitgestrekt netwerk van digitale ingrediënten die ontwikkelaars aan elkaar naaien om de auto te laten zien, denken en bewegen. Deze keten omvat de oorspronkelijke code geschreven door de fabrikant van de auto, maar hangt ook zwaar af van open-source software — vrij beschikbare bouwstenen gecreëerd door gemeenschappen van programmeurs over de hele wereld. Hoewel deze gedeelde aanpak innovatie versnelt en zorgt voor snelle tests van nieuwe ideeën, introduceert het een uniek gevaar: als één enkel onderdeel van deze gedeelde software een verborgen fout bevat, kan die zwakte zich door het hele systeem verspreiden, wat er potentieel toe kan leiden dat het voertuig zijn omgeving verkeerd interpreteert of nalaat te stoppen. Naarmate deze voertuigen de overstap maken van onderzoekslabs naar de openbare weg, wordt het waarborgen van de integriteit van elk digitaal component een kwestie van leven of dood.
Onderzoekers aan de Universiteit van Alabama zetten zich in om de gezondheid van dit digitale fundament te onderzoeken door direct naar de code van drie van de meest prominente open-source platforms voor autonome voertuigen te kijken: Autoware, Apollo en openpilot. Deze projecten vertegenwoordigen de voorhoede van zelfrijdende technologie, waarbij Autoware en Apollo streven naar hoge niveaus van automatisering waarbij de auto zichzelf bestuurt, en openpilot zich richt op rij-assistentiesystemen die mensen helpen de controle te behouden. Het team behandelde deze softwarerepositories als een monteur die een complexe motor inspecteert, maar in plaats van te controleren op roestige bouten, gebruikten ze gespecialiseerde scantechnieken om op zoek te gaan naar digitale barsten. Ze richtten zich op twee hoofdgebieden: de code die door de projectteams zelf is geschreven, en de third-party bibliotheken — vooraf geschreven codestukjes geleend van andere bronnen — waar deze projecten op vertrouwen om te functionen.
Het onderzoek onthulde dat hoewel deze platforms krachtig zijn, ze niet immuun zijn voor de veelvoorkomende fouten die overal in software voorkomen. De onderzoekers vonden dat de code terugkerende patronen van zwakte bevat die bekend staan als 'common weakness enumerations'. In de code geschreven in C en C++, talen die vaak worden gebruikt voor de zware taken van het rijden, identificeerden de scans problemen gerelateerd aan geheugenbeheer, zoals buffer overflows, waarbij gegevens buiten hun beoogde opslagruimte lekken en het systeem kunnen corrumperen. In de Python-code, die vaak wordt gebruikt voor hogere planning en hulpmiddelen, brachten de scans problemen aan het licht met de manier waarop de software omgaat met onverwachte situaties en inputs. Een van de meest voorkomende problemen die in alle drie de projecten werd gevonden, was de onjuiste afhandeling van uitzonderlijke omstandigheden, wat betekent dat de software soms niet correct reageerde wanneer er iets misging. Een andere belangrijke bevinding was de aanwezigheid van command injection-fouten, waarbij een kwaadwillende actor het systeem potentieel zou kunnen misleiden om ongeautoriseerde commando's uit te voeren.
De studie keek ook diep in de toeleveringsketen en onderzocht de duizenden externe pakketten waarvan deze voertuigen afhankelijk zijn. De resultaten waren hier sterk verschillend per project. Het Apollo-platform, dat is ontworpen voor grootschalige productie, bleek een enorm aantal afhankelijkheden te hebben, en de scan identificeerde 91 van deze externe componenten als zijnde vatbaar voor bekende beveiligingskwetsbaarheden. Tot deze behoorden kritieke gebreken in pakketten die worden gebruikt voor bestandshandeling en webrendering, waarvan sommige een aanvaller in staat zouden kunnen stellen de controle over het systeem over te nemen of toegang te krijgen tot gevoelige gegevens. In contrast hiermee vertoonde het openpilot-project, dat een nauwer bereik heeft, veel minder problemen met zijn externe afhankelijkheden, met slechts één gedetecteerde kwetsbare component. Het Autoware-project vertoonde de minste problemen op dit gebied; de scans vonden op het moment van de studie geen bekende kwetsbaarheden in de third-party bibliotheken.
Ondanks de verschillen in het aantal gevonden gebreken, is de kernboodschap van het onderzoek duidelijk: de software die deze voertuigen aandrijft, is momenteel blootgesteld aan aanzienlijke risico's. De onderzoekers merkten op dat bijna de helft van alle cyberaanvallen in de automotive sector al zwakheden in softwaresystemen exploiteert, en hun analyse bevestigt dat deze kwetsbaarheden bestaan in de zeer code die bedoeld is om mensen veilig te houden. De studie stelde niet vast dat de systemen onherstelbaar kapot zijn, maar eerder dat ze gebouwd zijn op een fundament dat constante waakzaamheid vereist. De auteurs suggereren dat beveiliging geen bijzaak mag zijn; het moet vanaf het begin in het ontwikkelingsproces worden verweven. Door geautomatiseerde tools te gebruiken om continu op deze fouten te controleren en door de softwarecomponenten die in het systeem worden gebracht zorgvuldig te beheren, kunnen ontwikkelaars het risico op catastrofale defecten verminderen. Het werk dient als een herinnering dat in een steeds meer geautomatiseerde wereld de veiligheid van de machine afhangt van de beveiliging van de code.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.