Trend Micro wird vorgeworfen, bei Windows-Treiber-Test betrogen zu haben
Um die WHQL-Zertifizierung zu erlangen, soll der AV-Hersteller einen Treiber so gebaut haben, dass er die Testumgebung erkennt und sich dann anders verhält.
- Fabian A. Scherschel
Der Antiviren-Hersteller Trend Micro wird von mehreren Sicherheitsforschern beschuldigt, bei Microsofts Qualitätstests für einen Kerneltreiber betrogen zu haben. Der Treiber gehört zur kostenlosen Anti-Malware-Software "Trend Micro Rootkit Buster" und die Firma soll ihn so angepasst haben, dass er Microsofts Testumgebung erkennt und sich dann anders verhält, als es auf den Systemen von Anwendern der Fall ist – etwa grob analog zum Verhalten der VW-Autos, die sich bei Abgastests anders verhielten als im normalen Betrieb und damit den Abgasskandal im Jahr 2015 auslösten. Trend Micro streitet allerdings ab, die Microsoft-Qualitätstests manipuliert zu haben.
Entdeckt wurde das ungewöhnliche Verhalten des Trend-Micro-Treibers vom unabhängigen Sicherheitsforscher Bill Demirkapi, der sich im Rahmen seiner Forschungen mit Methoden zur Entdeckung von Rootkits unter Windows beschäftigt und sich aus diesem Grund das Programm Rootkit Buster genauer angeschaut hatte. Demirkapi begann damit, Teile des Programms zu zerlegen und einem Reverse Engineering zu unterziehen.
Unsicherer Kernel-Treiber erregt Aufmerksamkeit
Dabei vielen ihm Schwachstellen im Code des Kernel-Treibers tmcomm.sys auf, der neben seiner Verwendung im Rootkit Buster auch noch in anderen Trend-Micro-Produkten zum Einsatz kommt. Laut Demirkapi kann der Treiber von einem Windows-Rootkit dazu missbraucht werden, sich relativ einfach Zugang zu wichtigen Kernelfunktionen zu verschaffen. Solche Schwachstellen werden von Schadcode, der bereits System-Rechte erlangt hat, dazu missbraucht, sich tiefer ins System einzugraben und sich vor dem Administrator und etwaiger AV-Software zu verstecken – eine wichtiges Merkmal von Rootkit-Malware.
Diese Schwachstellen sind Demirkapi zufolge keine unabsichtlichen Sicherheitslücken, sondern wurden absichtlich programmiert, um Usermode-Programmen mit entsprechenden Rechten mächtige Kernelfunktionen zur Verfügung zu stellen. Allerdings können diese Möglichkeiten natürlich auch von Angreifern missbraucht werden, die es geschafft haben, sich in eine entsprechende Position zu bringen. Demirkapi nennt tmcomm.sys "das perfekte Opfer für Hacker auf der ganzen Welt", die sich tiefer in Systeme einnisten wollen. Der Treiber sei absichtlich unsicher programmiert worden und deswegen gefährlich.
Versucht hier wer bei WHQL-Treiber-Tests zu schummeln?
Der 18-jährige Sicherheitsforscher machte allerdings noch eine weitere, ungewöhnliche Entdeckung. Im Code von tmcomm.sys fand sich eine Funktion namens IsVerifierCodeCheckFlagOn()
, die anscheinend dazu da ist, den Registry-SchlĂĽssel VerifyDriverLevel
abzufragen. Das dient augenscheinlich dazu festzustellen, ob die Software auf einem System läuft, das gerade eine bestimmte Testumgebung von Microsoft ausführt. Microsoft nutzt diese Testumgebung für Qualitätstests im Rahmen des Windows Hardware Quality Labs (WHQL).
WHQL ist fĂĽr Windows-Software von Drittanbieter ein äuĂźerst wichtiges Qualitätsmerkmal: Software, die diesen Standard erfĂĽllt, darf von Microsoft digital signiert werden. Windows vertraut Software mit entsprechendem Zertifikat und fĂĽhrt sie nach einem Download aus dem Internet ohne Warnung aus – ohne WHQL-Siegel muss der Nutzer explizit bestätigen, dass er potenziell unsichere Software ausfĂĽhren will. Des weiteren dĂĽrfen Windows Update oder andere offizielle Verbreitungsmechanismen von Microsoft nur Software verteilen, die ein gĂĽltiges WHQL-Zertifikat besitzt. Alles gute GrĂĽnde dafĂĽr, dass Dritthersteller wie Trend Micro ihre Software, und vor allem ihre Treiber, den entsprechenden Qualitätstests von Microsoft unterziehen.
Auf Grund der Entdeckungen von Demirkapi vermuten eine Reihe von Sicherheitsforschern und Windows-Experten nun, dass Trend Micro versucht hat, beim WHQL-Test zu schummeln. Demnach macht der Treiber im normalen Betrieb Dinge, die dazu führen würden, dass er Microsofts Qualitätsstandards nicht erfüllt. Um sich den WHQL-Status dennoch zu erschleichen, so der Vorwurf, ändert der Treiber sein Verhalten allerdings, wenn er die Testumgebung von Microsoft erkennt.
Proof-of-Concept-MĂĽll, der mit Panzertape zusammengehalten wird
Um WHQL-Status zu erlangen, darf ein Kerneltreiber nur Speicher aus einem Pool anfragen, dessen Inhalt vom Betriebssystem nicht ausgeführt wird – der sogenannte Non-Execute Non-Paged Pool (NonPagedPoolNx). Das soll verhindern, dass Angreifer, die Kontrolle über den Treiber erlangen, Schadcode in den Speicher schreiben, der dann von dort ausgeführt werden kann. Gerade für Sicherheitssoftware gibt es kaum gute Gründe, sich dieser Vorgabe von Microsoft zu widersetzen. Trend Micros tmcomm.sys-Treiber tut aber genau das laut Demirkapi – jedenfalls auf Systemen, die gerade nicht von der WHQL-Testumgebung begutachtet werden.
Warum Trend Micro seinen Treiber so programmierte, weiß auch Demirkapi nicht. "Der Großteil dieses Treibers sieht aus wie Proof-of-Concept-Müll, der mit Panzertape zusammengehalten wird", so seine Einschätzung. Man habe wohl irgendwas machen wollen, was mit Speicher aus dem NonPagedPoolNx nicht funktioniert habe und sich dann entschieden, die Microsoft-Tests auszutricksen, weil die WHQL-Zertifizierung trotzdem erreicht werden musste, so der Vorwurf.
Trend Micro geht den Sicherheitsforscher an, streitet Betrugsversuch ab
Trend Micro wirft dem Sicherheitsforscher nun vor, seinen Bericht vorschnell veröffentlicht zu haben. Man sei über die Sicherheitslücken und anderen Probleme im Treiber vorher nicht von dem Forscher informiert worden, wie es eigentlich in der Branche üblich sei, sagte ein Sprecher des AV-Herstellers gegenüber der britischen Nachrichtenseite The Register. Auf Grund dieses Vorgehens gehe man davon aus, der Sicherheitsforscher sei mehr an Aufmerksamkeit als an einer konstruktiven Lösung des Problems interessiert, so Trend Micro.
"Wir arbeiten eng mit dem Treiber-Security-Team von Microsoft zusammen", sagte der Antiviren-Hersteller auf eine Anfrage von The Register. "Zu keinem Zeitpunkt hat unser Team versucht, Zertifizierungsanforderungen zu umgehen". Bisher hat der Hersteller allerdings unseres Wissens nach nicht erklären können, warum sich sein Treiber so verhält, wie von Demirkapi offengelegt. Auch andere Sicherheitsforscher und Windows-Experten, die sich zu dem Thema öffentlich geäußert haben, können sich bisher keine andere plausible Erklärung vorstellen, als den Verdacht, dass hier versucht wurde, bei der WHQL-Zertifizierung zu betrügen. Microsoft hat bisher nur bestätigt, dass die Firma von dem Vorfall weiß und zusammen mit Trend Micro an einer Lösung arbeitet.
Microsoft kassiert den verdächtigen Treiber
Wohl als erste Reaktion auf die Vorkommnisse hat Microsoft dem Trend-Micro-Treiber nun das Vertrauen entzogen und ihn auf eine schwarze Liste gesetzt, was verhindert, dass er unter dem Mai-Update für Windows 10 (Version 20H1) geladen wird. Auch Trend Micro bietet die Software Rootkit Buster momentan nicht an, wahrscheinlich weil sie ohne diesen Treiber ohnehin nicht funktionstüchtig wäre. Gegenüber The Register gab die Firma zu Protokoll, man habe die aktuelle Version der Software offline genommen, um an den von Demirkapi entdeckten Schwachstellen im Treibe-Code zu arbeiten.
Außerdem teilte die Firma mit, Microsoft habe den Treiber auf Bitte von Trend Micro auf die schwarze Liste gesetzt. Das sei "aus Gründen von Kompatibilitäts-Test für die kommende Windows-Version" passiert. Es ist momentan nicht bekannt, ob das Sperren dieses Treibers auch Einfluss auf andere Trend-Micro-Produkte hat, die ihn nutzen oder ob etwaige Probleme etwa mit Updates dieser Programme behoben wurden. (fab)