Beveiligingsaspecten van een computersysteem. [Deel 2]

Net nadat ik een artikel had geschreven over diverse beveiligingsaspecten van een computersysteem bereikte mij het nieuws dat Amerika heeft toegegeven dat de WORM Stuxnet is ontwikkeld door de Amerikaanse overheid in samenwerking met Israël. Dit soort berichtgeving is mijns inziens bijzonder raar en kan ik op dit moment ook niet omvatten. Ik zal allereerst uitleggen wat Stuxnet precies is en waarvoor deze WORM is ontwikkeld.

Stuxnet is een WORM die is ontwikkeld om industriële computersystemen (SCADA systemen) te manipuleren. Om nog specifieker te zijn; Stuxnet is speciaal gemaakt voor industriële machines die in Iran uranium verreiken. De WORM zorgde ervoor dat de centrifuges die het uranium verreikte teveel toeren gingen draaien, gevolg was dat de centrifuges werden ontregeld waardoor de productie van uranium werd gestagneerd.

In de media wordt beschreven dat Amerika en Israël deze WORM samen hebben ontwikkeld met als doel om de productie van uranium te saboteren. De WORM is geschreven zodat deze ( zoals in eerste instantie bedoeld was) alleen systemen in Iran aanvallen. Echter is de WORM op een dermate manier geschreven dat het ontsnapte uit de fabriek waardoor het verder werd gedistribueerd via het World Wide Web. Doordat de WORM zich verder verspreiden via het internet kon het worden gedetecteerd door beveiligingsbedrijven als Symantec.

Symantec heeft de broncode proberen te achterhalen waardoor de complexiteit van de WORM pas duidelijk werd. Stuxnet is een WORM die niet is gemaakt door een scriptkiddie vanuit zijn kelder. Stuxnet is ontwikkeld door een overheid dat dermate veel resource tot zijn beschikking heeft om Stuxnet tot een succes te maken.

Er schijnen geruchten te zijn dat er meerdere jaren is gedaan over het ontwikkelen van de WORM. Dit heeft te maken met de complexiteit van de industriële machines en de programmering hiervan. Het is niet mogelijk om een WORM te maken en die binnen 10 dagen met succes uit te rollen in deze extreme gevallen.

De apparatuur die wordt gebruikt in een centrale is zo specifiek, dat er ontzettend veel kennis benodigd is over de gebruikte systemen, programmering, PLC’s, besturingssystemen en dergelijke. Zonder deze kennis is het per definitie niet mogelijk om met de WORM de centrale succesvol aan te vallen.

Om dit probleem op te lossen hebben ze de centrale weten te social engineeren. Dit wil zeggen dat ze de beveiliging hebben weten te kraken van de zwakste schakel namelijk de mens. Ze hebben een undercover operatie opgezet met als doelstelling om een geïnfecteerde USB-stick in één van de industriële machines te plaatsen. Gevolg was dat de WORM zich verspreide op het interne netwerk en zo weken/maanden/jaren lang ongemerkt informatie kon stelen over de gebruikte systemen. Alles wat gebruikt kon worden voor de aanval werd geïnventariseerd.

Tekeningen, ontwerpen, software, broncodes, informatie over besturingssystemen, SCADA systemen van Siemens. Alles om de aanval succesvol te laten verlopen.

Met de beschikbare informatie hebben ze Stuxnet verder geperfectioneerd zodat ze de centrifuges konden manipuleren. Wat ik niet begrijp is dat een land als Amerika deze informatie heeft vrijgegeven en ze toegeven dat ze mee hebben gewerkt aan het ontwikkelen ervan. Kortom als de WORM zich niet via het internet had verspreid hadden wij nooit geweten van het bestaan van Stuxnet.

In zekere zin heeft Amerika toegegeven dat cyberwar op dit moment al lang gaande is, natuurlijk wel buiten beschouwing van het groter publiek. Er zijn delen van Stuxnet die al in 2007 zijn gesignaleerd.

Enerzijds kunnen we hieruit opmerken dat we in de toekomst zeker vaker van dit soort aanvallen zullen meemaken. Anderzijds weten we nu ook dat alle computersystemen kwetsbaar zijn en/of aangevallen kunnen worden als het doel maar belangrijk genoeg is. De NSA gaat echt geen PC met 10 illegale MP3’s hacken, daarentegen loont het de moeite wel om computersystemen van China of Iran te hacken.

Kortom iedereen die dacht dat cyberwar een ver-van-je-bed-show betreft is zeer naïef. De derde wereldoorlog zal via computersystemen worden uitgevochten. Of zoals Albert Einstein ooit heeft gezegd:

“I know not with what weapons World War III will be fought, but World War IV will be fought with sticks and stones.”

Bronnen:

http://arstechnica.com/tech-policy/2012/06/confirmed-us-israel-created-stuxnet-lost-control-of-it/
http://arstechnica.com/security/2012/06/why-antivirus-companies-like-mine-failed-to-catch-flame-and-stuxnet/
http://secunia.com/?action=fetch&filename=Secunia_Yearly_Report_2011.pdf
http://tweakers.net/nieuws/82318/flame-trojan-misbruikte-microsoft-certificaten.html
http://github.com/Laurelai/decompile-dump/tree/master/output
http://crowdleaks.org/hbgary-wanted-to-suppress-stuxnet-research/

Broncode Stuxnet (deels):

//—– (10001D00) ——————————————————–
WCHAR *__usercall sub_10001D00(const WCHAR *a1)
{
WCHAR *result; // eax@1
int v2; // ebx@1
DWORD v3; // ecx@2
void *v4; // esi@3
LPVOID lpAddress; // [sp+Ch] [bp-214h]@2
int v6; // [sp+10h] [bp-210h]@2
int v7; // [sp+14h] [bp-20Ch]@3
WCHAR String[260]; // [sp+18h] [bp-208h]@1

lstrcpynW(String, a1, 260);
v2 = lstrlenW(L”~WTR4132.tmp”);
result = &String[lstrlenW(String) – v2];
if ( result )
{
lstrcpynW(result, L”~WTR4132.tmp”, 260);
result = (WCHAR *)sub_10001D90(String, v3, &lpAddress, (DWORD *)&v6);
if ( result )
{
v4 = lpAddress;
sub_100034D2(0, lpAddress, v6, (int)&v7);
result = (WCHAR *)VirtualFree(v4, 0, 0x8000u);
}
}
return result;
}
// 10001D00: using guessed type WCHAR String[260];

Geef als eerste een reactie

Geef een reactie

Uw e-mailadres wordt niet gepubliceerd.


*