Stuxnet; gesigneerde drivers


Waarom zijn de bestanden die stuxnet gebruikt gesigneerd?
De reden dat de makers van stuxnet deze methode gebruikt hebben is de volgende:
Binnen het Windows Operating system heb je verschillende niveau's van beveiliging.
De eerste laag bestaat uit de "Resources", de tweede het "Operating System" en de derde de "Software".
Omdat computers zeer complexe systemen zijn, zijn er op alle niveau's afspraken gemaakt om de communicatie tussen die niveau's goed te laten verlopen. Zo houdt de maker van jouw netwerkkaart zich aan bepaalde standaarden, evenals de maker van jouw Operating System dat doet, en zo ook de schrijvers van software.
Software kun je vergelijken met alles wat je op je beeld ziet, dit word vertaald naar duidelijke overzichtelijke plaatjes en begrijpbare tekens. Deze vertaal slag word door de software gemaakt. Als je bepaalde informatie over het besturings systeem wilt weten, dan doe je dit met "system calls". Een System call geeft je de informatie terug en het is aan de software deze naar gebruikelijke taal te vertalen. Ben je nu een kwade partij, dan kan je zelf deze informatie natuurlijk makkelijk veranderen en iets op het scherm tonen wat voor jou gunstig is. Op deze manier werkt zogenaamde "scareware". Deze 'vind' virussen op je computer, die er helemaal niet zijn.

Een makkelijke manier om gebruikers om de tuin te lijden dus, aangezien veel mensen alle software op internet vertrouwen. Echter is het natuurlijk voor dit soort dingen erg makkelijk deze problemen op te lossen, aangezien het ook weer vrij makkelijk is op internet software te vinden welke 'vertrouwd' is, en welke je wel de juiste informatie zal geven.
Nu zijn er virus schrijvers die een niveau verder gaan. De volgende stap word natuurlijk de system calls van te voren de verkeerde informatie door laten geven, zodat ook de software die word gebruikt door de 'vertrouwde' partijen verkeerde informatie weer geeft. Een actie als deze kan alleen als je het besturings systeem manipuleerd. En om het besturings systeem te kunnen manipuleren moet je in de laag van het Operating System actief zijn. Alle verschillende device drivers zijn actief binnen deze laag. Zij hebben dus het provilege om het besturings systeem te mogen manipuleren. Dit mogen ze niet officieel natuurlijk, maar dit doen zij stiekem en zonder dat het operating systeem dit door heeft.
Bovenstaande methode word al enkele jaren succesvol gebruikt door hackers. Om die reden is Microsoft bezig geweest met het actief tegen gaan van deze problemen. Binnen Windows XP heeft het een beveiliging ingebouwd met driver signing. Daarbij worden de meeste 'bekende' drivers getest op virussen en het certificaat 'veilig' opgeplakt. Wanneer een driver door Windwos gebruikt word welke niet over dit certificaat beschikt zal Windows een melding hiervan geven! Op dat moment ben je dus gewaarschuwd. Wanneer Windows de melding geeft dat de driver gesigned is zou je er vanuit moeten kunnen gaan dat de driver vrij van virussen is.
Binnen Windows XP werden unsigned drivers nog gedoogd, bij Windows 7 worden unsigned driver niet meer geaccepteerd.
Aangezien het stuxnet virus als target SCADA systemen heeft welke het besturings systeem windows draaien is deze driver signing van groot belang geweest om de ontdekking van het virus zo lang mogelijk uit te stellen.
De makers van stuxnet hebben het voor elkaar gekregen om deze drivers gesigned te krijgen. En dus gaat windows ervanuit dat deze software vrij is van virussen, wat dus niet het geval bleek te zijn. Het is zeer moeilijk om een dergelijke signing voor elkaar te krijgen, en dit is ook nog niet eerder voorgekomen. In feite kun je zeggen dat het onmogelijk is voor 'normale' burgers dit voor elkaar te krijgen. Alleen zeer hoog geplaatste personen binnen microsoft of grote bekende hardware fabrikanten zouden hier toegang toe kunnen hebben.
De Makers van stuxnet is het dus wel gelukt.