Stuxnet

Stuxnet on ussviirus, mis avastati 2010. aasta juulis. Uss nakatab Microsoft Windowsi operatsioonisüsteemi kasutavaid arvuteid, kuid selle sihtmärgiks on Siemensi tööstustarkvara (Siemens Supervisory Control And Data Acquisition ehk SCADA), mis on seadistatud juhtima ja jälgima spetsiifilisi tööstuslikke protsesse. Stuxnet on esimene avastatud pahavara, mis sisaldab programmeeritavate loogikakontrollerite juurkratti. Stuxneti eri versioonid sihtisid viit Iraani tuumajaamadega seotud organisatsiooni. Tõenäoliselt püüdis viirus rünnata uraani rikastamise infrastruktuuri. Symantec väitis 2010. aasta augustis, et 60% nakatunud arvutitest paiknesid Iraanis. Siemens väitis novembris, et uss ei ole tema klientidele kahju teinud. Kahju tekitati aga Iraani tuumaprogrammile, mis kasutab salaja hangitud Siemensi seadmeid. Kaspersky Lab tegi järelduse, et niivõrd keeruka ründe taga pidi olema mõni riik. Asjasse segatud riikideks on peetud Iisraeli ja Ameerika Ühendriike. Stuxnet on erakordne sellegi poolest, et kasutas korraga koguni nelja niinimetatud nullpäeva rünnet (seni avalikkusele ja tootjale teadmata turvaauku kasutavat rünnet) Windowsi operatsioonisüsteemidele. 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 kohalikes võrkudes, kasutades printeri spuuleri nullpäeva rünnakut (MS10-061). Stuxneti logifailide järgi on võimalik näha, et esimene uuendatud versiooniga Stuxneti rünnaku ohver oli Iraani ettevõte 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 ettevõttesiseselt, 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. Stuxneti lähemal uurimisel on näha, et viirus on pahavara kohta väga keeruline. Pahavara failimaht on pool megabaiti ning eri 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. 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-mälupulkade 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 installida 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. Pahavara kasutas levitamiseks mitmesuguseid Windowsi, programmeeritavate loogikakontrollerite ja Siemensi SIMATIC WinCC ning STEP 7 SCADA süsteemide turvaauke. Kasutatud turvaaukudest kuus olid nullpä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 käitada 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 käitas spetsiaalset rakendust. Haavatavad olid ainult Windows Vista ja Windows 7. CVE-2010-2772 Turvaauk võimaldas kohalikul kasutajal saada privilegeeritud juurdepääsu süsteemile ja backend-andmebaasile.  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. Enim levinud oli Stuxnet Aasias. Üldise arvamuse järgi oli pahavara suunatud Iraani vastu, kuid on võimalik, et rünnakul oli mitu sihtmärki. Pahavara leviku ulatust võisid mõjutada paljud faktorid, kaasaarvatud kohalikud tarkvara uuendamise ja paikamise tavad ning kohalikul tasandil kasutatav turvatarkvara. Levik Iraan – 52,2% Indoneesia – 17,4% India – 11,3% Pakistan – 3,6% Usbekistan – 2,6% Venemaa – 2,1% Kasahstan – 1,3% Valgevene – 1,1% Kõrgõzstan – 1,0% Aserbaidžaan – 0,7% Ameerika Ühendriigid – 0,6% Kuuba – 0,6% Tadžikistan – 0,5% Afganistan – 0,3% Muu maailm – 4,7% Et Stuxneti lähtekood oli suunatud Siemensi tarkvaraga süsteemide vastu, annab parema ülevaate pahavara tööst Stuxneti levik riigiti ainult Siemensi tarkvara kasutanud nakatunud süsteemide lõikes. Levik: Iraan – 67,6% Lõuna-Korea 8,1% Ameerika Ühendriigid – 4,98% Suurbritannia – 2,18% Indoneesia – 2,18% Taiwan – 1,56% India – 1,25% Muud riigid – 12,15%  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 Spiegelile 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. Projekti jätkati president Obama haldusajal, kui USA-Iisraeli koostööna saadi valmis esialgsed versioonid viirusest ning asuti neid levitama. Jim Finkle (26. veebruar 2013) Researchers say Stuxnet was deployed against Iran in 2007 Pierre-Marc Bureau (19. juuli 2010) Win32/Stuxnet Signed Binaries Security TechCenter (2. august 2010) Microsoft Security Bulletin MS10-046 – Critical Security TechCenter (14. september 2010) Microsoft Security Bulletin MS10-061 – Critical Security TechCenter (12. oktoober 2010) Microsoft Security Bulletin MS10-073 – Important Security TechCenter (14. detsember 2010) Microsoft Security Bulletin MS10-092 – Important US-CERT/NIST (07/22/2010) Vulnerability Summary for CVE-2010-2772 Aleksandr Matrosov, Eugene Rodionov, David Harley, Juraj Malcho Stuxnet Under the Microscope Nicolas Falliere, Liam O Murchu, Eric Chien (veebruar 2011) W32.Stuxnet Dossier CBS News (16. aprill 2011) Iran blames U.S., Israel for Stuxnet malware Der Spiegel (7. juuli 2013) Als Zielobjekt markiert William J. Broad, John Markoff, David E. Sangerjan (15. jaanuar 2011) Israeli Test on Worm Called Crucial in Iran Nuclear Delay David E. Sanger (10. jaanuar 2009) U.S. Rejected Aid for Israeli Raid on Iranian Nuclear Site Equation