image

"Gratis Windows-lek voor de NSA"

donderdag 19 januari 2012, 11:50 door Redactie, 8 reacties

Beveiligingsonderzoeker Cesar Cerrudo heeft een nieuw probleem met Windows 7 en Windows 2008 ontdekt, dat hij een "gratis Windows-lek voor de NSA" noemt. Het probleem doet zich bij sommige installatieprogramma's voor en zorgt ervoor dat sommige installers hun rechten verhogen en systeemrechten krijgen, ongeachte welke gebruiker de installatie uitvoert. "Aangezien de applicaties al geïnstalleerd zijn, zou er in theorie geen probleem moeten zijn", merkt Cerrudo op.

Er doet zich echter tijdens het installatieproces een interessant probleem voor. Er wordt namelijk een tijdelijk bestand in de tijdelijke map van de ingelogde gebruiker aangemaakt. Dit DLL-bestand wordt later door het msiexec.exe proces geladen, wat met systeemrechten draait. De code in het DLL-bestand wordt dus met volledige systeemrechten uitgevoerd. Door het vervangen van het originele DLL-bestand zou elke gebruiker code met systeemrechten kunnen uitvoeren.

Volgens Cerrudo is het probleem niet eenvoudig te misbruiken, aangezien het msiexec.exe proces een MD5 hash van het DLL-bestand genereert en met de hash van een bestand in C:\Windows\Installer\ vergelijkt, dat alleen lees- en schrijfbaar is voor Systeem en Administrators accounts.

Inlichtingendiensten
"Het probleem is dat dit geen eenvoudige aanval is, het is een aanval op het MD5 hashing algoritme, waar nog geen praktische aanvallen voor bestaan waar ik van weet", merkt de onderzoeker op. Het zou voor een doorsnee aanvaller onmogelijk zijn om een bestand met dezelfde MD5 hash als het bestaande DLL-bestand te genereren.

"De reden voor de titel van dit bericht, komt van het feit dat inlichtingendiensten, die bekend staan om hun technologieën en mogelijkheden om te kaken, waarschijnlijk deze aanval kunnen uitvoeren en een zero-day exploit voor Windows kunnen bouwen om hun rechten te verhogen." Cerrudo weet niet of Microsoft nog steeds MD5 gebruikt.

Reacties (8)
19-01-2012, 12:14 door Anoniem
Het vinden van twee bestanden met dezelfde MD5 is nog altijd veel makkelijker dan een MD5 match vinden voor een bepaalde gekozen DLL. Wat natuurlijk niet betekent dat voor nieuwe software MD5 gebruikt moet worden :-)

Verder is Windows (en alle andere OSsen) zo lek als wat. Dus dat is efficiënter om aan te vallen. Reken maar dat de NSA exploits heeft die pas over een half jaar gepatched worden door Microsoft! Als ze deze kwetsbaarheden al delen met Redmond.
19-01-2012, 13:13 door Bitwiper
Hoezo NSA?

In nov. 2007 waren Marc Stevens, Arjen K. Lenstra en Benne de Weger al in staat om binnen 2 dagen met 1 Playstation 3 verschillende executables te maken met dezelfde md5 checksum (zie http://www.win.tue.nl/hashclash/SoftIntCodeSign/). Md5 is gebroken, daar kan en mag je nooit meer op vertrouwen.

Gegeven het feit dat Windows binaries gewoon blijven werken als je er elk gewenst aantal bytes achter plakt maakt zo'n aanval een stuk makkelijker (maar ik weet niet of Microsoft Installer de lengte van het bestand checkt).

By design is het een slecht idee om, met een privileged (system) account, user writable code uit te voeren. Als het je lukt om na de hash of signature check, en voor code wordt geladen om deze uite te voeren, de code te manipuleren, dan helpt zelfs SHA512 je niet.

Vergelijkbaar, veel virusscanners slaan updates, waaronder code, op ergens in de "All Users\Application Data\" map en updaten vanaf die plaats - een onnodig risico op privilege escalations.
19-01-2012, 13:52 door Anoniem
Door Bitwiper: Hoezo NSA?

In nov. 2007 waren Marc Stevens, Arjen K. Lenstra en Benne de Weger al in staat om binnen 2 dagen met 1 Playstation 3 verschillende executables te maken met dezelfde md5 checksum (zie http://www.win.tue.nl/hashclash/SoftIntCodeSign/). Md5 is gebroken, daar kan en mag je nooit meer op vertrouwen.
(...)

MD5 is inderdaad zo stuk, maar nog niet zo stuk dat je zelf de MD5 van een bestand kan bepalen (preimage attack). Je kan wel door te padden twee bestanden maken met dezelfde md5sum maar dat is niet bruikbaar bij deze kwetsbaarheid.
19-01-2012, 15:49 door Bitwiper
Door Anoniem: Je kan wel door te padden twee bestanden maken met dezelfde md5sum maar dat is niet bruikbaar bij deze kwetsbaarheid.
Waar baseer je op dat padding niet bruikbaar is bij deze kwetsbaarheid (misschien heb ik ergens overheen gekeken)?
19-01-2012, 20:14 door Anoniem
Door Bitwiper:
Door Anoniem: Je kan wel door te padden twee bestanden maken met dezelfde md5sum maar dat is niet bruikbaar bij deze kwetsbaarheid.
Waar baseer je op dat padding niet bruikbaar is bij deze kwetsbaarheid (misschien heb ik ergens overheen gekeken)?
Ik ben een andere Anoniem, maar als ik het goed begrepen heb is er een whitelist van md5-waarden en moet je om deze kwetsbaarheid te misbruiken dus een DLL maken met een md5 die op de whitelist staat. Een preimage attack dus. Volgens het wikipedia-artikel over md5 (http://en.wikipedia.org/wiki/MD5#Preimage_vulnerability) heeft die een complexiteit van ongeveer 123 bits. Dat is al een stuk minder dan de 128 bits van md5, maar nog steeds veel te complex voor een praktische aanval.

De aanval die er tot nu toe is op md5 is een collision, waarbij je door slim te padden snel twee bestanden kan krijgen die dezelfde md5sum hebben. Je kan echter niet bepalen wat die md5 waarde wordt of die van tevoren voorspellen.

Best een leuke kwetsbaarheid hoor, maar onnodig gehyped imho. Als de NSA de capability heeft om een preimage attack op md5 te doen kunnen ze vast wel toffere dingen verzinnen om ermee te doen :)
20-01-2012, 10:03 door Anoniem
Door Bitwiper:
Door Anoniem: Je kan wel door te padden twee bestanden maken met dezelfde md5sum maar dat is niet bruikbaar bij deze kwetsbaarheid.
Waar baseer je op dat padding niet bruikbaar is bij deze kwetsbaarheid (misschien heb ik ergens overheen gekeken)?

"It is important to note that the hash value shared by the two different files is a result of the collision construction process. We cannot target a given hash value, and produce a (meaningful) input bit string hashing to that given value. In cryptographic terms: our attack is an attack on collision resistance, not on preimage or second preimage resistance. This implies that both colliding files have to be specially prepared by the attacker, before they are published on a download site or presented for signing by a code signing scheme. Existing files with a known hash that have not been prepared in this way are not vulnerable. "
20-01-2012, 11:08 door Anoniem

Cerrudo weet niet of Microsoft nog steeds MD5 gebruikt.

En dat noemt zich onderzoeker.
20-01-2012, 11:09 door Anoniem
Werkt dit ook remote? Zo niet, dan kan de NSA er zowieso wel bij.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.