Dat vertelt Bruce Dang, Security Software Engineer bij Microsoft, aan een overvolle zaal met hackers op het Chaos Communication Congres in Berlijn. Hij onderzocht Stuxnet om daarmee de zwakheden in Windows te ontdekken.

Agnostisch voor Windows-versie

Bij het onderzoek ontstond al snel verbazing, omdat Dang werkte met een Windows XP-machine terwijl zijn collega in Duitsland Windows 7 gebruikte. Ofschoon er grote verschillen tussen beide edities van het besturingssysteem bestaan en het dus onlogisch is dat ze allebei kwetsbaar zijn, hadden beiden toch last van Stuxnet.

Na wat zoeken werd duidelijk dat er een nieuw lek in Windows zat dat misbruik maakt van de scheduler. Omdat de werking op Windows 7 en Windows XP echt verschillend is, bleek de code in staat onderscheid te maken tussen de twee platformen. Vervolgens werden verschillende zwakheden misbruikt.

Vijf zwakheden, waarvan vier nieuwe

Maar het oplossen van dat probleem bleek niet meteen de oplossing voor Stuxnet. Alsnog bleek de malware in staat om computers te infecteren.“We begrepen op een gegeven moment niet waarom Stuxnet actief kon blijven", zegt Dang. "Maar de code bleek op zoek te blijven naar gaten open stonden."

Als voorbeeld noemt hij de mogelijkheid om bij Windows XP de printerserver te vragen om te printen naar een bestand. Stuxnet gebruikt dat om te schrijven naar een zogenoemd .mof-bestand dat vervolgens executable is. In een bepaalde directory blijkt het bestand vervolgens automatisch te worden uitgevoerd.

Uiteindelijk bleek Stuxnet vijf lekken te misbruiken, waarvan er vier nieuw waren en dus gelden als zero day lekken. Van de 1Mb die Stuxnet groot was, schat Dang dat 300-400Kb gebruikt werd voor het misbruiken van de lekken en om de kwaadaardige code op de machine te krijgen.

Decompileren

Tijdens het onderzoek stuitte Dang op diverse bestanden, waarvan er één bestand was dat uitvoerbaar was. Dit werd door hem uiteindelijk omgezet in leesbare code, gedecompileerd, waardoor hij de precieze werking kon achterhalen. Dit lukte en de programmatuur was om te zetten naar leesbare C-code. “Dat is bijzonder, omdat we gewoonlijk zien dat malware vooral in de vorm van scripts bestaat.”

Inmiddels zijn de lekken gedicht en is Dang ervan overtuigd dat alle zwakheden zijn gevonden. Hij wil niet ingaan op vragen over zijn vermoedens wat betreft de daders. In ieder geval is hij ervan overtuigd dat meerdere programmeurs aan de malware hebben gewerkt.