I 2015 ble det avslørt at Volkswagen hadde implementert en løsning som gjør det mulig å jukse når enkelte av dieselmodellene deres gjennomgår avgasstesting.
Siden har en gruppe forskere jobbet med å finne ut hvordan juksingen foregikk.
Nå har de funnet svaret, gjemt i programvaren til bilene, melder University of California San Diego.
Resultatene er publisert i en rapport (PDF), som blir lagt frem frem under IEEE Symposium on Security and Privacy i San Francisco denne uken.
Det er allerede kjent at Volkswagen aktivt har gjort tiltak som sørger for at bilene deres produserer mindre NOx når bilenes programvare avgjør at de sannsynligvis blir testet.
Under vanlig bruk, slipper bilene ut inntil 40 ganger mer NOx enn tillatt.
- Utslippsavsløring: Skrur av eksosrensingen allerede ved 17 grader
Fellende beviser
Kirill Levchenko, en IT-forsker ved universitetet i California i San Diego, som har vært delaktig i å avdekke nøyaktig hvordan Volkswagen jukset, melder nå at de har funnet en «smoking gun».
Ved å se på programvarekode som kjørte på de aktuelle bilene, har de funnet systemet, og hvordan det var programmert til å lure utslippsteder.
Koden tok hensyn til måten utslippstester gjennomføres. Disse testene gjennomføres ved at bilen settes på et dynamometer, og så kjøres i nøye definerte hastigheter, med flere start og stopp.
Siden testmetodikken er offentlig tilgjengelig informasjon, var det mulig for Volkswagen å få bilen til å kjenne igjen mønstre fra slike tester.
Den aktuelle koden i bilenes programvare undersøkte derfor om vilkår var oppfylt før juksemodusen ble aktivert. Dette inkluderte hastighet, avstand og rattets posisjon. Så snart programvaren avgjorde at bilen ble testet, ble ulike tiltak satt i verk for å redusere utslippene.
Forskerne avdekket også at det var 10 ulike profiler som kunne bli aktivert for ulike potensielle utslippstester.
Skjult bak dekknavn
Forskerne undersøkte 926 versjoner av programvaren utgitt over åtte år, og fant at 406 versjoner hadde denne funksjonaliteten.
Volkswagen hadde også forsøkt å skjule koden ved å gi den et navn som indikerte at den hadde annen funksjonalitet. Koden finnes i en funksjonsblokk kalt «kundenspezifische Akustikbedingung», som gir inntrykk av at det er kode som justerer lydprofilen fra motoren.
Forskerne har avduket at koden har utviklet seg over flere utgaver av programvaren. Frem til mai 2007 var det tre kriterier som måtte oppfylles før motoren gikk inn i juksemodus. Etter dette var det i hovedsak fem krav som måtte oppfylles.
Motoren kan gå i juksemodus ved oppstart, dersom forhold ligger til rette for det, som at motoren er varm og kjølevæsker er innenfor et bestemt temperaturintervall.
Juksemodusen blir først deaktivert når flere krav er oppfylt. Dette inkluderer blant annet om turtallet går over en satt grense, eller gasspedalen overskrider en gitt posisjon innenfor et bestemt tidsrom.
Fra 2009 ble også rattets posisjon tatt i bruk for å avgjøre om bilen var under testing.
- Liten reduksjon: Norge ligger langt foran Europa på CO2-utslipp fra personbiler
Den mest komplekse i bilhistorien
– Volkswagens «defeat device» er uten tvil den mest komplekse i bilhistorien, sier Levchenko i pressemeldingen.
Det er sannsynligvis flere som har jukset på denne måten tidligere, heter det i forskernes artikkel, men få detaljer om hvordan det blir gjort har til nå vært kjent.
De skriver at Volkswagen-saken viser hvor vanskelig det er å overvåke hvorvidt bilprodusentene faktisk overholder utslippskravene. Alle moderne biler har motorstyreenheter som fungerer som «hjerne», og behandler data fra alle bilens sensorer, og gjør justeringer som blant annet skal sikre at utslippet holdes på et lovlig nivå.
Men dette åpner også for mulighet til å jukse, slik Volkswagen gjorde. Og det kan ta mange år å oppdage slik juksing.
Forskernes arbeid har vært konsentrert rundt mulighetene til å avsløre slik juksing ved å undersøke programvare. Med dette som bakgrunn har de utviklet et verktøy kalt «Curve Diff», som kan gjenkjenne hvorvidt enkelte biler har implementert juksekode.
-
Mannen som hacket en Jeep advarer: – Alle biler lar seg hacke
Bosch-maskinvare
Den aktuelle motorstyreenheten Volkswagen bruker er produsert av Bosch. Forskerne hevder at alle bevis peker mot at det er Bosch som programmerer enhetene for kundene, altså bilprodusentene.
Det er imidlertid ikke avklart hvorvidt det er Bosch som har programmert inn juksekoden, men forskerne noterer at Bosch har opphavsretten til koden og dokumentasjonen.
Den aktuelle koden var i bruk på flere bilmodeller, som Volkswagen Passat, Golf, Jetta, og Audi A- og Q-seriene.
- Fra og med i år får bensinbiler partikkelfilter: Slik påvirker det motoren
Avslørte også Fiat
Forskerne fant også lignende, men langt mer primitiv programvare på Fiat 500X.
Denne bilen vil gå inn i «juksemodus» hver gang den startes, og modusen vil være aktiv i 26 minutter og 40 sekunder, som er omtrent like lang tid som de fleste utslippstester tar å gjennomføre.
Fiat Chrysler Automobiles er for tiden under etterforskning for å jukse med utslippstester.
Forskerne tror de er de første som avdekker hvordan Fiat har gjort dette.
Fiat 500X bruker den samme motorstyreenheten fra Bosch som Volkswagen bruker i sine juksebiler.
Volkswagen-skandalen er ikke første eksempel på at en bilprodusent forsøker å jukse seg til å bestå utslippskrav. General Motors gjorde noe lignende på Cadillac-modeller solgt mellom 1991 og 1995.
Da ble bilens klimaanlegg brukt som indikator. Om anlegget var slått av, antok programvaren at bilen var under testing. Da dette ble avslørt ble General ilagt 11 millioner dollar i bøter, og pålagt å rette opp jukset på alle solgte biler.
- Diesel og bensin skal være med oss en stund til: Slik skal motorene bli renere