Kwaadwillenden gebruiken gestolen Nvidia-certificaten om malware te verspreiden

Beveiligingsonderzoekers hebben ontdekt dat twee gestolen drivercertificaten van Nvidia gebruikt zijn om malware te verspreiden. De certificaten zijn verlopen, maar kunnen in Windows nog steeds gebruikt worden om drivers te installeren. Zo kan malware legitiem lijken.

Het gebruik van de certificaten werd opgemerkt door beveiligingsonderzoekers Florian Roth, Kevin Beaumont en Will Dormann. De certificaten kwamen een week geleden op straat te liggen als onderdeel van datadiefstal bij Nvidia, waarbij een criminele ransomwarebende 1TB data van Nvidia stal en online zette toen Nvidia niet met de bende wilde onderhandelen. Bij die dump werden ook onder meer de broncode van Nvidia DLSS en de codenamen van verschillende aankomende gpu's van Nvidia online gezet.

De certificaten worden door Nvidia gebruikt voor het signeren van executables en drivers in Windows, om de oorsprong van een exe of driver vast te stellen. Dit moet voorkomen dat nepdrivers of malware uitgevoerd kunnen worden op een Windows-pc. Volgens de onderzoekers zijn de certificaten misbruikt om malware en hackertools te ondertekenen. Het gaat in ieder geval om mimikatz.exe en hamakaze.exe, is te lezen op VirusTotal. Mimikatz is een suite van hackingtools en wordt onder meer gebruikt voor het uitlezen van onbeveiligde wachtwoorden en andere credentials. Hamakaze.exe, ook bekend als KDU, is een trojan.

De certificaten worden ook misbruikt voor het certificeren van een Quasar-remoteaccesstrojan en een Windows-driver, schrijft Bleeping Computer. De twee certificaten zijn al sinds 2014 verlopen, maar in Windows is het nog steeds mogelijk om een driver te ondertekenen met de certificaten. Daardoor kunnen ze in Windows misbruikt worden om een uitvoerbestand of driver legitiem te laten lijken; het ziet er immers uit als een Nvidia-driver of -programma.

Vooralsnog zijn de certificaten nog niet op de lijst beland van teruggetrokken certificaten in Windows, maar het is wel mogelijk om in Windows Defender Application Control in te stellen welke Nvidia-drivers wel en niet ingeladen mogen worden op een systeem, schrijft David Weston van Microsoft op Twitter.

Door Stephan Vegelien

Redacteur

07-03-2022 • 10:11

30

Submitter: Dannyvrf

Reacties (30)

30
30
19
3
1
10
Wijzig sortering
Hebben ze bij Microsoft nog nooit gehoord van Certificate Revocation List?
Daarnaast... WTF "De twee certificaten zijn al sinds 2014 verlopen"
Die zijn niet "net" verlopen, maar waren al verlopen VOORDAT Windows 10 werd gereleased.
Als je certificaten niet managed, kan je ze beter niet gebruiken, want dat levert alleen maar schijn veiligheid.
Ook raar van nVIdia dat de private keys van die certificaten kennelijk nog steeds niet zijn vernietigd...
Ik ken het Microsoft code signing systeem (Authenticode); ik heb het professioneel gebruikt. Mijn installer is ~200 miljoen keer gerund. Dus ik heb me er destijds wel in verdiept.

De fout die jij maakt is dat je de datum van installatie (nu) verwart met de datum waarop de installer ondertekend is. Microsoft controleert inderdaad of een certificate geldig is op de bijbehorende datum, maar dat is de datum van ondertekening. En die datum van ondertekening is zelf ook beveiligd door die handtekening.

Dat is ook wel logisch. De benodigde Authenticode certificaten hebben een maximale geldigheid van 12 maanden, en dat is vanaf het moment dat de certificaten zelf gemaakt zijn. Die kunnen dus goed 11 manden later gebruikt worden om een driver te ondertekenen. Dan is het dus niet zo dat die driver een maand later oninstalleerbaar is.

Je roept verontwaardigd dat de certificaten "al verlopen waren voordat Windows 10 gereleased werd". Dat geeft ook aan dat je niet weet hoe Windows drivers werken. Het Kernel Mode Driver Framework (KMDF) dateert uit Windows XP. Er is geen fundamentele reden waarom Windows 10 elke driver uit XP zou weigeren, laat staan uit Windows 7. Daarom moet Win10 dus certificaten uit 2014 accepteren.

De CRL is wél relevant - maar ook daar ben je weer suggestief bezig door te doen alsof Microsoft daar nooit van gehoord heeft.
Zoals je in het nieuws van bleepingcomputer.com kan lezen is er momenteel slechts de hoop dat microsoft de certificaten gaat toevoegen aan hun certificat revocation list. Daarbij tweet David Weston, director of enterprise and OS security at Microsoft, dat gebruikers maar een wdac policy moeten aanmaken.

Het probleem is dat de microsoft signing alleen betrouwbaar genoeg is als alles goed werkt. Dat verlopen certificaten na jaren nog gebruikt kunnen worden omdat een bedrijf ze niet vernietigd, dat microsoft zeer traag is in revocation, en er geen grondige controles zijn om de negatieve gevolgen van blunders op tijd te ontdekken en op tijd te stoppen toont nu in de praktijk aan dat het niet gemaakt en niet betrouwbaar is voor dit soort ernstige problemen.
Het probleem is dat de microsoft signing alleen betrouwbaar genoeg is als alles goed werkt.
Zelfs met secure boot laat Microsoft steekjes vallen. Zo heeft Microsoft wel eens bootloaders ondertekend die het draaien van unsigned code toestaan (zonder tussenkomst van de gebruiker). Zo biedt Secure Boot ook geen bescherming. :|

[Reactie gewijzigd door The Zep Man op 24 juli 2024 08:48]

dat was ook wat ik dacht, maar mogelijk heeft het te maken met het kunnen gebruiken van oude hardware, welke anders niet aan de praat te krijgen is, zonder driver.
Daarvoor heb je zogenoemde Timestamp Servers (RFC3161) waarbij de tijd waarop de code ondertekent is leidend is voor of de ondertekende code geaccepteerd wordt. Als de code dus is ondertekend vóórdat het certificaat is verlopen, zal de code zelf nog geldig zijn, ook al is het certificaat dat niet. Als de code is ondertekent nádat het certificaat is verlopen, is de code dus niet meer geldig. Is er geen gebruik gemaakt van een RFC3161-server tijdens het ondertekenen, dan is de code niet meer geldig als het certificaat dat ook niet meer is, ook al is de code ondertekent vóórdat het certificaat verliep.

M.b.t. de CRL waar @GarBaGe het over heeft: Dat is niet van toepassing als een certificaat verloopt. Een certificaat verloopt gewoon en dan is het niet meer geldig. Een CRL gebruik je wanneer het certificaat niet meer betrouwbaar is. In dit geval zullen ze dus wél de CRL kunnen gebruiken, maar in feite zou code dat nu ondertekent wordt door een verlopen certificaat sowieso niet geldig moeten zijn. Als dat wel zo is dan is dat een implementatiefout die verholpen moet worden.
Waarom staat dit niet in DE blockchain }>
Begrijp ik hieruit dat je voor oude(re) computers een driver zou kunnen maken met een nep-datum voor een videokaart, dat een digitale handtekening meegeven zodat het legitiem lijkt en zonder mopperen installeert als het een PC is die geen internetverbinding heeft, of nog niet heeft (en dus de toen geldende geldige certificaten bij de installatie van Windows meekreeg)?

Ofwel: Ik download eerst de benodigde drivers voor alle oude hardware die in een PC zit, installeer vervolgens een frisse Windows, installeer de gehackte driver met geldig certificaat, ga vervolgens online en kom dan nooit te weten dat de PC in een botnet zit?
Nou vraag ik me dat ook af van de drivers die standaard in Windows zitten.

Daar zitten ook oudere drivers bij waarbij het maar afvragen is of die certificering ook nog wel up-to-date is.

Het zou me niet verbazen als het een gevalletje if it ain’t brok don’t fix is en dat niemand het ooit serieus heeft geadresseerd.
Er zit heel wat oud spul in Windows 10. Ik hobby met (virtuele) tape devices. Als ik een virtuele LTO-3 Ultrium tape drive aan Windows-10 presenteer dan wordt die gewoon herkend. Windows laadt een driver van Microsoft zelf, versie 10.0.19041.1, maar de driver date is 6/21/2006.
Windows update/source heeft bewust oudere datums op (soms vaak nieuwe) drivers.
Dat is bewust. Dit zorgt ervoor dat als je Windows installeert de apparatuur in ieder geval werkt en dat drivers van een fabrikant ALTIJD de defautl drivers van Windows overrulen, omdat die drivers altijd een nieuwere datum hebben dan degene die Microsoft aanbiedt vanaf de store.

https://www.windowslatest...er-updates-are-backdated/
"Het ziet eruit als" wil niet zeggen dat je geen waarschuwing krijgt dat het certificate verlopen is.
Maar zoals met alles bij de meeste gebruikers van software lezen mensen niet wat er op het scherm staat en klikken ze ergens om van de melding af te komen.

En ja, je kan natuurlijk een executable signen met een certificate dat al 100 jaar terug verlopen was als je de boel forceert. Er is niets in userland dat een hacker tegenhoudt om iets te doen met de software als ze die zelf schrijven.

Dit toont ook weer eens aan dat het hele gebeuren rondom certificates eigenlijk een wassen neus is die weinig tot geen waarde toevoegd, nu is het een NVidia certificate vanmiddag een andere, het is lopende band werk. 99.99% van de mensen kijken nergens naar en klikken alles weg.
Hackers bouwen zelfs instructies in die zeggen "als je dit ziet, klik dan op dat knopje" om het lastige dialoogje weg te krijgen.

[Reactie gewijzigd door Alfa1970 op 24 juli 2024 08:48]

Het is mijns inziens ook niet helemaal onlogisch dat 'de gebruiker' dialogen achteloos wegklikt. We zijn er, zeker na een paar jaar met de huidige cookie wetgeving, helemaal geconditioneerd in geraakt.

Circa 98% van alle dialoogjes zijn overbodige onzin die achteloos weg geklikt kunnen worden. Het is dan niet vreemd dat het bij die overige 2% dan ook vaak gebeurt.
Dat is zeker een factor, het probleem is dat de computer een dom ding is en geen onderscheid kan maken tussen "verdachte" of "slechte" software en ook niet voor je kan beslissen of je het ergens mee eens bent of niet, een dialoog om je erom te vragen is dan het meest voor de hand liggende.
De "cookie" wetgeving draagt zeker niet bij en is een ander voorbeeld van slecht doordacht overheids ingrijpen ingegeven door de lobbyisten zonder kennis van zaken die overheids functionarisen, die helemaal nergens verstand van hebben, adviseren..
De "cookie" wetgeving draagt banners dragen zeker niet bij en iszijn een ander voorbeeld van slecht doordacht overheids ingrijpen een gecalculeerde strategie van de advertentie-industrie om de rand van het toelaatbare op te zoeken ingegeven door de lobbyisten zonder kennis van zaken die overheids functionarisen, die helemaal nergens verstand van hebben, adviseren industrie-prominenten die niet gehinderd worden door enige vorm van moreel besef..
FTFY

[Reactie gewijzigd door R4gnax op 24 juli 2024 08:48]

Je kan goed tussen de regels doorlezen :), ik zeg hetzelfde, alleen een beetje beleefder.
Er zit een wezenlijk verschil tussen de wetgeving zelf die slecht is; en de uitwerking ervan omdat de industrie er eigenlijk niet aan wil voldoen, en op het randje gaat zitten van wat er technisch nog neee---t mag.

En er vaak ook gewoon overheen gaat. Het bij herhaling blijven vragen om toestemming etc. via popups valt onder aggressieve handelspraktijken en is bijv. ook gewoon verboden.

Adequate handhaving is waar het aan ontbreekt.

[Reactie gewijzigd door R4gnax op 24 juli 2024 08:48]

Als het zo makkelijk was zonder hevige impact hadden ze dat natuurlijk wel gedaan, ze zijn absoluut niet op hun achterhoofd gevallen bij MS.
Klopt, maar je moet ook rekening houden met oudere systemen die nu nog steeds de oudere drivers moeten kunnen inlezen. Als het goed is krijg je wel een extra melding.
Zou ook wel vervelend zijn als je als developer oude software na het verlopen van een certificaat opnieuw moet ondertekenen om uberhaupt te kunnen runnen.
De vraag is hoever terug je wilt gaan. In het geval van nvidia drivers zijn deze dus na 2014 uitgekomen.
Je zou kunnen zeggen dat je dus vanaf Windows 10 20H1 deze drivers niet meer gaat ondersteunen. Voornamelijk omdat de videokaarten die van 2014 zijn het ook nog doen met de nieuwere drivers van nvidia. De oudere driver is dan alleen nog nodig voor de vorige generatie van Windows (van voor de driverkernel change). Die versies van windows geef je de update niet om de driver helemaal te blokkeren. Nieuwere versies van Windows blokkeren dan de drivers ondertekend met het oudere certificaat volledig en dan moet je een driver installeren van 2015 of later.
Dat kan inderdaad als een speciale regel in een Windows 10 update, maar het is eenvoudiger om dit te doen via Certificate Revocation. Dat werkt voor alle nog ondersteunde Windows versies. (en ook nog voor een paar oudere versies)
Ik dacht dat als je drivers signed ook de datum en tijd van het signen werd meegenomen. Dat je bijvoorbeeld nog wel een driver kan signen met een verlopen certificaat maar omdat het certificaat verlopen is, de driver niet meer geaccepteerd wordt. De drivers die werden gesigned toen de certificaat nog geldig was, is dan nog wel geldig.

Heel slecht dat dit nog wel kan...
Ik dacht dat als je drivers signed ook de datum en tijd van het signen werd meegenomen. Dat je bijvoorbeeld nog wel een driver kan signen met een verlopen certificaat maar omdat het certificaat verlopen is, de driver niet meer geaccepteerd wordt. De drivers die werden gesigned toen de certificaat nog geldig was, is dan nog wel geldig.
Zo zou het ook moeten werken, mits ten eerste Nvidia netjes van een trusted timestamp server gebruik heeft gemaakt om de signing time af te stemmen; en ten tweede Microsoft de verificatie van signing time met timestamp server ook in hun systeem mee geimplementeerd heeft.

Beiden zijn vziw nog een groot vet vraagteken op het moment.
Nee, daar zijn niet zo heel veel vraagtekens bij. De signing technologie is Authenticode, en die maakt gebruik van PKCS #7 countersignatures voor de timestamp signing.

Of NVidia gebruik maakt van een trusted timestamp server zoals http://timestamp.verisign.com/scripts/timstamp.dll maakt niet zoveel uit - die gebruik je tijdens het signen. In dit geval gebeurt het signen door de hackers, niet door NVidia. De enige vraag is dus of Microsoft correct checkt dat er een 2014 certificate met een 2022 timestamp gecombineerd is - dát is het echte probleem.
Thanks voor de verduidelijking @MSalters. Dat was het stukje wat, in elk geval bij mij, nog ontbrak om e.e.a. sluitend te krijgen. Resterende vraagstuk blijft dus idd. of MS actief checkt op die datum mismatch of niet. Zo niet; lijkt me dat ze dat nog snel genoeg in gebouwd moeten kunnen krijgen. En als ze het op die manier idd goed doen, zouden de valide reeds gesigneerde oude drivers dus ook gewoon moeten blijven werken en enkel de malafide zooi afgeserveerd moeten worden.

[Reactie gewijzigd door R4gnax op 24 juli 2024 08:48]

Sowieso ga ik de volgende driver update ronde van nVidia even overslaan. Het is duidelijk dat ze na de hack toch fors gecompromiteerd zijn (al doen ze uiteraard of er niks aan het handje is). Je moet je toch niet voorstellen dat dadelijk de nieuwe drivers een soort van malware bevatten.
Je zou toch denken dat elk bedrijf van een beetje formaat HSMs gebruikt om te ondertekenen. Als je heel paranoide bent zelfs met een air gapped systeem.
Zo paranoïde is dat niet. Toen ik nog installers bouwde, lag de sleutel in een kluis bij de collega. Daar had ik zelf geen toegang toe.
Misschien dat daarom dus het hier nog om hele oude certificaten gaat?

Op dit item kan niet meer gereageerd worden.