dinsdag 28 september 2010

Stuxnet: Criminelen of een land? Sowieso mislukt!

Sowieso kan er 1 conclusie getrokken worden over deze worm.
Hij is mislukt!
Waarom? Omdat hij ontdekt is. De geruchten doen de ronde dat hij wel succesvol is geweest, omdat hij zijn 'taken' al heeft uitgevoerd. Maar ten tijden van oorlog is het nog altijd: "Hit & Run". Taak 1: Hit is dan misschien gelukt, maar taak 2 is duidelijk niet gelukt. Stuxnet is zich blijven versprijden en zo uiteindelijk ontdekt.
Geen enkele crimineel of land dat criminele acties onderneemt (en dat is gelijk de overeenkomst) wil ontdekt worden. Wanneer je ontdekt wordt is het enige wat je doet de kans op ontdekking vergroten.
In de stuxnet software zelf is rekening gehouden hiermee. Er is een mechanisme ingebouwt om zichzelf te verwijderen. Deze is echt nooit gebruikt. Waarom niet?
Wat bekend is, is dat de Command en Control servers offline zijn gehaalt ergens in 2009. Waarom?
Werd het de criminelen te heet onder de voeten? Ze moeten geweten hebben dat het offline halen van deze servers zou betekenen dat zij de controle over dit virus zullen verliezen.
Nu zullen sommige verwijzen naar het de P2P functie van de stuxnet software. Dat klopt. Maar deze zal enkel instaat zijn geweest een groot gedeelte van de software te verwijderen maar nooit alle. Waarom niet alle? Stuxnet is vooral geprogrammeerd om zichzelf te verspreiden via USB sticks. Hij vermenigvuldigd zich naar de root van USB-sticks en probeert vanuit daar weer andere systemen te infecteren. Iedereen die zich een aanvals vector inbeeld waarbij USB sticks als primair verspreidings middel worden gebruikt weet dat dit niet de snelste manier is. USB sticks worden nogal eens op een kastje neer gelegd, USB sticks worden nog al eens verloren, en USB sticks worden al helemaal niet regelmatig gebruikt.
Goed, bij een verspreiding van deze omvang moeten de ontwikkelaars van deze software dit zich absoluut gerealiseerd hebben. En zij moeten zich ook gerealiseerd hebben dat het offline halen van de command en control servers hun uiteindelijke ontdekking zou betekenen.
Dit word nog duidelijker versterkt door het feit dat ten tijde van het offline halen van de command en control servers de 4 verspreidings technieken nog steeds niet ontdekt waren door microsoft en het virus zich dus ook nog actief zou vermenigvuldigen.

Welke conclusies we hieruit kunnen trekken vind ik moeilijk te zeggen. Duidelijk is dat de personen aan het hoofd van dit project risico's hebben genomen!
Zeer grote risico's en misschien wel voor een land onaanvaardbaar hoge risico's.
- Het is mogelijk dat een projectleider onder druk heeft gestaan en daardoor risico's heeft genomen.
- Het kan zijn dat een kritieke tijds druk op het project heeft gestaan, en daardoor risico's zijn genomen.
- Het kan zijn dat een project leider de risico's te laag heeft ingeschat, of niet goed duidelijk gemaakt aan de leiding.

Immers, wat als er duidelijk een land aangewezen kan worden als schuldige?

Het opdoeken van de Command and Control servers was uiteraard het laatste zeer duidelijke spoor dat tot de daders geleid zou kunnen hebben. Nu zou het niet zo zeer zijn dat aan het einde van het ip adres iemand gearresteerd zou kunnen worden, maar het zou in ieder geval aanknopings punten kunnen bieden om dichter bij een dader te komen. Wellicht waren er keurig videobeelden beschikbaar van deze criminelen, zoals dat was bij "De Mossad moordaanslag in Dubai". Overigens geeft deze laatste aanslag aan dat Isreal bereid is risico's te nemen.

Stuxnet: Doelstelling

Stuxnet heeft duidelijk één opvallend 'aparte' functie ingebouwd. En dat is dat het over de mogelijkheid beschikt Siemens' WinCC/PCS 7 SCADA systemen te herprogrammeren. Een dergelijke feature binnen een virus is nog nooit eerder gezien, en het biedt ook geen extra functionaliteit die nuttig zou zijn voor alle hedendaags bekende virussen.
De software word alleen gebruikt voor zeer geavanceerde fabrieks systemen.
Het is een stukje software dat zéér geavanceerd is, en alleen in bijzondere omstandigheden zal een programmeur met deze software in contact komen.
Deze Siemens' WinCC/PCS 7 SCADA fabrieks systemen laten zich alleen programmeren door te communiceren via een data kabel welke aangesloten kan worden op een laptop + de bijbehorende software en op het geheugen van de Siemens' WinCC/PCS 7 SCADA systemen. Zonder deze software is het onmogelijk deze systemen te herprogrammeren of aan te passen.
Dit moeten de makers geweten hebben. En het loont de moeite op geen enkele manier om deze software in te bouwen 'just in case'. Dit moet het hoofd doel geweest zijn.
Het in bezit hebben / controle hebben over de Siemens' WinCC/PCS 7 SCADA kan van geen enkel nut zijn, anders dan het saboteren van deze systemen. Voor andere doeleinden zijn deze systemen niet te gebruiken.

Andere delen waaruit de stuxnet software bestaat zijn een rootkit gedeelte voor de Windows PC's, P2P Verspreiding, 4 0-day lekken, en een Command & Control server communicatie mechanisme.

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.