De wereld reageerde geschokt op het nieuws dat de altijd zo gedegen Duitse auto-industrie ‘grundlich’ met de opgegeven verbruikprestaties van dieselauto’s hebben gesjoemeld. Sjoemelen op zich is niets nieuws en bestaat al sinds mensenheugenis. Maar sjoemelsoftware is een nieuw woord, dat volgens mij een grote kans maakt om in de volgende uitgave van Dale’s woordenboek te worden opgenomen.
Over deze blogger
Matthijs Ros (34) is hoofd cybersecurity binnen Capgemini Nederland. Hij is gespecialiseerd in de domeinen cybersecurity, intelligence en risk management. Matthijs adviseert organisaties op strategisch niveau over cybersecurity en leidt de digitale transformatie van bedrijven en organisaties in veilige banen. Matthijs is getrouwd en heeft twee kinderen. Hij woont in Amsterdam.
Is sjoemelsoftware een nieuw fenomeen in software-land? Het antwoord zal voor velen die zich niet bezig houden met softwareontwikkeling nogal schokkend zijn: nee, dit is totaal niets nieuws. Al begin jaren ’90 kwamen diverse fabrikanten van grafische kaarten, waaronder S3, ATI en nVidia, in opspraak doordat zij de drivers van hun grafische kaarten hadden aangepast. Daarmee konden ze detecteren dat er een benchmark op hun kaarten werd gedraaid, om vervolgens op slimme wijze de benchmarkresultaten te manipuleren.
Smartphones en koelkasten
Ook fabrikanten van mobiele telefoons manipuleerden hun software met als doel testresultaten te beïnvloeden. Apple zou in 2003 met gemanipuleerde software van de G5-processor hogere prestaties hebben willen aantonen dan hun rivalen die een Intel Xeon-processor gebruikten. En in 2014 werd Samsung betrapt op het manipuleren van de benchmarks van de Galaxy S4 en Note 3 smartphones. Ook sommige tv’s van Samsung zouden in laboratoriumtesten minder stroom verbruiken dan ze in werkelijkheid deden. HTC bekende zelfs openlijk dat de benchmarkprestaties van de One M8 waren opgeschroefd. Maar in het verleden zijn ook Japanse koelkasten voorzien van sjoemelsoftware, die kon detecteren dat een koelkast werd getest. Het energieverbruik van die koelkasten werd tijdens de test verlaagd door met behulp van sjoemelsoftware de ventilator en de defrosting tijdelijk uit te schakelen. Het resultaat? De gewenste A+ normering.
Auto-industrie
En nu is het dus de beurt aan de autofabrikanten om betrapt te worden op sjoemelsoftware. Zij hebben hiermee de emissietesten voor dieselmotoren gemanipuleerd om hun auto’s van een milieuvriendelijker label te kunnen voorzien. De in auto’s aanwezige Electronic Control Module (ECM) kent twee instellingen: één voor het meten van emissies in een testomgeving en een ander voor het rijden onder normale rijomstandigheden. De sjoemelsoftware onderdrukte onder normale omstandigheden de voorzieningen die moesten zorgen voor een beperking van schadelijke uitstoot van gassen. Slim bedacht, maar niet netjes en met grote reputatieschade als gevolg.
Sjoemelen met security
Nu rest de vraag of er ook met security-software wordt gesjoemeld. Of zouden de benchmarks in staat zijn om dit te detecteren? Een recent voorbeeld is het gesjoemel met de firmware van bepaalde netwerkrouters om achterdeurtjes te openen voor belangstellenden. Het lijkt dan ook aannemelijk dat er ook met security software kan worden gesjoemeld. Welke garantie geven leveranciers van security-software dat hun producten het beveiligingsniveau bieden dat ze beloven? Worden de resultaten van de door hen uitgevoerde security-testen niet rooskleuriger voorgesteld dan dat ze in werkelijkheid zijn? Kunnen wij als gebruiker controleren of de security-software aan bepaald eisen voldoet? Bestaan er benchmarks om dit te aan te tonen?
Virusscanners
Als we virusscanners als voorbeeld nemen, dan kun je je als gebruiker afvragen tegen welke virussen de software beveiliging biedt en in welke mate de scanner in staat is om alle virussen te ontdekken en ze onschadelijk te maken. Maar voor dit doel bestaan er geen benchmarks. Het is erg lastig om hiervoor een benchmark te ontwikkelen, omdat de samenstelling van virussen voortdurend verandert. Bovendien wil je als fabrikant niet publiceren welke virussen gebruikt zijn om de software te testen. Daarmee zou je de kwaadwillenden in de kaart te spelen. Sommige leveranciers van benchmarksoftware die diverse antivirusscanners testen, kijken zelfs alleen naar performance-parameters zoals installatietijd, scantijd en boottijd. De internationaal erkende laboratoria testen de verschillende producten weliswaar meermaals per jaar, maar als wordt gebenchmarkt op het aantal gevonden virussen moet men wel beducht zijn op false positives (software onterecht aangemerkt als virus).
Beveiliging is relatief
Opvallend is dat bij de koelkasten, auto’s en tv’s alleen gesjoemeld is met een van de secundaire productspecificaties die gekoppeld zijn aan een bepaalde certificering. In veel gevallen is dit de hoeveelheid gebruikte energie. Sjoemelen aan security-software betekent echter dat aan de primaire functie van het product wordt gerommeld, namelijk de detectie van virussen. De vraag is of dit verschil het minder aannemelijk maakt dat er ook met security-software wordt gesjoemeld. Maar voor de gebruiker is het sowieso lastig, zo niet onmogelijk, om te kunnen vaststellen dat er gesjoemeld is met de resultaten. Kortom, bij elk testrapport van security-producten is het daarom verstandig om de daarin gemelde resultaten met enige scepsis te bekijken.