Stuxnet

Rünne

Pahavara ülesanne oli manipuleerida Siemensi arvutisüsteeme, mis kontrollisid tsentrifuugide kiirust, eesmärgiga lõhkuda masinaid. Kuna arvutid olid välisvõrgust õhuvahega eraldatud, polnud ründajatel võimalik otse süsteemidele ligi pääseda. Seega disainiti Stuxnet levima nakatunud mälupulkade kaudu, kusjuures rünnaku ohvriks langesid viis firmat, mis arvati olevat seotud Iraani tuumaprogrammiga.
Stuxneti arvatakse olevat hakatud arendama juba aastal 2005, kusjuures esimene versioon arvatakse olevat väljastatud 2007. aastal. Teine, uuendatud versioon väljastati 2009. aasta juuni lõpus. Uuendusega parendati tunduvalt viiruse levimismeetodeid. Kui Stuxneti esimene versioon levis ainult Siemensi programmeeritavaid loogikakontrollereid nakatades, siis teine versioon levis ka nakatunud mälupulkade kaudu või lokaalsetes võrkudes, kasutades printeri spuuleri null-päeva rünnakut (MS10-061).
Stuxneti logifailide järgi on võimalik näha, et esimene uuendatud versiooniga Stuxneti rünnaku ohver oli Iraani firma Foolad Technic. Nakatamine toimus 23. juunil 2009. Järgmine firma, Behpajooh, langes rünnaku ohvriks nädal hiljem ja kolmas firma, Neda Industrial Group, omakorda üheksa päeva hiljem. Pole teada, kui kiiresti levis Stuxnet firmasiseselt, ent augustiks oli Iraani tuumareaktorite arv langenud 328 võrra. Novembriks oli 4592 tsentrifuugist alles jäänud ainult 3936 töökorras masinat, mis tähendas peaaegu tuhande tsentrifuugi töötamise lakkamist viie kuu jooksul.

Loomine

Stuxneti lähemal uurimisel on näha, et viirus on pahavara kohta väga keeruline. Pahavara suuruseks on pool megabaiti ning erinevate moodulite arvukus viitab suurele arendajate hulgale. Ajatemplite järgi on näha, et pahavara valmistati ette mitmeid aastaid ja koodi kirjutamises osalesid nii rünnatavate tarkvaradega professionaalselt tegelevad spetsialistid kui ka kräkkerid.
Esimene pahavara draiveritest on signeeritud ajatempliga 01/01/2009, teine 25/01/2010 (signatuuri kinnitajaks mõlemal juhul Realtek Semiconductor Corp). Kolmas draiver on digitaalsignatuuriga 14/07/2010, kusjuures selle draiveri signatuuri kinnitas eelnevatest erinev firma (Jmicron Technology Corp). Mõlemad firmad asuvad Taiwanil, mis võib viidata nii signatuuride füüsilisele varastamisele kui ka väljastpoolt sisseostmisele. Üks võimalikest allikatest on Zeus, mis on üks suurematest teadaolevatest sertifikaatide varastamisega tegelevatest robotvõrkudest.

Nakatamistehnikad

Rünne toimus sihtmärgiks olnud süsteemidele kolmes etapis: Windowsi operatsioonisüsteemi nakatamine, Siemensi tarkvara nakatamine ja Siemensi loogikakontrollerite nakatamine.
Iraani tuumakütuse rikastamisega tegelevate tehaste võrgud olid välisvõrgust õhuvahega eraldatud, mistõttu kandus viirus tehastesse nakatunud USB-pulkade kaudu. Windowsi ründamisel kasutati nelja nullpäeva turvaauku, mis võimaldasid viirusel sisevõrgus levida ilma internetiühendust vajamata. Stuxnet laadis käivitamisel alla kaks kerneli draiverit, mis olid varastatud sertifikaatidega digitaalselt signeeritud, tänu millele jäid toimingud kasutajatele märkamatuks. Kerneli draiverid võimaldasid peita pahavara kasutajale kättesaamatusse operatsioonisüsteemi osasse, mis hoidis ära seadmete kasutamise käigus viiruse failidele peale sattumise.
Järgmisena ründas Stuxnet Siemensi tarkvara, tehes man-in-the-middle ründe, et lõigata ära otsene suhtlus Windowsi operatsioonisüsteemi ja programmeeritavate loogikakontrollerite vahel. Ründe tulemusena sai Stuxnet installeerida end loogikakontrolleritele ilma süsteemi tähelepanu äratamata ning samal ajal hoida Siemensi tarkvara nakatunud mäluosi lugemast.
Viimasena installeeris Stuxnet juurkrati programmeeritavatele loogikakontrolleritele, et peita pahavara kasutajate eest ning varjata viiruse tehtavaid muutusi süsteemis. Tavaline tsentrifuugide pöörlemiskiirus on 807 Hz ja 1210 Hz vahel, kuid Stuxnet modifitseeris kiiruse muutumist tsüklitena 1410 Hz-lt 2 Hz-le ja siis 1064 Hz-le, et kulutada tsentrifuuge kiiremini läbi.

Null-päeva turvaaugud

Pahavara kasutas levitamiseks mitmesuguseid Windowsi, programmeeritavate loogikakontrollerite ja Siemensi SIMATIC WinCC ning STEP 7 SCADA süsteemide turvaauke. Kasutatud turvaaukudest kuus olid null-päeva turvaaugud, millest üks (MS08-067) parandati enne Stuxneti levikut.
MS10-046
Turvaauk kujutas endast haavatavust Windows Shellis, mille kaudu sai ründaja anda endale lokaalse kasutajaga võrdsed õigused. Turvaaugule olid haavatavad kõik Windowsi versioonid.
MS10-061
Turvaauk võimaldas jooksutada süsteemis välist koodi, kui haavatavasse süsteemi saadeti spetsiaalselt konstrueeritud printimise käsk. Haavatavad olid kõik Windowsi versioonid.
MS10-073
Turvaauk võimaldas suurendada kasutaja privileege süsteemis eeldusel, et kasutaja oli autenditud ja lokaalselt sisse logitud. Haavatavad olid ainult Windows XP ja Windows 2000 süsteemid.
MS10-092
Turvaauk võimaldas privileegide suurendamist eeldusel, et kasutaja oli sisse logitud ja jooksutas spetsiaalset rakendust. Haavatavad olid ainult Windows Vista ja Windows 7.
CVE-2010-2772
Turvaauk võimaldas lokaalsel kasutajal saada privilegeeritud juurdepääs süsteemile ning back-end'-andmebaasile. 

Avastamine

2010. aasta jaanuaris märgati Natanzi uraani rikastamise tehases, et tsentrifuugide katkiminemise kiirus on erakordselt suur. Tehnikud ei suutnud probleemile lahendust leida ning probleemile saadi jälile alles viis kuud hiljem, kui Valgevene firma kutsuti Iraani leidma lahendust pidevalt restartivatele arvutitele. Uurijad leidsid süsteemi koodi hulgast grupi pahavara faile, mis hiljem osutusid Stuxneti pahavaraks.

Süüdlased

Iraani kõrge sõjaväelane andis riiklikus uudisteagentuuris IRNA teada, et uurimine määras viiruse päritolumaadeks Iisraeli ja Ameerika Ühendriigid. Kumbki riikidest pole ametlikult süüd kinnitanud. NSA vilepuhuja Edward Snowden kinnitas Der Spiegel’ile antud intervjuus, et NSA teeb tihedalt koostööd teiste riikidega ning ka Stuxnet on valminud Iisraeli ja USA koostööna.
Ekspertide hinnangul loodi viirus USA ja Iisraeli koostöös ning vähesel määral brittide ja sakslaste abiga. Poliitiliselt algatati projekt Bushi administratsiooni viimasel kuul, uurimaks Natanzis asuvaid elektri- ja arvutisüsteeme. Eelnevalt oli Iisrael palunud Ameerika Ühendriikidelt abi, korraldamaks rünnakut Natanzi vastu, kus arvati olevat Iraani suurimad uraani rikastamise tehased. Ühendriigid keeldusid abist, kuid nõustusid ühisprojektiga, loomaks viirust, mis tekitas sama palju kahju kui füüsiline rünnak oleks põhjustanud – kolme aasta jagu tööd. Projektiga jätkati president Obama haldusajal, kui USA-Iisraeli koostööna saadi valmis esialgsed versioonid viirusest ning asuti neid levitama.