Sjoemelsoftware-driver van Trend Micro geblokkeerd door Microsoft

Trend Micro stopte sjoemelsoftware in een eigen driver om te voorkomen dat Microsoft zou detecteren dat het programma op een onveilige manier functioneerde. De software is intussen verdwenen van de site van Trend Micro en Microsoft heeft de driver geblokkeerd.

Beveiligingsbedrijf Trend Micro is betrapt op onveilige praktijken en valsspelerij. Centraal in het schandaal, dat doet denken aan een digitale versie van de sjoemelsoftware-saga bij Volkswagen, staat een programma genaamd Rootkit Buster. Die software moet gevaarlijke rootkits detecteren en verwijderen. De Rootkit Buster maakt gebruik van een kernel-level driver genaamd tmcomm.sys en de gebruikte versie van die driver bevat twee belangrijke problemen. De eerste tekortkoming zit in de beveiliging, De andere toont aan dat Trend Micro de eerste tekortkoming moedwillig wilde verstoppen.

Geheugenprobleem

Om veilig te zijn mag een driver op kernel-niveau van Windows gebruik maken niet uitvoerbaar en niet gepaged geheugen. Dat is geheugen uit een pool met extra beperkingen die voorkomt dat een aanvaller een driver kan misbruiken om zelf code te injecteren en uit te voeren via een eventuele kwetsbaarheid. De tcomm.sys-driver aan de basis van de Rootkit Buster legt die beperking echter naast zich neer, en gebruikt geheugen uit de uitvoerbare pool. Dat is veel onveiliger, aangezien een kleine kwetsbaarheid in de code een aanvaller zo plots heel wat extra mogelijkheden kan geven.

De kwetsbaarheid op zich is niet meer dan een beetje gênant voor het beveiligingsbedrijf. Er zijn immers geen indicaties dat aanvallers een manier hebben gevonden om de slordigheid ook effectief uit te buiten. Het grotere probleem is de extra code die beveiligingsonderzoeker Bill Demirkapi ontdekte in de broncode van de driver. Die suggereert dat Trend Micro op de hoogte was van het probleem maar er vooral voor wilde zorgen dat het niet werd gedetecteerd.

Misleidingspoging

Microsoft heeft minimumvereisten voor de code van drivers en test die in het kader van Windows Hardware Quality Labs (WHQL)-certificatie. Gebruik van het juiste geheugen is een belangrijk criterium voor WHQL-certificatie. Het certificaat zorgt ervoor dat Microsoft drivers digitaal kan ondertekenen, zodat ze vertrouwd worden door Windows. Voor een bedrijf als Trend Micro is het absoluut belangrijk dat de software aan die WHQL-standaarden voldoet.

Zowel Demirkapi als The Register namen een kijkje in de code, en stelden vast dat daarin een functie zit speciaal gebouwd om WHQL-testscenario’s te detecteren. Merkt de driver dat een systeem een WHQL-test ondergaat, dat vraagt tcomm.sys wel geheugen uit de niet uitvoerbare pool aan. Is er geen WHQL-test gaande, dan hervalt de software naar de onveilige praktijk. De driver gedraagt zich met andere woorden moedwillig anders en veiliger in een testscenario vergeleken met standaard gebruik in het wild, in een poging zo de gegeerde WHQL-certificatie te verkrijgen en Microsofts beveiligingsmechanismen te omzeilen.

Geblokkeerd

Het is onduidelijk waarom Trend Micro ervoor kiest het initiële beveiligingsprobleem niet op te lossen maar in de plaats daarvan sjoemelcode in te bouwen. The Register speculeert dat de Rootkit Buster misschien minder stabiel werkt met geheugen via de niet uitvoerbare pool. Het voorval spreekt in ieder geval niet voor de betrouwbaarheid van wat nochtans een beveiligingsbedrijf moet zijn. Het is natuurlijk lang niet het eerste of het ergste voorval met een beveiligingsbedrijf in recente geschiedenis. Denk maar aan Avast, dat eerder dit jaar betrapt werd op spionage bij zijn klanten.

De Rootkit Buster is intussen van het Download Center van Trend Micro gehaald. Trend Micro geeft aan dat een beperkt beveiligingsprobleem aan de basis ligt en de software als voorzorg even offline werd gehaald. Intussen heeft ook Microsoft de driver geblokkeerd. Het is voortaan onmogelijk om de verdachte versie van tmcomm.sys uit te voeren op Windows 10.

Trend onkent

Trend Micro zelf ontkent de aantijgingen in verband met de sjoemelsoftware. Het bedrijf claimt dat het helemaal niet heeft valsgespeeld bij WHQL-certificatie. Waarom er dan speciaal code is ingebouwd om WHQL-tests te detecteren, en het gedrag van de driver veranderd in testscenario’s, vertelt Trend Micro niet. Het bedrijf claimt evenmin dat de bevindingen van Demirkapi gestaaft door The Register vals zijn, wat de beveiligingsspecialist in een vreemde positie brengt.

Veder stelt Trend Micro dat Microsoft de driver niet heeft verwijderd omwille van de valsspelerij. Het bedrijf verwijst naar de nieuwe versie van Windows 10 (die sinds vandaag uit is) en claimt dat de driver op eigen vraag geblokkeerd werd in afwachting van verdere compatibiliteitstests. “Trend Micro en Microsoft werken nauw samen”, klinkt het. Tot slot vindt Trend Micro dat dit schandaal geen schandaal is. Uiteindelijk zijn die reacties irrelevant en naast de kwestie. Trend Micro moet maar één vraag beantwoorden: waarom bevatte een driver die zich niet aan de gekende regels houdt, code speciaal bedoeld om de controle op die regels te detecteren?

We vroegen zelf aan Trend Micro of ze de bevindingen van The Register en de beveiligingsonderzoeker betwisten en indien niet, wat het nut van de WHQL-check dan was indien die niet diende om het geheugenmanagementprobleem te verstoppen. Moesten we een duidelijke reactie krijgen, dan voegen we die toe aan dit artikel.