Begin deze week werd duidelijk dat Symantec de laatste puzzelstukjes van Stuxnet-code had ontcijferd. Dankzij een tot nog toe anonieme Nederlandse Profibus-expert. Hij heet Rob Hulsebos en is software- en netwerkexpert, gespecialiseerd in industriële procesautomatisering, meer specifiek systemen Profibus, AS-Interface, Modbus, CAN, en Profinet. Hoe kwam je op het idee om Symantec uit de brand te helpen?

"In de zomervakantie werd ik door de Canadese cybersecurity-expert Eric Byres geattendeerd op Stuxnet, dat toen net ontdekt was. Niemand had toen een idee wat het virus deed, anders dan "iets" met Siemens PLC's." Hulsebos, naast Profibus-expert tevens journalist, schreef meteen een verhaal voor het industriële vakblad Automatie.

Roep om hulp

"In september kwam de eerste analyse van Symantec over Stuxnet uit, en toen bleek al dat het veel complexer in elkaar zat dan iedereen in eerste instantie dacht. Symantec riep in zijn blog de industrie op om te helpen. In de tussentijd is men verder gegaan met het uitpluizen van Stuxnet, en ik vind dat ze in korte tijd een indrukwekkende diepgang hebben bereikt, ook al omdat de Siemens PLC programmeeromgeving, de gebruikte PLC besturingen, de WinCC database, frequentieomvormers, PLC assembly, en Profibus niet bepaald zaken zijn die de gemiddelde virusbestrijder dagelijks aantreft."

"In de tweede versie van Symantec's analyse, die begin november werd gepubliceerd, zaten al veel meer PLC-details uitgewerkt. In het blog werd nogmaals de industrie opgeroepen om mee te helpen; op de eerste oproep had niemand gereageerd. Dat verbaasde me wel, want de impact van Stuxnet is immers niet mis.

Liever eerst anoniem

Wilde je daarom ook anoniem blijven? "Ik had al gezien dat er voor Stuxnet een enorme interesse bestond. Symantec raadde me ook aan om, gegeven de mogelijke makers van Stuxnet, een 'low profile' aan te houden. Maar inmiddels is vanuit allerlei andere bronnen nog veel meer detail over de andere helft van Stuxnet bekend geworden, mijn bijdrage aan de analyse valt hierbij in het niet," aldus Hulsebos bescheiden.

Dat hij voorzichtig is met details heeft nog een andere reden: de fabrikanten van SCADA en PLC's zitten niet op openheid te wachten. Zo wordt de publicatie van het boek Hacking SCADA al een jaar tegengehouden met juridische dreigementen. Volgens de auteur is het boek feitelijk een gedetailleerde bundeling van openbaar beschikbare informatie.

Symantec liep dus vast bij het uitpluizen de aansturing via Profibus van de I/O, totdat Hulsebos het onderzoek weer vlot trok. "Om de werking van het virus te begrijpen is het zeer belangrijk om te weten wat die I/O voor functie heeft in het geheel. Dat is natuurlijk geheel afwijkend van een normaal virus, dat bestanden op een PC aanpast of installeert op de harde schijf. De PC-omgeving is 100% bekend, dus PC-virussen zijn wat dat betreft makkelijker te decoderen. Maar een virus op een PLC met zijn Profibus I/O is nieuw, niemand had dat ooit gezien en er is dus ook geen enkele ervaring mee hoe zo'n virus te decoderen."

Unieke code

"Aangezien de Siemens PLC's via Profibus hun I/O aansturen, is het van belang te weten: wat is dat voor I/O precies? Nu is het zo dat in Profibus elk type apparaat een unieke 16 bits "Ident Code" heeft. Deze worden toegekend door de Profibus gebruikersvereniging, en voor de PLC is het de handtekening van "heb ik de juiste soort I/O aan mijn netwerk hangen".

Door te weten welke ident code's in de PLC gezocht worden, is ook uit te zoeken wat voor soort apparaat het is, welke I/O functies het heeft, wie de leverancier is, etc. Dat was voor Symantec het ontbrekende puzzelstukje blijkbaar - men zag wel dat de PLC op zoek was naar apparaten van het type "7050" en "9500", maar kon er niet achter komen wat dat nu precies betekende.

Door mijn tip werd ze dit duidelijk. Via Google had ik zelf zo gevonden dat de ene ident code naar een product van een Fins bedrijf leidt (Vacon, red). Even later meldde Symantec me al dat men de andere ident code had weten te herleiden naar een Iraans bedrijf (Fararo Paya, red)."

Geen infectie, wel manipulatie

Overigens ontkent Vacon dat hun frequentieregelaars door Stuxnet kunnen worden geïnfecteerd. Hulsebos: Vacon heeft op zich gelijk dat het virus hun drives niet infecteert. Dat kan ook niet via Profibus met zulke apparatuur - de firmware zit waarschijnlijk in flash geheugen en kan niet via Profibus geüpdate worden. Niet dat het onmogelijk is, maar ik heb het nog nooit iemand zien doen - en moet de PLC het nog aansturen.

Wat wel gebeurt is dat de PLC de Vacon drives instructies geeft om iets te doen - en dat Stuxnet hier roet in het eten gooit. Net als je in de auto zou zitten en hem in z'n vooruit zet, lekker aan het rijden bent, en een virus in je autobesturing opeens de bougies verkeerd laat vonken - is de bougie dan besmet? Nee dus. Die doet gewoon wat hem is opgedragen, als "output". Intussen is wel je motor aan gort."

Terug naar het onderzoek van Symantec. Hulsebos: "Een paar dagen later hadden ze enorme vooruitgang gemaakt. Op de Finse website was de handleiding van de frequentieomvormer te vinden en met de hulp daarvan werd weer duidelijk hoe dit apparaat via Stuxnet omgeprogrammeerd werd op andere frequenties. Met de handleiding is ook duidelijk wat de bitpatronen in de PLC allemaal betekenen, en wat bepaalde getallen betekenen. Zo is het wijzigen van een output van -10000 naar +10000 op zich betekenisloos. Maar als je weet dat er een analoge uitgang met een bereik van -10..+10V achter zit, dan wordt er opeens weer stukje van de puzzel duidelijker."

Geen hulp van Siemens of Profibus

"Deze resultaten heeft Symantec nu gepubliceerd. Hiermee is de analyse nog niet compleet, want nu is de vraag: wat hangt er achter de frequentieomvormers? Alles lijkt te wijzen op ultracentrifugemotoren, gebaseerd op de toerentallen. Het zou natuurlijk ook best iets anders kunnen zijn, maar aangezien ik niets weet van frequentieomvormers kan ik daar Symantec niet verder bij helpen. Om zekerheid te krijgen of het gaat om ultracentrifuges is ook nog domeinkennis nodig - wat gaat er precies fout als Stuxnet in actie komt?

De komende maanden zal hier waarschijnlijk nog wel veel duidelijker gaan worden als Symantec hulp krijgt. Ik vind het wel opvallend dat men geen hulp gekregen heeft van Siemens of de Profibus-vereniging. Als ik hen zou zijn, zou ik toch graag willen weten hoe mijn producten misbruikt worden, en om daarna na te denken hoe zoiets in de toekomst voorkomen zou kunnen worden."

Doos van Pandora

Hulsebos vreest dat Stuxnet een Doos van Pandora heeft geopend. "Waar men in de industriële cybersecurity wereld nu bang voor is, is dat Stuxnet een aanzuigende werking heeft op allerlei malware-auteurs, die nu gezien hebben dat de industriële besturingen makkelijk binnen te komen zijn. De vraag is dus, hoe snel komt die malware op ons af? Binnen de industriële markt heeft Stuxnet dan ook heel wat losgemaakt. Er is opeens duidelijk welke risico's we lopen. Het is een geluk bij een ongeluk dat Stuxnet niets deed (op een of twee locaties na dan). Maar omdat Stuxnet eigenlijk bij toeval ontdekt is, vraag ik me af: wat circuleert er allemaal al waar we niets van weten?"