Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 40 reacties

De Chinese onderzoeker Jun Li van het beveiligingsbedrijf Qihoo360 heeft op de Hack in the Box-beveiligingsconferentie een systeem gepresenteerd, waarbij auto's beveiligd moeten worden tegen internetaanvallen. Dit systeem werkt aan de hand van machine learning.

Het systeem heeft de naam 'CANsee', vernoemd naar het interne netwerk van bijvoorbeeld auto's dat ook wel 'Controller Area Network' of CAN wordt genoemd. Li geeft aan van jongs af aan geïnteresseerd te zijn in auto's en daarom de beveiliging ervan is gaan onderzoeken. Voor dit onderzoek was Li betrokken bij het hacken van een Tesla-model. Om de noodzaak van zijn onderzoek te onderstrepen, refereert de onderzoeker aan de hack op een Jeep Cherokee uit 2015, waarbij via internet de remmen en de motor konden worden uitgeschakeld.

De systemen van moderne auto's maken gebruik van een ecu, die gegevens van verschillende sensoren uit de auto verwerkt en zorgt voor een optimale prestatie van de motor. Deze apparaten zijn over het algemeen versleuteld. De gegevens die vanuit de sensoren worden uitgelezen kunnen door een aanvaller echter vervalst worden door packet injection of parameter spoofing. Deze aanvallers hebben volgens Li over het algemeen toegang tot een auto door de verbindingsmogelijkheden van een on-board infotainmentsysteem te gebruiken, bijvoorbeeld door bluetooth of wifi. Hierdoor hebben zij toegang tot het CAN van de auto.

De aanval op de Jeep werkte bijvoorbeeld door de snelheid van de auto te vervalsen naar 5km/u, om gebruik te kunnen maken van de functie om de motor uit te zetten. Li legt uit dat een beveiligingssysteem tegen dit soort aanvallen tegen een paar moeilijkheden aanloopt. Zo moet het in real time werken en moet het vervalste gegevens naar de bron terugvolgen. Dit laatste is moeilijk, omdat pakketten binnen een CAN geen broninformatie bevatten, maar slechts een message id. Tot slot moet het systeem in staat zijn om op een normale manier om te gaan met een false positive, zodat een loos alarm geen verstrekkende gevolgen heeft voor de besturing van de auto.

Li stelt een IDS, oftewel een intrusion detection system, voor dat een voorspelling maakt hoe de auto zich in bepaalde omstandigheden dient te gedragen. Op basis van die voorspellingen moet abnormaal verkeer op het netwerk van de auto door het systeem gedetecteerd worden, dat daarna kan ingrijpen. Het moeilijke is dat er niet zomaar een wiskundig model opgesteld kan worden om deze voorspelling uit te voeren, omdat de koppeling en de versnellingen van de auto ervoor zorgen dat dit niet lineair is, aldus Li.

Zijn oplossing is dan ook om machine learning toe te passen om deze voorspellingen uit te voeren. Tijdens de presentatie demonstreerde Li aan de hand van een video hoe hij een testauto heeft voorzien van zijn systeem en hoe hij het heeft 'getraind' door een aantal testritten uit te voeren. Uiteindelijk bleek dat de neurale netwerken redelijk snel een nauwkeurige voorspelling op basis van sensorgegevens uit het CAN konden maken, die overeenkwamen met het daadwerkelijke gedrag van de auto. Op die manier kunnen afwijkingen in gedrag snel opgevangen worden. Li is van plan de code van zijn onderzoek binnenkort publiek beschikbaar te maken.

Moderatie-faq Wijzig weergave

Reacties (40)

Een IDS voor auto's is een weinig spannende voorspelling als je het mij vraagt. Bovendien kun je met dit soort systemen verdacht verkeer opmerken maar het stoppen lijkt mij in het geval van een voertuig een lastige zaak. De kans op een false positive, en dus het negeren of actief blokkeren van informatie kan gevaarlijk zijn. Zeker omdat bij een bewegend voertuig snelheid ook van belang is. Real time verwerking is nooit echt realtime wat bij hoge snelheden parten kan gaan spelen.

What's next, een actieve anti malware scanner? Hiervoor hoef je geen visionair te zijn om dit te voorspellen. Vroeg of laat ga je dezelfde systemen zien die je nu op de pc of binnen het bedrijfsnetwerk tegen komt. In principe is een CAN ook niets meer dan een netwerk natuurlijk.

[Reactie gewijzigd door Bor op 27 mei 2016 19:04]

Zodra er een ongeregelheid ontdekt wordt een rood lampje op het dashboard laten branden met een pieptoon, zodat de bestuurder de auto aan de kant zet en afsluit, direct alle externe connecties blokkeren, smart car functionaliteit uitschakelen.

Dat zijn dingen die ik in 30 seconden brainstorm, dingen die je kan doen zodra dit systeem iets opmerkt. mocht het een false positive zijn is het niet gelijk gevaarlijk. enkel zodra de chauffeur te veel op zijn smart functionaliteit vertrouwd.
Het idee is juist dat de auto zelf in kan grijpen zoals ook in de tekst staat;
Op basis van die voorspellingen moet abnormaal verkeer op het netwerk van de auto door het systeem gedetecteerd worden, dat daarna kan ingrijpen.
"kan". Heerlijk vaag.

Auto zal dan in soort van safe mode moeten springen. Niet te hard, geen lane assist of zo.

Lijkt me ook drama voor de garage problemen met dit systeem uit te zoeken. Er brandt een rood lampje waardoor de auto in safe mode staat, "omdat de ai". Waarschijnlijk een kapotte sensor, maar vaag.
En voor een kapotte sensor kan je ook nu al de telemetrie uitlezen. Afwijkende waarden van een sensor geven dan de zoekrichting.

Nu hebben de meeste, zo niet alle, auto's ook al een "veilige modus"

[Reactie gewijzigd door dabronsg op 28 mei 2016 16:34]

Het zal wel aan mij liggen, maar de auto niet aan het internet hangen is geen optie? Verder er voor zorgen dat het internet en/of net werk van de gebruikers gescheiden is van het netwerk van de auto

Is ook een goed idee voor vliegtuigen
Voor mensen zoals jij heeft de EU eCall bedacht een systeem in je auto dat na een botsing hulpdiensten alarmeert via GSM/3G/4G. Meen dat het in 2017 verplicht is voor nieuwe auto's om aan boord te hebben.

edit
verplicht vanaf april 2018
https://ec.europa.eu/digi...ll-time-saved-lives-saved

[Reactie gewijzigd door (id)init op 27 mei 2016 19:08]

Deze reactie is niet bedoelt als reactie op de comment van @(id)init maar op @jeanj. Ik reageer niet veel op Tweakers dus dit is een foutje van mij. Mijn excuses.


In het artikel wordt gezegd dat de wagens een soort "intern netwerk" hebben dat het mogelijk maakt om de sensoren en de besturing met elkaar te laten communiceren. Door in het systeem in de auto binnen te breken via bluetooth of wifi, dus niet via "het internet", kunnen aanvallers bij wijze van spreken doen alsof ze dus één van die sensoren zijn en valse informatie doorgeven aan het systeem, zoals dat de auto maar 5km/u rijdt terwijl dat helemaal niet zo is. Ik ken er natuurlijk ook niet veel van maar ik ben 99% zeker dat een auto niet zomaar vanop het internet te besturen is. Je moet al binnen bereik zijn van het interne netwerk om iets te kunnen mispeuteren aan de auto, maar het vormt nog steeds een gevaar. Het internet heeft hier weinig mee te maken.

[Reactie gewijzigd door PartyPenguin op 27 mei 2016 19:16]

Dat is dan een fout in het CAN systeem of de implementatie ervan. Dit systeem zou niet van buitenaf (draadloos) bereikbaar moeten zijn.

Het lijkt me essentieel voor de beveiliging van een auto om het hele systeem gelaagd op te zetten en duidelijke regels vast te stellen voor de communicatie tussen die lagen.

Voorbeeld:

Laag 0: Motor management, sensor data.
Laag 1: Instrumentatie (dashboard etc) voor bestuurder en aansturing.
Laag 2: Autonome besturing (primaire functies, ingrijpen bij dreigende ongelukken)
Laag 3: Autonome besturing lane assist cruise control andere gemak functies
Laag 4: Route planner
Laag 5: Reisdata (file informatie snelheid limieten etc.)
Laag 999: Media systeem met internet en gecontroleerde toegang t/m laag 3

De lagen t/m 3 zouden bedraad uitgevoerd moeten worden of op z'n minst beveiligd moeten worden met een SSL-achtig protocol. Als dit nu niet zo is dan heeft de auto industrie bij voorbaat al een nieuw probleem gecreëerd. (zoals het voorbeeld met de Jeep Cherokee ).

Om dit nu op te lossen met een Machine learning is net een mug doodslaan met een olifant. Machine learning zou wel het systeem kunnen monitoren en alarm slaan als er iets niet klopt.
Hedendaagse systemen in auto's hebben al verschillende CAN netwerken. Het zal per fabrikant en bouwjaar kunnen verschillen, maar ga uit van aparte CAN netwerken voor motormanagement en sensoren (ABS, lambda, versnellingsbak, etc.), een voor instrumentatie, en een voor entertainment. Deze worden vervolgens door CAN gateways/bridges aan elkaar verbonden. Het is uiteraard eenvoudig om op de gateway berichten te filteren, zodat je iig van je entertainment CAN bus niet je ABS module kunt spoofen. Het zou me verbazen als dit niet al gebeurt.

Authenticatie aan de hand van encryptie zou natuurlijk erg effectief zijn tegen spoofing, maar dat betekent dat tientallen a honderden sensoren hun eigen key-pair moeten hebben, welke vervolgens ook in de ECU (en andere submodules) geregistreerd moet worden. Dit loopt natuurlijk erg in de papieren en maakt het extreem lastig om zelfs de meest simpele reparaties uit te voeren.

Overigens vat ik het idee in het artikel ook meer op als "fail-safe" dan als primaire beveiliging. Het spreekt voor zich dat dit soort aanvallen in de eerste plaats niet hadden mogen voorkomen, maar het is onmogelijk om dat te garanderen. Overigens is het wel een nieuwe toepassing voor een oud idee. Al sinds enige jaren wordt machine learning gebruikt in het automotive domein om sensor waarden te voorspellen en zo ook virtuele sensoren te creeren.
Authenticatie aan de hand van encryptie zou natuurlijk erg effectief zijn tegen spoofing, maar dat betekent dat tientallen a honderden sensoren hun eigen key-pair moeten hebben, welke vervolgens ook in de ECU (en andere submodules) geregistreerd moet worden. Dit loopt natuurlijk erg in de papieren en maakt het extreem lastig om zelfs de meest simpele reparaties uit te voeren.
Dat is ook zeker waar, daarom zei ik OF op z'n minst. Als communicatie op dat niveau in ieder geval niet draadloos toegankelijk is dan hoeft dat niet (zou nog steeds beter zijn maar praktisch lastig omdat dan bij vervanging van een sensor een nieuwe key aangevraagd moet worden bij een vertrouwde instantie (de papieren die je aangeeft)). Overigens zou versleuteling met b.v. het serienr. van de auto ook al een hoop ellende buiten houden.

Om in te gaan op het voorbeeld van de Jeep Cherokee uit 2015, als de aanvallers de snelheid van de auto kunnen faken vanaf internet en de auto kunnen stoppen dan zouden ze al toegang hebben tot laag 2. Deze zou volgens mijn model niet toegankelijk moeten zijn via internet. Het enige wat ze eventueel zouden kunnen doen is zeggen dat ik mijn bestemming heb bereikt. Laag 2 zou dan moeten zeggen dat het niet veilig is om te stoppen op een snelweg en dus de bestuurder waarschuwen.

Als we willen dat autonoom rijden gaat slagen dan zullen we toch een zet van regels nodig zijn om te bepalen wanneer de bestuurder zelf verantwoordelijk is. En op dat moment moet dan ook niets anders dan de bestuurder kunnen bepalen wat er met de auto gebeurt. Als het nu al mogelijk is dat een auto via internet gestopt kan worden dan faalt het hele systeem.

Machine learning kan misschien het risico's beperken, maar geen garanties bieden. En als een sensor virtueel moet zijn (zoals in je link) dan kan de software misschien betere beslissingen maken op basis van de echte sensoren ipv de virtuele. Aan de andere kant werkt ons brein ook op basis van een hoop virtuele(onderbewuste) informatie die gevormd wordt. Dat is ook één van de redenen dan sommige mensen misselijk worden bij gebruik van een VR headset.

[Reactie gewijzigd door PuzzleSolver op 27 mei 2016 22:45]

Machine learning kan misschien het risico's beperken, maar geen garanties bieden. En als een sensor virtueel moet zijn (zoals in je link) dan kan de software misschien betere beslissingen maken op basis van de echte sensoren ipv de virtuele.
Echte sensoren hebben altijd de voorkeur, maar zijn soms fysiek niet mogelijk of wenselijk. In dit specifieke geval is het probleem juist dat je die echte sensor niet kunt vertrouwen. Vandaar dat voorgesteld wordt om de waarde van de echte sensor te vergelijken met de waarde van een "identieke" virtuele sensor. Als er een afwijking is tussen beide waardes, dan is er dus iets niet in de haak.
Het zal per fabrikant en bouwjaar kunnen verschillen, maar ga uit van aparte CAN netwerken voor motormanagement en sensoren (ABS, lambda, versnellingsbak, etc.), een voor instrumentatie, en een voor entertainment.
Maar dan zouden dit soort problemen helemaal niet kunnen bestaan, want dan zou de controller nooit naar sensordata luisteren op de entertainmentbus.
Wat veelal niet gemeldt wordt is dat de Jeep Cherokee een makkelijk doelwit was omdat de radio direct aan beide CAN bussen hangt (zoals ik het begrijp min of meer drivetrain en infotainment). Door deze slechte architectuur konden de aanvallers via meerdere geavanceerde exploits spoofed berichten naar de ECU sturen.

Dit is echter niet bij alle auto's zo. In ieder geval Volkswagen (en Audi, etc.) past over het algemeen 3 CAN bussen toe (drivetrain, convenience, infotainment) die onderling alleen via gateways communiceren. Dit maakt het een stuk moeilijker om hetzelfde type aanval toe te passen, mits de gateway inderdaad goed filtert (min of meer als een firewall).

[Reactie gewijzigd door narotic op 28 mei 2016 01:35]

Dus deze beveiligingssoftware is eigenlijk voor auto's die slecht ontworpen zijn?
Verder er voor zorgen dat het internet en/of net werk van de gebruikers gescheiden is van het netwerk van de auto
Dan kun je alsnog eCall in de auto hangen.

Waar je op baseert dat het voor mensen is zoals hem en dus blijkbaar niet voor jou... Dat moet je mij even uitleggen.

[Reactie gewijzigd door Xm0ur3r op 27 mei 2016 19:12]

Sensoren uitlezen a la, maar daadwerkelijk vanuit het entertainment systeem dingen in de auto kunnen aanroepen, is wat mij betreft wel heel heftig.

Daarnaast, die crash sensoren hoef je niet aan het CAN netwerk te verbinden.

Daarnaast door allerlei berichten in je CAN te spammen, gaat natuurlijk je communicatie plat. Oké, dat kun je detecteren... Maar het is nog steeds niet handig.

Er zijn een aantal defcon video's, waarin ze ook lieten zien hoe ze de auto opeens aan het stuur laten draaien, door hem te laten denken dat die in automatisch parkeren-modus staat.

Voorkomen (in hardware) is beter dan oplossen (in software).
Uiteindelijk vindt een slimmerd toch wel weer een weg omheen, zeker als je maar gelimiteerd geld/tijd hebt om de beveiliging goed in te bouwen.
Het zal wel aan mij liggen, maar de auto niet aan het internet hangen is geen optie? Verder er voor zorgen dat het internet en/of net werk van de gebruikers gescheiden is van het netwerk van de auto

Is ook een goed idee voor vliegtuigen
Dat is een optie. En de fabrikant die daarvoor kiest heeft geen schijn van kans omdat hij daardoor allerlei functies verliest. Mijn Tesla is vannacht geupdate met een kleine patch die een een probleem oplost dat ik twee weken geleden gerapporteerd heb (zeer prettige service btw). Zonder internet zou ik geen super gedetailleerde kaarten hebben, geen informatie over het weer op mijn route, geen informatie over verkeer, geen informatie over laad stations die het druk hebben of in onderhoud zijn. Ik moet er niet over denken. En een keuze. Ik rij ook een MGB uit 1972 die een radio uit 1969 heeft waar FM in de handleiding als een functie is die nog niet in alle landen werkt.

Alle moderne vliegtuigen hebben GEEN flight control systemen die aan het internet hangen. De FAA staat dat op dit moment niet toe. De Europese autoriteiten zijn iets vrijer maar als de FAA het niet wil doet niemand het. Geen probleem dus.
Alles wat jij noemt heeft toch geen toegang nodig tot de motorsystemen op wat voor manier dan ook? Die info kan net zo goed binnenkomen op je smartphone of tablet. Die je vast toch al bij je hebt. Dit soort hardware in de auto is na een jaar of twee ongetwijfeld outdated, terwijl de auto toch nog wel een flink aantal jaren langer mee moet kunnen. Dus is het zowel praktischer als veiliger als het een volledig op zichzelfstaand apparaat is, wat je naar eigen wens kunt vervangen als je daaraan toe bent.
Ik kan heel wat voorbeelden bedenken waarom je dit soort informatie juist op de boardcomputer tot je beschikking wilt hebben, maar om een heel simpele te noemen: ik heb geen android telefoon of iPhone. Moet ik nu in mijn auto verstoken blijven van al deze informatie? Ik denk dat we er vanuit kunnen en moeten gaan dat die tijd inmiddels achter ons ligt.

Blijft wel over dat er mijns inziens wel een scheiding moet zijn tussen het entertainment netwerk (alles behalve de andere netwerken), het functionele netwerk (airco, raam- en deurbediening etc.) en het vitale netwerk (motormanagement, airbags etc).

Sensordata vanaf het vitale netwerk kun je dan bijvoorbeeld met een read-only interface koppelen aan de hogere netwerken terwijl het read-write toegang heeft tot het functionele netwerk. Idem voor functioneel naar entertainment. Geen flauw idee of fabrikanten als Tesla dit ook doen, maar als ik dit zo kan bedenken kunnen zij dat natuurlijk ook.
Alles wat jij opnoemt kan perfect door beide netwerken te scheiden. Een LTE module inbouwen kan perfect zonder dat jij een iPhone hebt etc.... Het enige dat je niet hebt is de ota updates van het voertuig mgmt systeem. Het andere netwerk kan wel zo geupdated worden.
De twee combineren is vragen om problemen
Lijkt me ook de enige haalbare optie. De besturing van de auto heeft niets maar dan ook niets op internet te zoeken.

Mensen zijn ook uitermate goed in auto's besturen zonder dat zij met internet verbonden zijn. Dus ook voor autonoom rijdende auto's is een verbinding een no-go. Navigatie puur op data van internet baseren is ook niet handig. Lokale navigatie moet altijd gebeuren op basis van indicatoren op en om de weg, niet op basis van regeltjes van een of andere server.

Mediatoepassingen kunnen prima blijven waar ze zijn: op smartphone of tablet, en hebben geen enkel belang bij integratie met de motor.

Dan eventueel nog alarmeringssystemen. Deze zouden, if at all, op zijn hoogst read-only toegang moeten krijgen tot motorgegevens. En dan dus niet policy-based read-only, maar op de een of andere manier "fysiek" read-only. Maar eigenlijk hebben die al genoeg aan een geintegreerde GPS-sensor.

Dus nee, gewoon geen internet in de auto.
Maar dit is toch krankzinnig?
Is het niet veel verstandiger om entertainment systemen los te maken van zaken als het sensornetwerk voor de ecu?
Dit is volgens mij een imperfecte en complexe oplossing voor een probleem veroozaakt door waardeloos systeemdesign.
Dat is ook de normale gang van zaken. :) Of een soort firewall maken. Een data converter van CAN die enkel kan lezen. En die omzetten in een API voor het media gedeelte. Nooit direct je ECU CAN aan je entertainment system hangen.
Ja, precies :)
Ik zou zelfs verder gaan dan een firewall en een speciale chip ontwikkelen die alleen in staat is heel specifieke informatie over te dragen. In hardware dus.
Inderdaad, want hardware is niet zo makkelijk te manipuleren als dat je weer een "software" apparaat er tussen zou hangen.
8 juni is er een interessante webcast:

The Car Hacker’s Handbook: Reversing the CAN bus on Linux

http://www.oreilly.com/pu...tm_content=iot-webcast-ac
The Car Hacker’s Handbook: Reversing the CAN bus on Linux
Dat boek bestaat voor een groot deel uit de gewone openbare CAN specificaties opgeleukt met uitroeptekens. Ik weet niet hoeveel jij knutselt met de CAN bus maar behalve data van de paar firma's die geen informatie geven (of wiens data nog niet gelekt is) kon ik er niet veel uit leren. Iets wat typisch is voor deze materie. De kleinste zaken worden opgeblazen terwijl er voor de gewone gebruiker vrijwel geen enkel risico is.

Het is goed om hierover te blijven nadenken maar voorlopig is common sense over hoe de auto te verbinden met het internet meer dan voldoende om veiligheid te garanderen. Firma's als Jeep hebben hierin grote fouten gemaakt (naar verluidt met Fiat systemen) maar machine learning had hierin niets uitgemaakt. Gewoon simpele IT standaarden handhaven.
Dit werk heeft twee grote tekortkomingen. De eerste tekortkoming is dat het zich baseerd op het anomaly detection concepten waarvan de onderliggende aannames niet zijn bewezen en nauwkeurigheid (detection rate en false positives) fors te wensen overlaat. Zie ook het volgende paper: http://www.nspw.org/2009/proceedings/2006/nspw2006-gates.pdf

De tweede tekortkoming is dat een aanvaller potentieel toegang heeft tot het detectiealgoritme en er eenvoudigweg omheen werkt. Geavanceerde malware wordt ook voor de release getest tegen de meest bekende antivirus tools.
Van dezelfde firma die de Bit-Defender engine aanbood aan testers, terwijl ze daar geen license voor hadden en terwijl hun eigen engine het bijzonder slecht deed? De firma wiens engine de tools gebruikt door de Chinese overheid niet detecteert? Die firma?

Deze firma zou geweerd moeten worden van elke conferentie, net zoals een aantal anderen wiens antecedenten niet kloppen. Blijft er niet veel over, dat weet ik wel, maar deze is echt fout.
Interessant idee. Ik zou zelfs nog verder willen gaan: dit systeem zou de eigenaar/bereider van de auto kunnen leren kennen, en een alarm laten afgaan wanneer het detecteert dat iemand anders dan de auto rijdt.
Het kan aan mij liggen.. Maar is het niet veel makkelijker en goedkoper om van de grond af een nieuw testbaar veilig systeem te bouwen, dan om een friggin' AI eraan te knopen?
Waar is die mooie tijd gebleven dat de ic's in een auto op 2 handen te tellen waren.
De Chinese onderzoeker Jun Li van het beveiligingsbedrijf Qihoo360 heeft op de Hack in the Box-beveiligingsconferentie een systeem gepresenteerd, waarbij auto's beveiligd moeten worden tegen internetaanvallen. Dit systeem werkt aan de hand van machine learning.
On Jan 12th, 2018, RoadNet became concious and cars started to drive off without their owners.
RoadNet begins to learn at a geometric rate.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True