Stuxnet tekee fiktiosta faktaa

Viestimies 4/2010
TEKSTI: MIKA STÅHLBERG
KUVAT: MIKA STÅHLBERG, F-SECURE, JUKKA-PEKKA VIRTANEN
Stuxnet tekee
fiktiosta faktaa
Vice President, insinöörikapteeni evp.
Mika Ståhlberg, FSecure Labs
- Kriittinen infrastruktuuri sabotoinnin kohteena
Kesästä 2010 lähtien on
tietoturvapiirejä kuohuttanut Stuxnet-niminen haittaohjelma. Sen saama huomio
ei johdu laajasta levinneisyydestä, vaan sen motiiveista
ja teknisestä kompleksisuudesta, joita aiemmin on totuttu näkemään vain Hollywood-elokuvissa. Jännitysfiktion fanit ovat tottuneet
ajatukseen, että Marshall
Flinkman (Alias), Chloe
O’Brien (CTU, 24) tai Neo
(Matrix) tunkeutuvat sekunneissa mihin tahansa kulunvalvontajärjestelmään tai
tietokantaan ja kontrolloivat fyysisen maailman tapahtumia tietoverkon kautta. Todellisuus ei tähän asti
ole ollut aivan yhtä korkealentoista.
Fyysinen maailma
kohtaa bittiavaruuden
Vaikka Stuxnet tuli julkisuuteen heinäkuun alkupuolella on se ehtinyt olla liikkeellä arvioiden mukaan vähintään puoli
vuotta tai enemmänkin. Vasta kesällä
Stuxnetin merkitys tajuttiin ja sille alkoi
löytyä useimmista antivirusohjelmistoista tunnistus. Stuxnet ei pitänyt ääntä itsestään, mutta levisi niin laajalle, että
olisi luullut sen nousevan yleiseen tietoisuuteen jo aiemmin. Yksi syy tähän
Stuxnet-haittaohjelma pystyy vaikuttamaan teollisuusautomaatiojärjestelmiin.
Se leviää pääasiassa USB-muistitikkujen avulla. Erityistä Stuxnetissa on kyky
käyttää hyväkseen useita eri ohjelmistohaavoittuvuuksia samanaikaisesti.
on, että esimerkiksi F-Secure saa 50 000
- 200 000 virusnäytettä päivässä. Kaikki
näistä eivät ole haittaohjelmia ja osa
näytteistä tunnistetaan jo valmiiksi.
Joka tapauksessa haittaohjelmanäytteiden määrät ovat pyörryttäviä. Suuresta
määrästä johtuen ei jokaista näytettä
voida tutkia yksityiskohtaisesti, mutta
analyysi pyritään tekemään ja tunnistus
lisäämään mahdollisimman automaattisesti.
Stuxnet herätti tutkijoiden mielenkiinnon nollapäivän LNK-haavoittuvuuden
(CVE-2010-2568) takia. Yleensä virustorjuntatalot eivät analysoi haittaohjelmia
näin perusteellisesti. Tavoitteena on
suojata asiakkaita, joten analyysi päättyy usein vaiheeseen, jossa ohjelman
todetaan olevan haitallinen tai puhdas.
Jos käytössä ei olisi ollut ko. nollapäivän hyökkäystä, ei Stuxnetin merkitystä
olisi ehkä vieläkään tiedostettu. Voi vain
spekuloida kuinka paljon vastaavanlaisia uhkia on liikkeellä.
SCADA (Supervisory Control And
Data Acquisition) on yleisnimi jota käytetään (usein väärin) kaikista automaation valvomo-ohjelmistoista ja erilaisista
prosessiohjausjärjestelmistä. Tällaisia
ohjelmistoja on käytössä niin ydinvoimaloissa, kiinteistöjen kulunvalvonnassa kuin viemäriverkoston hallinnassa-
19
20
Viestimies 4/2010
kin. Niillä voidaan ohjata esimerkiksi
pumppujen painetta, laitteiden lämpötilaa tai ovien lukitusta.
Stuxnet on suunniteltu ajamaan koodia Siemensin Simatic WinCC PLC (Programmable Logic Controller) tuotteissa
niistä löytyvän oletussalasanan avulla.
Oletussalasana toimii, sillä sitä ei ylläpidon helpottamiseksi ainakaan ennen kesää juurikaan ollut vaihdettu. PLC-laitteita valvotaan ja ohjataan SCADA-järjestelmien avulla. Pelottavinta on, että
järjestelmien tilan seuraamisen lisäksi
Stuxnet mahdollistaa hyökkääjälle takaportin, jolla ko. järjestelmiä voi myös ohjata.
Stuxnet tekee PLC-järjestelmään muutoksen, joka vaikuttaa johonkin tietyssä
numeraalisessa osoitteessa olevaan laitteeseen. Ei ole tiedossa missä tuo kohteeksi tarkoitettu laite on ja mikä se on.
Se voi olla kemian tehtaan pumppu, autotehtaan liukuhihna, voimalan turvajärjestelmä, salaisen holvin kulunvalvontalaite - mikä vaan. Voi olla ettemme saa
koskaan tietää (tai voi olla, että lokakuun alun, jolloin artikkeli kirjoitettiin, ja
Viestimies-lehden ilmestymisen välissä
mysteeri on jo selvinnyt).
Neljä nollapäivää
samassa
haittaohjelmassa!
Stuxnetin binäärit on digitaalisesti allekirjoitettu. Tämä ei ole poikkeuksellista, mutta haittaohjelmien ollessa kyseessä allekirjoitusavain on usein itsesertifioitu tai väärennetty. Stuxnetin tapauksessa allekirjoitus on tehty todellisten
yritysten todellisilla avaimilla. Tämä on
harvinaista, sillä yritysten kuuluu suojella privaattiavaimiaan hyvin tarkkaan.
Ensin käytössä oli Realtekin ja myöhemmin JMicron-nimisen yrityksen avain.
Molemmat yritykset sijaitsevat Hsinchun kaupungissa Taiwanissa. Kyseessä ei ole sattuma, vaan yritysten fyysisellä läheisyydellä on merkitystä. Voi
olla, että avainten varastamiseen liittyy
jotain käytännön kissavarkautta tai
muuta vastaavaa.
Stuxnetin viimeisimmässä versiossa
on hyväksikäyttökoodi neljään Windowsin nollapäivän haavoittuvuuteen,
jolla tarkoitetaan sitä, ettei kukaan ole
Stuxnet hyväksikäyttää Windowsin linkkitiedostohaavoittuvuutta. Pelkästään resurssienhallinnassa tapahtuva linkkitiedoston katseleminen aiheuttaa linkin mukana levitetyn DLL-tiedoston ajamisen, joka mahdollistaa haittaohjelman tehokkaan leviämisen USB-tikun avulla.
kuullut haavoittuvuudesta aiemmin tai
ainakaan siihen ei ole vielä saatavissa
päivitystä. Kyseisistä haavoittuvuuksista kaksi oli etäkäytettäviä (remote
execution) ja kaksi oli järjestelmänvalvojan oikeudet antavia (local privilege escalation). Joskus harvoin nähdään uusia
haittaohjelmia, jotka käyttävät hyväkseen nollapäivän reikää. Neljä nollapäivää samassa haittaohjelmassa on ennenkuulumatonta ja kertoo paljon takana olevista resursseista ja taidosta. Mielenkiintoista on myös se, etteivät “tavalliset” hyökkääjät tuhlaisi arvokkaita nollapäiviään montaa kerralla.
Eniten huomiota herättävät haavoittuvuus, jota Stuxnet hyväksikäyttää on
nollapäivän linkkitiedostohaavoittuvuus (CVE-2010-2568). Kyseinen haavoittuvuus oli käytännössä kaikissa
Windows versioissa ja liittyi tapaan, jolla Windows käsittelee linkkejä, jotka
osoittavat Windowsin ohjauspaneelin
(Control Panel) sovelluksiin. Käytännössä pelkästään linkkitiedoston katseleminen resurssienhallinnassa aiheutti
linkin mukana levitetyn DLL-tiedoston
ajamisen. Tämä haavoittuvuus mahdollistaa erittäin tehokkaan leviämisen
USB-tikkujen avulla. Microsoft julkaisi
linkkihaavoittuvuudelle päivityksen elokuun alkupuolella. Stuxnet kykeni leviämään myös Windows print spooler -palvelussa olleen nollapäivähaavoittuvuuden (CVE-2010-2729) avulla. Kyseiselle
haavoittuvuudelle julkaistiin paikkaus
syyskuun paikkakierroksella. Tämä toinen haavoittuvuus mahdollistaa leviämisen lähinnä yritysten sisäverkon sisällä.
Stuxnet pyrkii piiloutumaan saastuttamassaan Windows-tietokoneessa käyttöjärjestelmän ydintä muokkaavan rootkitin avulla. Tämä toiminnallisuus on ollut Windows-haittaohjelmien perusominaisuuksia noin vuodesta 2005 alkaen.
Mielenkiintoista on, että Stuxnet osaa
myös piilottaa PLC-järjestelmään tekemänsä muutokset muokkaamalla Siemens Step 7 PLC -ohjelmointityökalua.
Se siis sisältää myös rootkitin Siemensin
ohjelmistoa varten. Tässä mielessä Stuxnet on hyvin poikkeuksellinen.
Hyökkääjän motiivit
epäselviä
Useimmat nykyiset haittaohjelmat on
tarkoitettu rahan tekemiseen. Niillä esimerkiksi varastetaan luottokorttinumeroita tai asennetaan ihmisten koneisiin
verkostomarkkinointimenetelmiä käyttäviä huijausohjelmia. Stuxnet on eri maata, sillä sen tarkoitusperät viittaisivat
kriittisen infrastruktuurin sabotoinnin
suuntaan. Sellaisena se on hyvin harvinainen. Erilaisia yritysvakoiluun viittaavia haittaohjelmia esimerkiksi F-Secure
analysoi lähes päivittäin ja muun muassa viime vuodenvaihteen Aurora-tapaus
oli rikkoa Googlen ja Kiinan välit pysyvästi. Sähköpostien varastamisesta on
kuitenkin vielä matkaa sähköverkon, vesijohtoverkon tai vaikkapa ydinvoimalan laitteiden rikkomiseen.
Stuxnetin kehittäminen on vaatinut
erittäin syvää osaamista sekä Windowskäyttöjärjestelmästä että Siemens Simatic PLC -järjestelmistä. Tällaista osaamista on vaikea löytää. Myös Stuxnetin
Viestimies 4/2010
laadunvarmistus on tehty varsin huolellisesti, joten tuotekehitysinvestointi on
varmasti joka tapauksessa ollut monta
miestyövuotta ja rahana satoja tuhansia
euroja. Mitä tahansa hyökkääjä koki Simatic-järjestelmiä vastaan kohdistetulla
hyökkäyksellä saavuttavansa, oli niin
arvokasta, että investointi koettiin kannattavaksi.
Microsoftin tilastojen mukaan suhteellisesti yleisin Stuxnet oli heinäkuussa Iranissa ja Indonesiassa. Useimmissa
muissakin tilastoissa levinneisyys on
suurin juuri Iranissa. Myös Indonesia ja
Intia ovat kohtuullisen vahvasti edustettuina näissä tilastoissa. F-Securen tilastoissa Intiasta on tullut eniten infektioraportteja ja Iran on vasta toisena.
Antivirusyritysten tilastoja tulkittaessa
täytyy muistaa, että raportit tulevat asiakkailta. Näin ollen luvut painottuvat
maihin, joissa on paljon asiakkaita. Esimerkiksi Iranissa F-Securella ei ole lainkaan maatoimistoa ja voi olla, että tämän
tyyppisistä syistä Suomi on prosentuaalisissa osuuksissa yliedustettuna.
Hyökkääjä oli valinnut USB-tikut vektoriksi varmastikin useammasta syystä.
Toisaalta kohteena olevat järjestelmät
eivät välttämättä ole kiinni Internetissä,
jolloin suljettuun verkkoon hyökkääminen edellyttää USB-tikun kaltaista verkosta verkkoon siirtyvää mediaa. Toisaalta USB-tikkujen avulla etenevä haittaohjelma ei anna herätteitä verkon rajalla liikennettä seuraavassa palomuurissa
tai IDS-järjestelmässä, eikä se päädy virustorjuntatalojen honeypot-järjestelmiin.
On päivänselvää, että Stuxnet on kohdistettu hyökkäys. Ei ole sattumaa, että
se toimii Siemensin Simatic-järjestelmiä
vastaan ja muuttaa jonkin tietyn laitteen
toimintaa. Ketä vastaan se sitten on
suunnattu ja kuka sen takana on? Näitä
onkin jo vaikeampi sanoa. Siemensin järjestelmät ovat joidenkin lähteiden mukaan yleisimpiä Saksassa, mutta suurin
infektiotiheys vaikuttaa olevan Iranissa.
Muun muassa Saksalainen tutkija Ralph
Langner on spekuloinut, että kyseessä
on Israelin hyökkäys Lounais-Iranissa
sijaitsevaa Bushehrin ydinvoimalaa vastaan. Toisaalta, koska Stuxnetin eteneminen perustuu pääasiassa USB-tikkujen siirtymiseen Windows-koneesta toiseen, muistuttaa tartuntojen eteneminen
F-Securen tilastoissa on Intiasta tullut eniten infektioraportteja. Microsoftin tilastojen mukaan Stuxnet oli heinäkuussa yleisin Iranissa ja Indonesiassa. Antivirusyritysten tilastoja tulkittaessa täytyy muistaa, että raportit tulevat asiakkailta,
joten ne painottuvat maihin, joissa on paljon asiakkaita.
hyvin paljon normaalien tautien etenemistä. Ei ole mitenkään sanottua, että
kohteena olevassa maassa tai organisaatiossa olisi selvästi eniten tartuntoja.
Suojautuminen
Stuxnetin kaltaiselta
uhkalta
Osin spekulaatio iranilaisesta ydinvoimalasta kohteena johtuu kesällä 2009
Israelissa julkaistusta lehtiartikkelista
[Ynetnews], jossa Yhdysvaltalaisen US
Cyber Consequences Unit -tutkimuslaitoksen johtaja Scott Borg sanoo, että
koska Iranin ydinvoimalat ovat irti verkosta, niihin hyökkääminen suoraan
verkon yli on vaikeaa. Toisaalta kuulemma riittäisi, että Israelin agentit saisivat
saastuneen USB-tikun toimitettua voimalaan. Samassa artikkelissa Borg sanoo, että cyber-hyökkäysten etu perinteisiin hyökkäyksiin nähden on kiistettävyys.
Kriittiset järjestelmät pitää eristää Internetistä. Näin varmasti myös Stuxnetin
kohde on tehnyt, sillä USB-tikut eivät
ole etemisvektorina sattumalta. Organisaatioiden pitäisi arvioida, onko USBtikkuja pakko sallia käytettäväksi tietojen siirtämiseen kriittisten ja muiden järjestelmien välillä. Kriittiset järjestelmät
pitää lukita tarkkaan: Tuskin on montaa
perusteltua syytä, miksi esimerkiksi Simatic WinCC koneilla pitäisi pystyä
suorittamaan koodia USB-tikulta tai miksi tavallisten käyttäjien ylipäätänsä pitäisi pystyä asentamaan uusia ohjelmia.
Tosin, Stuxnetin privilege escalation
hyökkäysten takia tältä haittaohjelmalta
käyttäjäoikeuksien rajoittaminen ei suojannut. Kaiken lisäksi haittaohjelma oli
dynaaminen kirjasto (dll) eikä ohjelma
(exe).
Stuxnetista ei löydy kovin montaa
vinkkiä sen tehneen tahon tai sen kohteen suuntaan. Voisi kuvitella, että
hyökkääjä pyrkisi rajoittamaan madon
leviämistä vain kohdemaahan tai kohdeorganisaatioon, mutta tällaista mekanismia Stuxnetistä ei löydy. Toisaalta tällainen mekanismi on ehkä jätetty pois juuri
salaamis- ja harhauttamissyistä. Stuxnetista on kyllä löytynyt yksi päivämääräviittaus ja viittaus kasvikunnan suuntaan, mutta mitään selvää viitettä kirjoittajasta ei ole.
Vaikka Stuxnetin merkitys tajuttiin
varsin myöhään, on osa turvaohjelmistoista ehkä tunnistanut sen haitalliseksi
ja estänyt suorituksen jo ennen kesää.
Myös kriittisissä järjestelmissä pitää
käyttää turvaohjelmistoja, mutta sormenjälkipohjaisten antivirus -ratkaisujen
lisäksi kannattaa harkita myös käyttäy-
21
22
Viestimies 4/2010
tymistä valvovia HIPS (Host-based Intrusion Prevention System) ratkaisuja tai
erilaisia whitelisting-ratkaisuja, joissa
vain hyviksi tunnetut sovellukset pääsevät ajoon. Lähes kaikkien tietoturvatoimittajien uusimmista ohjelmistoista
löytyy HIPS-ominaisuuksia. Whitelisting-ratkaisujen käytössä täytyy muistaa, että Stuxnet oli tunnetun valmistajan digitaalisesti allekirjoittama, joten
pelkkä allekirjoituksiin luottaminen ei
olisi tässä tapauksessa riittänyt.
Organisaatioilla pitää olla kyky seurata tietojärjestelmiensä tilaa ja epäilyjen
herätessä tehdä forensiikkatutkimusta
tietokoneille. Forensiikalla tarkoitetaan
tietorikosten tutkimusta ja sana ”forensic” tarkoittaa oikeusopillista. Termiä
”computer forensics” käytetään erilaisista jäljitystoimista, joilla selvitetään
mitä rikoksesta epäilty on tehnyt omalla
tai jonkun muun koneella. Oudosti käyttäytyvä tietokone ei tietenkään yleensä
tarkoita kohdistettua haittaohjelma-
hyökkäystä, mutta joskus se voi sitä tarkoittaa. Tietoturvakontrollit jaetaan yleisesti estäviin, havaitseviin ja korjaaviin.
Näitä kaikkia tarvitaan. Kyky havaita
haittaohjelma ja poistaa se on tärkeää
vaikka tavoitteena olisikin estää haittaohjelmien pääsy järjestelmään kokonaan.
Tulemme jatkossa näkemään enemmän ja enemmän Stuxnetin kaltaisia uhkia. Kun tietoliikenne ja kriittiset toiminnot siirtyvät verkkoon, siirtyy myös James Bond kasinon pelipöydästä näppäimistön ääreen.
Jälkipeli jatkuu hamaan
tulevaisuuteen
http://www.langner.com/
http://blogs.technet.com/b/mmpc/archive/2010/07/16/the-stuxnet-sting.aspx
http://www.f-secure.com/v-descs/trojan-dropper_w32_stuxnet.shtml
http://www.symantec.com/connect/
blogs/w32stuxnet-dossier
http://anti-virus-rants.blogspot.com/
2010/09/stuxnet-revisited_27.html
http://www.ynetnews.com/articles/
0,7340,L-3742960,00.html
Onnistuiko Stuxnetin takana oleva
taho hyökkäyksessään? Kun Stuxnet
tuli yleiseen tietoisuuteen meni hyökkääjiltä mahdollisuus toimia salassa ja
Stuxnetin päivitys- ja kontrollikanavien
käyttö estettiin. Voi siis spekuloida, että
elleivät hyökkääjät saaneet kaikkia tavoitteitaan täyttymään ennen heinäkuuta 2010, ei hyökkäys ollut ainakaan täydellinen menestys. Koska uusin Stuxnet
versio on kesäkuun puolivälistä, on arveltu, ettei tavoite täyttynyt.
Aiheesta voi lukea lisää osoitteista: