Microsoft bevestigt dat het een rootkit-driver ondertekende

Microsoft erkent dat het een driver heeft ondertekend die een rootkit bevat. Het bedrijf doet momenteel onderzoek naar deze rootkit, die volgens Microsoft alleen werd ingezet in de Chinese gamingsector.

Microsoft bevestigt in een blogpost dat de actor achter de rootkit, die Netfilter heet, de driver ter validatie heeft opgestuurd, waarna Microsoft deze heeft ondertekend. "De actor heeft stuurprogramma's ingediend voor certificering via het Windows Hardware Compatibility Program", aldus de techgigant. "De stuurprogramma's werden gemaakt door een derde partij. We hebben het account opgeschort en de ingediende stuurprogramma's gecontroleerd op aanvullende tekenen van malware."

Microsoft claimt dat de actor achter deze rootkit alleen actief is in de 'Chinese gamingsector'. Er zijn volgens de techgigant geen aanwijzingen dat Netfilter werd ingezet om bedrijfsomgevingen te compromitteren. Het bedrijf meldt daarbij dat het de aanval vooralsnog niet toeschrijft aan een staatshacker. Microsoft schrijft dat gebruikers geen maatregelen moeten nemen, behalve 'het volgen van goede beveiligingsmaatregelen en het inzetten van antivirussoftware'.

"Het doel van de actor is om de driver te gebruiken om hun geolocatie te spoofen en zo het systeem te bedriegen en overal te kunnen spelen", aldus Microsoft. Daardoor zouden ze door de malware 'een voordeel in games kunnen behalen' en 'mogelijk andere spelers uit kunnen buiten door hun accounts te stelen via tools als keyloggers'.

De ondertekende rootkit-driver werd afgelopen vrijdag opgemerkt door G-Data, een Duits cybersecuritybedrijf dat onder andere antivirussoftware maakt. De malware communiceert met Chinese servers. "De hoofdfunctionaliteit van de rootkit-driver is het omleiden van verkeer", schreef het bedrijf. De rootkit kan zichzelf ook updaten.

Sinds Windows Vista moet code die in kernelmodus draait, eerst ondertekend worden door Microsoft voordat deze wordt uitgebracht. Drivers zonder Microsoft-certificaat kunnen standaard niet worden geïnstalleerd. G-Data kreeg daarom recentelijk een melding voor een mogelijk vals alarm, omdat zijn antivirussoftware een Netfilter-driver detecteerde die was ondertekend door Microsoft.

"Maar in dit geval was de detectie echt positief, dus hebben we onze bevindingen doorgestuurd naar Microsoft, die de malware snel heeft toegevoegd aan Windows Defender en een intern onderzoek uitvoert", aldus G-Data.

Netfilter signature
De ondertekende Netfilter-driver. Bron: G-Data

Door Daan van Monsjou

Nieuwsredacteur

27-06-2021 • 11:34

56

Lees meer

Reacties (56)

56
52
30
2
0
14
Wijzig sortering
Nou word de laatste tijd vaker beweerd dat Microsoft minder goed test dan in het verleden, maar dit is wel echt absurd. Een stuk malware doorpushen.
Is het wel echte malware? Want het artikel lijkt tochvaan te geven dat de driver doet wat de omschrijving aangeeft, en hiervoor wel chinese servers gebruikt, een driver die sowieso van chinese makelij is, dus wel logisch dan van die chinese servers.
Ja het is malware, de driver bevat een rootkit die zichzelf kan updaten. Daarmee kan men dus de hele PC overnemen zonder dat de gebruiker dat merkt.
Microsoft erkent het ook: Microsoft is investigating a malicious actor distributing malicious drivers within gaming environments.
"Het doel van de actor is om de driver te gebruiken om hun geolocatie te spoofen en zo het systeem te bedriegen en overal te kunnen spelen", aldus Microsoft.
Slap excuus. Iedereen anders kan natuurlijk ook die driver misbruiken voor wat dan ook. Als state actor kan je dus een front organisatie opzetten die 'relatief onschuldig is' om aan dit soort ondertekende drivers te komen. Al worden ze ontdekt, dan zal iedereen het snel classificeren als ongevaarlijk.

Wat gaat Microsoft doen om dit met andere drivers te voorkomen?

• Dit werd ontdekt door een externe partij en niet door Microsoft. Hoe gaan zij waarborgen dat de al ondertekende drivers niet dit soort ongewenste zaken hebben?
• Hoe gaan zij waarborgen dat in de toekomst ondertekende drivers niet dit soort ongewenste zaken hebben?

[Reactie gewijzigd door The Zep Man op 23 juli 2024 03:58]

Hoe gaan zij waarborgen dat in de toekomst ondertekende drivers niet dit soort ongewenste zaken hebben?
Heel simpel: niet.

Er zijn methoden om aan te tonen dat software exact doet wat het zou moeten doen, maar deze zijn zo tijdrovend (en dus kostbaar) dat deze in de praktijk alleen voor kleine stukken hele kritieke software gebruikt worden.

Je kan wat automatische tests doen om te kijken of bepaalde APIs aangesproken worden, je zou zelfs een code-review kunnen doen, maar dat alles garandeert niets.

Het doel van dit soort certificeringen is dan ook eerder om te zorgen dat je weet wie een driver ontwikkelt heeft, en wie je er dus op kan aanspreken als er iets mis is. Dat lijkt hier ook het geval: de verspreider van deze malware is bij Microsoft bekend, ik neem aan dat ontwikkelaars ook aan voorwaarden moeten voldoen om deel te nemen aan het certificeringsprogramma en dat er dan ook juridische stappen volgen als ze die hiermee hebben overtreden.
Er zijn methoden om aan te tonen dat software exact doet wat het zou moeten doen, maar deze zijn zo tijdrovend (en dus kostbaar) dat deze in de praktijk alleen voor kleine stukken hele kritieke software gebruikt worden.
Bovendien werken die methoden alleen als het ontwerp van de software specifiek is opgezet om de correctheid ervan achteraf te kunnen bewijzen. Je schrijft niet eerst de code en daarna het bewijs, maar andersom: je schrijft eerst op wat je moet gaan bewijzen en vervolgens leidt je af wat de code moet zijn. Dit blijkt ook uit de naam van die soort methodes: "correctness by construction", je bouwt de code op basis van de benodigde bewijzen.

Meer leesvoer: Australiërs claimen geheel bugvrije kernel te hebben gebouwd. TL;DR: het bewijzen van de correctheid van 8700 regels code kostte 4 jaar. Persoonlijke ervaring: het bewijzen van een sorteringsalgorithme (als ik me goed herinner, quick sort), was een practicumopgave waar we de hele middag mee bezig waren (toegegeven, dat was als studenten die de methode aan het leren waren, dus het is niet helemaal representatief).

Enneh... groot probleem: daarmee bewijs je alleen dat de code doet wat ie moet doen. Zelfs met zo'n bewijs weet je nog steeds niet zeker of je (correcte) code misschien ook nog iets anders doet. Van de andere kant: om correctheid te bewijzen moet je zo ontzettend minutieus, regel-voor-regel, van boven tot onder en weer terug en dan nog een keer, door de code heen, dat het ontzettend lastig zou zijn om dit soort extra functionaliteit te verstoppen. Zodra je een regel tegenkomt die je voor je correctheidsbewijs niet nodig hebt, dan valt dat gigantisch op.
Is je code eindelijk 100% en toen was je compiler buggy...
Zonder nou direkt op de paranoia bandwagon te springen, het is mijns inziens inderdaad niet erg verstandig dit af te doen als iets onbelangrijks. Geloof zeker dat het hier een IP spoof voor een game betrof, maar dat zou ook een dekmantel kunnen wezen: een proefbalon, zeg maar, om uit te testen of ze MS zo ver kunnen krijgen rootkit drivers te signen (al dan niet met hulp van binnen), als opstapje naar meer, dus.

Moet zeker grondig onderzocht worden. En dan niet eens zo zeer wie erachter zat, en wat nou de ware motieven waren (kom je toch nooit achter met zekerheid), maar vooral hoe dit kon gebeuren aan de kant van MS.
Zover ik weet stuur je een binaire blob naar ms voor signing. Ms checked of de driver alleen geldige API calls maakt (je kunt bijv. geen pop-up op het scherm doen vanuit de driver) en signed dan. Wat er mis is is dat men dus geen volledige audit van de driver doet maar met het signen van de driver wel de illusie wekt dat het een veilige driver betreft.
nee, want niemand kan die driver nog gebruiken omdat hij al geblacklist is en je kan het IP waarnaar de traffic gaat niet zomaar veranderen, want dan klopt de signature niet meer en kan je hem sowieso niet gebruiken.

Mensen bij Microsoft weten waar ze mee bezig zijn en hebben veel meer info dan jij om dit alsnog op een conspiracy-theory te gooien (als je al weet waarover je praat).
Zoals in het artikel staat, loopt er een intern onderzoek. Ze zullen eerst onderzoeken wat er mis is gegaan, zodat ze daarna aanpassingen kunnen doen in het proces om het later te voorkomen.
Ik vraag me af of dat veel zal opleveren. Een oud werkgever van mij had ook een eigen hard/software team voor apparatuur die zij ontwikkelen en in ieder geval destijds stelde signing niet heel veel voor wanneer je al in dat proces zat. Dat was gewoon een payload uploaden die signed moest worden en even later had je die terug.

Volgens mij kostte het wel inspanning om in dat programma te komen, maar zodra je er in zat ging signing relatief gemakkelijk. Mogelijk dat dit hier ook het geval is geweest.
Leuk, dat alles zo centraal geregeld dient te worden, omdat <insert favorite cloud-provider here> zijn/haar beveiliging beter voor elkaar heeft. Zo te zien doen ze het net zo slecht als een particulier.

Het gebeurt te vaak en dan is de mate van centralisatie helemaal geen voordeel. Vooral niet als er ook nog eens maandelijks voor moet worden betaald.
Ze zullen eerst onderzoeken wat er mis is gegaan, zodat ze daarna aanpassingen kunnen doen in het proces om het later te voorkomen.
Doet nog steeds niets af aan mijn vragen. Die hoeven dan ook niet nu beantwoord te worden. In het geheel niet beantwoorden is ook een antwoord, overigens. ;)
Maar die kun je dus pas beantwoorden nadat je eerst onderzocht hebt wat er is mis gegaan.
Wellicht hebben ze simpelweg een aantal medewerkers omgekocht en dan maakt het helemaal niet uit of je een onschuldige front organisatie hebt opgezet.
Ik ben vrij zeker dat ondertekening van driver was gedaan door contractors in Mumbai.
De uitleg van MS in het artikel lijkt te zeggen dat ze het al weten. Het onderzoek is waarschijnlijk slechts bedoeld voor "damage limitation" . Over een paar dagen is iedereen dit al weer vergeten en gaat MS er prat op dat ze zo veilig zijn ...
Het zou wellicht fijn zijn van Microsoft als ze programma's en drivers die ze moeten signen zelf compileren.
Waarbij de source code "goed" leesbaar moet zijn.
Mocht dan per ongeluk zo'n driver /software er tussen glippen, dan heeft Microsoft en de antivirus programma's tenminste al de bronbestanden om het te bestrijden en leren zo ook meer hoe de malware geprogrammeerd is.
Hoe bedoel je slap excuus? Volgens mij zijn dat gewoon de eerste uitkomsten van het onderzoek.
Zoek eens Wannacry eens op 🙂

Een prachtig stukje software dat oorspronkelijk onder toezicht van de NSA is ontwikkeld dat op windows werkt waarbij Microsoft (waarschijnlijk op verzoek) nooit de update heeft gepushed 🙂
De NSA heeft Wannacry helemaal niet ontwikkeld. Wel heeft de NSA de exploit EternalBlue ontwikkeld, de code daarvan is bij hackers in handen gekomen. Microsoft had gewoon updates gemaakt tegen deze exploit maar je weet hoe het patchbeleid bij sommige bedrijven (en ook particulieren) is.

Wat de NSA wel echt verweten kan worden dat de NSA dus niet Microsoft op de hoogte had gebracht van de exploit en deze zelf actief ging misbruiken voor eigen doeleinden. Anders was er al veel eerder een patch geweest van Microsoft.

[Reactie gewijzigd door Wildfire op 23 juli 2024 03:58]

Het doel van ondertekenen is onder andere dat we kunnen vertrouwen dat dit niet zomaar gebeurt. Microsoft geeft kennelijk op geen enkele manier aan waarom ze deze malware vertrouwde of wat ze verbeteren om dit in de toekomst te voorkomen. Dat klinkt niet als een betrouwbare oplossing om malware te voorkomen.
ze zeggen toch ook nergens dat ze al een oplossing hebben? ze zijn blijkbaar druk bezig met een onderzoek. als je het geduld al niet kun op brengen om dat onderzoek af te wachten word het inderdaad lastig voor MS om jou gerust te stellen. maar zo lang hun niet weten wat er mis is gegaan kunnen ze weinig anders zeggen dan wat ze nu gedaan hebben lijkt me
als je het geduld al niet kun op brengen om dat onderzoek af te wachten word het inderdaad lastig voor MS om jou gerust te stellen.
Moet @kodak daar weer vertrouwen in hebben dan? Ik vind het helemaal niet gek om een one-strike-out policy te hanteren bij dit soort zaken. Microsoft is een redelijk gevestigde orde dus je mag er vanuit gaan dat ze dit inmiddels in de vingers hebben, als dat - ondanks alle audits en certificeringen van overheden en ministeries - tóch niet zo blijkt te zijn dan zou ik niet weten waarom dat onderzoek relevant is voor klanten. Natuurlijk probeert Microsoft het imago te repareren (en het is niet alsof mensen nu ineens massaal overstappen), maar als je iets van risicomanagement voor het bedrijf doet dan zou dit dé reden zijn om aan een FOSS infrastructuur te beginnen waar je tevens zelf certificaatbeheer doet.
Dat ze nog geen duidelijk antwoord hebben is des te meer zorgelijk. We hebben het hier niet over zomaar wat signeren, er hangt nogal wat vertrouwen van af. Het is natuurlijk prettig dat ze van plan zijn om een keer meer duidelijkheid te verschaffen, maar dit is nu juist een beveiliging waar al vooraf en tijdens het keuren heel duidelijk moet zijn waarom ze iets goed of afkeuren. Daar horen ze al prima iets over te kunnen zeggen, tenzij ze dat eigenlijk niet kunnen of niet willen. Het lijkt hoe dan ook zelfs onduidelijk hoe Microsoft software keurt, wat ze vastleggen en wat niet. Terwijl miljoenen klanten er afhankelijk van zijn.
Het doel van ondertekenen is dat je weet waar de driver vandaan komt en de eigenaar verantwoordelijk kunt houden.
Het doel is zowel weten wie eigenaar is als zorgen voor integriteit. De integriteit is in twijfel getrokken doordat het niet doet wat een gebruiker mag verwachten, terwijl microsoft het eerst had goedgekeurd. De vraag is dus wat voor integriteit je mag verwachten als microsoft het eerst prima lijkt te vinden en vervolgens toch maar in trekt als een ander opmerkt dat de integriteit niet klopt.
Best een snelle respons te noemen vanuit MS
Er staat geen echte tijdslijn in het artikel, dus ik weet niet of je moet spreken van een snelle response.
Van vrijdag melding tot zondag erkenning lijkt natuurlijk erg snel maar is eigenlijk al 2 dagen te lang.

En als je kijkt naar de datum van wanneer het certificate is gesigned, dan heeft het enorm lang geduurt voordat dit ontdekt is. 3+ maanden.

Zowel Microsoft alsook die anti-virus leverancier moeten dus ook flink achter hun oren gaan krabben over hun detectie methodes, want die zuigen, 3+ maanden tot ontdekking is véél te veel.
Misschien moeten ze tot een gewenst gedrag (whitelisting) detectie methode over gaan in plaats van te proberen te voorspellen wat als een slecht gedrag gemarkeerd moet worden, en gewoon alles wat naast de pot piest markeren als slecht en onmiddelijk te blokkeren, zelfs or misschien juist extra als het een gesignde driver is.
Malware onderzoek duurt nu eenmaal lang, vooral als je naar iets zoekt dat een PE bestand moet vrijpleiten. Daar zie ik geen probleem in.

Het gebeurt vaker dat oudere (vaak zeldzame) malware wordt ontdenkt bij nadere beschouwing. Als het gesigneerd is, wordt er vaak niet verder handmatig naar gekeken door onderzoekers. Het zou te veel tijd kosten dat te doen. Het systeem is gebaseerd op vertrouwen in de signerende partij, in dit geval Microsoft. Dat vertrouwen heeft nu wel een deuk opgelopen.

Het is een rootkit en er is duidelijk sprake van misbruik door het plaatsen van eigen root certificaten. Dit had niet door Microsoft moeten worden gesigneerd. Ook is de vraag of het IP adres nu wel of niet door de Chinese overheid wordt gebruikt zoals G Data meldt als mogelijkheid.
De reactietijd gaat natuurlijk ook om hoe snel microsoft zelf door heeft dat de integriteit van software die ze goedkeuren toch niet blijkt te kloppen. En dan is 3 maanden, waarbij microsoft blijkbaar zelf geen, of gebrekkig, onderzoek heeft gedaan wel lang te noemen. Dat zijn ongeveer 324000 seconden waarop ieder moment het mis kon (blijven) gaan, per gebruiker.
Malware onderzoek is vrijwel volledig automatisch, alléén zaken die specifiek nader onderzoek behoeven worden gevlagd en doorgegeven aan een onderzoeksteam.
Ik weet dat ze bij McAfee een jaar of 10 terug nog meer dan duizend man hadden zitten die dedicated hiermee aan de gang waren.
Als je een sample opstuurde had je binnen 24 uur antwoord malicious of niet, ongeacht het type sample.
En indien malicious ook een superdat om het te verwijderen.
Dus het kan wel degelijk snel.

Inzake een rootkit, een rootkit heeft een bepaalde signatuur, er zijn maar een paar manieren waarmee een rootkit kan bestaan, dit moet dus vrijwel onmiddelijk uit analyze volgen en zou ook onmiddelijk tot een rode vlag moeten resulteren bij beiden.
Bij Microsoft natuurlijk omdat rootkits vrijwel zonder uitzondering malicious zijn en degenen die wel legitime rootkits maken zullen ongetwijeffeld alleen via een speciale procedure het signen kunnen aanvragen. Dus een dikke min voor Microsoft.

Voor G Data ook een dikke min. Een rootkit moet als zodanig onmiddelijk herkend worden en dan moet een persoon er naar gaan kijken. En hoewel de rootkit gesigned is door Microsoft zou vrijwel onmiddelijk op moeten vallen dat deze niet afkomstig is van een van de partijen waarvan je een rootkit zou verwachten, nog buiten het feit wat de rootkit al dan niet doet of potentieel kan doen, het feit rootkit moet zowieso alle alarmbellen doen laten rinkelen en zou zowieso moeten worden geblokkeerd.

En wie of wat een IP adres nu gebruikt is natuurlijk volledig irrelevant.
Het feit dat de rootkit deze functionaliteit heeft is méér dan voldoende reden om die te blokkeren.
De vraag is dan, hoeveel andere rootkit drivers hebben ze al ondertekend ?
Ik geef je een hint. Tom clancy s splintercell van Ubisoft en king kong. Zijn 2 games voor pc die starforce hebben als copyprotection. Een driver die zich nestelt in ring 0 van je Windows systeem eens de game is geïnstalleerd en de pc is opgestart. Die driver brengt cd en dvd writer op hol zo dat kopieëren zo goed als onmogelijk wordt. Dat was een echte Root kit die veel pc s naderaf lam legde met blue screens zodat een nieuwe installatie van Windows nodig was. Een losse tool was nodig om die starforce van je systeem af te gooien. Helaas bleven daar nog resten op je computer over.
Goed dat MS hier open over is en hopelijk leren ze er van.
Ik mis in de beschrijving wat nu het malware gedeelte is.
In het vorige bericht had ik gelezen over een cryptominer, maar hier alleen over dat het de gebruiker een voordeel geeft in games.

Dat lijkt me iets dat een persoon wilt hebben(goede software) in plaats van niet (malware)

Een ander voorbeeld van een rootkit achtige driver met een microsoft ondertekening is de cheat engine dbk64 driver (maar die driver is dan ook niet zomaar te gebruiken door andere applicaties)

[Reactie gewijzigd door scribly3 op 23 juli 2024 03:58]

Juist, zoals ik nu begrijp doet de driver precies wat aangegeven is en maakt hiervoor dus ook gebruik van chinese servers, een driver die dan ook van een chinese maker komt. Ook lijkt het er dus op dat het om iets gaat dat de gebruiker bewust installeert. Ik heb het idee dat het hier weer om media opgeklopte sensatie gaat.
Begrijp me goed. Dit is niet goed. Maar ben er van bewust dat Linux servers ook ooit eens gehacked zijn en packetten gesigned. (Gelukkig vonden ze het snel en ging alles in lockdown en fallback)

Waar mensen werken worden fouten gemaakt en geen 1 systeem is waterdicht!

[Reactie gewijzigd door rob12424 op 23 juli 2024 03:58]

Anoniem: 58485 27 juni 2021 14:45
Dit is toch niet zo vreemd verder? In app-stores heb je ook bergen met gratis apps of games die initieel van geen kwaad zijn. Op ten duur wordt het overgenomen of iets in die richting, en wordt er wel iets in of tussen gestopt wat de initieele intentie ineens anders maakt. In wordpress community gebeurd dit, in android en toestanden ook; in IOS iets minder omdat de audit daar een stuk strenger is, maar het kan.

Een driver voor hardware moet gewoon bij de root cause blijven; een wrapper tussen hard & software en meer ook niet. Geen toeters en bellen en callbacks naar buiten toe, puur alleen voor het kunnen draaien en aansturen van hardware.
Beetje jammer dat de "Netfilter" rootkit, dezelfde naam heeft gekregen als een groot en bekend Linux project genaamd Netfilter.
https://www.netfilter.org/
https://en.wikipedia.org/wiki/Netfilter
Netfilter is ook de naam van een SDK die je in Windows kunt gebruiken om netwerkverkeer te bouwen, parsen en te redirecten. Het zou me niks verbazen als de ze naam uit de voorbeeldcode gewoon hebben laten zitten.
Het GNU GPL NetFilter project bestond al in 1998, en heeft grote bekendheid.
Vervolgens komt iemand (ongerelateerd aan Microsoft) op het idee om in 2007 een project genaamd "Netfilter SDK" te starten. (Wat niet heel sympatiek is, om een vergelijkbare naam te nemen als dat van een ander software project.) Vervolgens wordt dat project gebruikt, om diverse PUAs en malware te schrijven.
https://www.microsoft.com...?Name=PUA:Win32/NetFilter
https://forums.malwarebyt...tersdk-and-asus-recovery/
https://www.superantispyw...files/NETFILTER2.SYS.html

De rootkit dropper heeft ook een driver met de naam netfilter2.sys, wat door die SDK gebruikt wordt als standaardnaam, en waarbij de SDK schrijver adviseert om de naam te veranderen. Dat heeft de rootkit schrijver inderaad niet gedaan.

Op dit item kan niet meer gereageerd worden.