Entä jos Stuxnet-mato onkin tähän
mennessä vaarallisin haittaohjelma?
KIRJOITTI JUHANI MÄKELÄ 23. SYYSKUUTA 2010
Kesällä havaittu Stuxnet-haittaohjelma on paljastunut analysoinnin
edistyessä monella tavalla merkilliseksi ja ainutlaatuiseksi
tapaukseksi. Vähitellen eri tahoilta tihkuneet tiedot alkavat saada
jo vakoiluromaanimaisia ulottuvuuksia, joten lienee paikallaan
hetkiseksi pysähtyä pohtimaan mitä oikein on tapahtumassa.
Haittaohjelman löysi kesäkuussa valkovenäläinen
VirusBlockAda-tietoturvayritys erään iranilaisen asiakkaansa
tietokoneesta. Aluksi se vaikutti varsin tavanomaiselta USB-tikkujen
kautta leviävältä madolta, jonka merkittävin ominaisuus oli
Windowsin ennalta tuntemattoman .LNK-tiedostojen käsittelyyn
liittyvän haavoittuvuuden käyttö leviämistienä. Kun madon tartuttama
USB-muistitikku kytketään tietokoneeseen, siellä piilotteleva
ohjelma käynnistyy automaattisesti ja asentaa käyttöjärjestelmään
välittömästi ns. rootkitin, jonka avulla se kätkee itsensä
näkyvistä.
Tarkkaan katsomalla voi nähdä kuinka avautuvassa
resurssienhallinta-ikkunassa vilahtaa kuusi tiedostoa, jotka
kuitenkin häviävät hetken päästä. Muut tikulla olevat tiedostot
näkyvät normaalisti ja kaikki vaikuttaa olevan kunnossa, mutta
konepellin alla käy kuhina: uusia prosesseja käynnistetään,
valmiiksi käynnissä oleviin lisätään uutta ohjelmakoodia ja
tunnistetut virustorjuntaohjelmat lamautetaan. Vain tavallista
vilkkaammin vilkkuva kiintolevyn merkkivalo saattaisi antaa aihetta
olettaa että jotain outoa on tekeillä, mutta Tehtävien ja
Palveluiden hallinta näyttävät vain tuttujen ja turvallisten
ohjelmien olevan käynnissä, koska rootkit piilottaa niistä Stuxnetin
lisäämät osat.
Ajurit kavalasti allekirjoitettuja
Huolestuttava piirre Stuxnetissa on se, että se onnistuu asentamaan
tartuttamiinsa järjestelmiin huomaamatta uusia laiteajureita, vaikka
uudemmissa Windows-versioissa näiden käyttöjärjestelmäläheisten
osien tulee olla digitaalisesti allekirjoitettuja. Se johtuu siitä
että ajureilla onkin hyväksyttävä, VeriSignin taiwanilaiselle
Realtek-yritykselle myöntämällä varmenteella tehty allekirjoitus.
Myöhemmin havaitiin myös muunnos, jossa oli käytetty niin ikään
taiwanilaisen JMicronin varmennetta. On erittäin harvinaista että
ohjelmistojen allekirjoittamiseen myönnetyt varmenteet päätyvät
vääriin käsiin, saati sitten kahden eri yrityksen.
Suurin osa Stuxnetin sisältämästä ohjelmakoodista on
salakirjoitettu, joten otti aikansa ennen kuin sen varsinaiset
tarkoitusperät alkoivat selvitä. Heinäkuun puolivälissä
tietoturvatutkija Frank Boldwein onnistui purkamaan salakirjoituksen
ja kansainvälisen tietoturvayhteisön mielenkiinto heräsi. Kävi
nimittäin ilmi, että Stuxnetilla oli hyvin täsmällinen kohde:
Siemensin Step 7 -prosessinohjausjärjestelmä, jota käytetään
yleisesti teollisuuslaitoksissa ja voimaloissa. Stuxnet aktivoitui
vain jos tartunnan saaneeseen tietokoneeseen oli asennettu
järjestelmän WinCC-ohjaus- ja seurantaohjelmisto, muussa tapauksessa
se tyytyi vain levittämään itseään lähiverkkoyhteyksien välityksellä
naapurikoneisiin ja tartuttamaan koneessa käytetyt muistitikut.
Tässä vaiheessa Tofino Securityn Eric Byres arveli, että kysymys on
teollisuusvakoilusta, koska kohteensa löydettyään Stuxnet tekee
WinCC:n tietokantaan joukon kyselyjä ja lähettää yhteenvedon
tiedoista kahdelle hyvin viattomalta vaikuttavalle
jalkapalloveikkausivustolle, joista toinen sijaitsee Tanskassa ja
toinen Malesiassa. Vastatoimenpiteisiin ryhdyttiin ripeästi.
Heinäkuun loppuun mennessä Microsoft julkaisi normaalin
päivitysaikataulunsa ulkopuolella korjauspäivityksen .LNK-haavoittuvuudelle
MS10-046, VeriSign peruutti Realtekin ja JMicronin varmenteet,
Stuxnetin käyttämät jalkapallosivustot korvattiin tartuntoja
seuraavilla palvelimilla ja virustorjuntaohjelmistojen valmistajat
lisäsivät Stuxnetin tietokantoihinsa estääkseen sen leviämisen.
Heinäkuun 23. päivänä Kaspersky Labs arvoi noin 45 000 tietokoneen
saaneen tartunnan.
Myös Siemensillä toimittiin ripeästi. Havaittuaan järjestelmiensä
olevan uhattuna yhtiö lähetti jo seuraavalla viikolla asiakkailleen
päivityksen, jolla tartunnat voidaan ehkäistä. Teollisuusautomaation
asiantuntija Ralph Langner ryhtyi analysoimaan Stuxnetin keskeisiä
osia ja huomasi pian että Stuxnetin tekijöillä on erinomaiset tiedot
kohteestaan. Tämänhetkisen tiedon mukaan Stuxnet lisää omaa
ohjelmakoodiaan WinCC-järjestelmään kytkettyihin
PCS-prosessinohjauslaitteisiin, mutta piilottaa nämä osat
huolellisesti muokkaamalla WinCC-järjestelmää niin että lisäyksiä ei
voi havaita eikä poistaa. Tietoa siitä mitä nämä lisäykset saavat
aikaan ei ole annettu julkisuuteen, ja Langner kommentoi
säästeliäästi: “koko tämä juttu näyttää niin uskomattomalta, että en
oikein tiedä mitä siitä voi kertoa yleisölle”.[1]
Nollapäiväaukkoja kerrakseen
Näin taitavasti laadittu haittaohjelma olisi helposti kyennyt
tartuttamaan suuremmankin joukon tietokoneita. Kävi ilmi että
USB-muistitikkujen lisäksi mato levitti itseään myös toisella,
Windowsin kirjoitinjonoon liittyvällä haavoittuvuudella, jota aluksi
epäiltiin niin ikään ennen tuntemattomaksi. Lisäksi Stuxnet käyttää
kahta niin ikään ennen tuntematonta paikallista haavoittuvuutta
saadakseen kohdekoneessa rajoittamattomat käyttöoikeudet. Pelkästään
yhden tällaisen Zero-day-haavoittuvuuden löytyminen on uutinen,
mutta kolmen tai neljän samanaikainen käyttäminen on
ennenkuulumatonta. Ja kuitenkin Stuxnet on ohjelmoitu lopettamaan
leviämisensä kolme eri tietokonetta tartutettuaan.
Stuxnetin maantieteellinen levinneisyys on myös hyvin
mielenkiintoinen. Symantec huomasi haltuunottamiensa
jalkapallosivustojen avulla että yli puolet Stuxnetin tartuttamista
tietokoneista on Iranissa. Indonesia, Intia, Azerbaizan ja Pakistan
ovat myös kuuden eniten tartuntoja kärsineen maan joukossa. Näin
voimakas maantieteellinen keskittyminen johtuu siitä että Stuxnet ei
leviä Internetin välityksellä, vaan ainoastaan yleensä vain
lähiverkoissa toimivan kirjoitinpalvelun ja fyysistä kontaktia
vaativan USB-muistitikun avulla. Ei liene liioiteltua olettaa että
haittaohjelman liikkeellelaskijan tarkoitus oli iskeä nimenomaan
Iraniin, ja muihin maihin levinneet tartunnat ovat USB-tikkuja
mukanaan kuljettaneiden tietotyöläisten aiheuttamia oheisvahinkoja.
Summataanpa yhteen. Stuxnetin tekijöillä on käytössään
huippuasiantuntemusta niin tietoturvasta kun prosessikontrollista,
hallussaan varastettuja varmenteita ja keinoja käyttää hyväksi
useita ennen tuntemattomia haavoittuvuuksia melkeinpä tuhlailevasti.
Heidän kohteenaan ovat Iranin teollisuuslaitokset, joista
mainittakoon esimerkiksi Busheriin rakenteilla oleva ydinvoimalaitos
ja -rikastamo. Onkohan siellä käytössä Siemensin Step 7
-prosessinohjausjärjestelmä?
Mutta mitä hyökkääjät havittelivat? Pari pientä yksityiskohtaa jää
vaivamaan ainakin minua. Siihen verrattuna miten taitavasti Stuxnet
muuten on laadittu, siihen on jätetty ilmeisesti tarkoituksella pari
outoa kömpelyyttä. Miksi rootkit ei estä näkemästä
Drivers-hakemistoon lisättyjä tiedostoja? Miksi www-osoitteet joihin
ohjelma ottaa yhteyttä on vakioitu? Tumpelommatkin botnetin
rakentajat ovat jo pitkään osanneet kierrättää command and control
-palvelimien domain-nimiä jonkin vaikeasti arvattavan algoritmin
mukaan. Ikään kuin olisi varta vasten haluttu tehdä helpoksi nähdä
kuka ja missä on saanut tartunnan.
Itse veikkaisin että kyseessä on varoitus. Joku on halunnut lähettää
Iranin päättäjille viestin: me voimme räjäyttää teidän tehtaanne
taivaan tuuliin niiden omilla laitteilla jos haluamme. Pitäkää
varanne! Lieneekö sattumaa, että Langnerin analysoimassa koodissa
esiintyy liipaisinarvona luku #DEADF007, josta saa pienellä
mielikuvituksella sanat “dead fool”?
Totuus ehkä selviää aikanaan. Oli asialla kuka tahansa, kissa on nyt
nostettu pöydälle arvaamattomin seurauksin. Se on vielä pientä että
muuta haittaohjelmian kirjoittajat ovat innokkaasti ryhtyneet
lainaamaan Stuxnetin käyttämiä leviämiskeinoja. Mielestäni paljon
vakavampi seuraus on se ainakin minut yllättänyt tieto, miten
heikosti teollisuuden prosessinohjausjärjestelmät on suojattu.
Tilanteen kehittymistä tiiviisti seuranneen Industrial Defender
-yrityksen julkaisemasta “The Stuxnet Worm and Options for
Remediation” white paperista[2] käy ilmi erittäin huolestuttavia
asioita.
• Stuxnetin tehtävä lukea tai tarvittaessa muuttaa
WinCC-järjestelmän tietokantaa on helppo, koska tietokantaan pääsee
kytkeytymään vakioidulla valmistajatunnuksella. Tunnus on
kovakoodattu WinCC-ohjelmiin, joten sitä ei voi edes muuttaa vaikka
käyttäjä tulisikin asiaa ajatelleeksi. (Tiedossani ei ole muuttaako
Siemensin 22.7. toimittama päivitys tätä tilannetta, mutta käytäntö
on kuulemma alalla yleinen.)
• Ohjausjärjestelmissä käytetään yleisesti vanhentuneita
käyttöjärjestelmäversioita. Industrial Defenderin keräämien tietojen
mukaan lähes puolet Stuxnet-tartunnan saaneista tietokannasta käytti
joko Windows 2000 - tai Windows XP SP2 -versioita, joita ei enää
tueta ja joille Microsoft ei enää toimita korjauspäivityksiä.
• Ohjausjärjestelmien päivityssyklit ovat hyvin hitaita. Tämä on
ymmärrettävääkin, koska teollisuusympäristössä päivitykset on tapana
testata ja validoida huolellisesti ennen asentamista. Ikävä kyllä se
myös merkitsee sitä, että päivityksiä tehdään harvoin, ja
esimerkiksi Stuxnet pystyi menestyksekkäästi käyttämään vielä yhtenä
leviämiskeinona jo vuonna 2008 korjattua RPC-haavoittuvuutta
MS08-067.
• Lukuisilta WinCC-järjestelmää pyörittäviltä tietokoneilta on suora
yhteys julkiseen Internetiin. Symantecin oli helppo todentaa tämä,
koska Stuxnet ottaa yhteyttä www-sivuille vain löydettyään
WinCC-asennuksen. Siemensin mukaan ainakin 14 tuotantokäytössä
olevaa ohjausjärjestelmää on saanut Stuxnet-tartunnan.[3]
• Itse PCL-moduulien suojaus on lähes olematon.
Firmaware-päivityksiä ei tarvitse allekirjoittaa, ja niitä voi tehdä
miltä tahansa järjestelmään kytketyltä tietokoneelta.
Industrial Defender ei ujostele häpeilemättä mainostaa paperissaan
omia IPS- (intrusion prevention) ja IDS- (intrusion detection)
-järjestelmiään. Jotain sellaista toivoisi todellakin käytettävän,
vaikka parempiakin vaihtoehtoja ehkä olisi, esimerkiksi
haittaohjelmille alttiiden ohjaustietokoneiden kertakaikkinen
korvaaminen vastustuskykyisemmillä järjestelmillä. Siitä huolimatta
suosittelen lämpimästi heidän www-sivuihinsa tutustumista kaikille
prosessiautomaation ja tietoturvan parissa vaikuttaville. Pandoran
lipas on nyt avattu ja kiinni sitä ei enää saada.
Lähteet:
[1]
www.pcworld.com/businesscenter/article/205827/was_stuxnet_built_to_attack_irans_nuclear_program.html
[2] “The Stuxnet Worm and Options for Remediation”, PDF-dokumentti:
www.industrialdefender.com/advisory/stuxnet/tech_paper/stuxnet_08.2010.pdf
[3]
http://krebsonsecurity.com/2010/09/stuxnet-worm-far-more-sophisticated-than-previously-thought/
[Langner]
www.langner.com/en/index.htm
[Symantec]
www.symantec.com/connect/blogs/w32temphid-commonly-asked-questions
www.symantec.com/connect/blogs/w32stuxnet-installation-details
www.symantec.com/connect/blogs/distilling-w32stuxnet-components
www.symantec.com/connect/blogs/stuxnet-introduces-first-known-rootkit-scada-devices
www.symantec.com/connect/blogs/stuxnet-using-three-additional-zero-day-vulnerabilities
www.symantec.com/connect/blogs/stuxnet-print-spooler-zero-day-vulnerability-not-zero-day-all
[Industrial Defender]
http://findingsfromthefield.com/?p=549
Industrial Defender Download Center, vaatii rekisteröitymisen:
www.industrialdefender.com/general/downloads/recordings/stuxnet1/index.htm
www.industrialdefender.com/general/downloads/recordings/stuxnet2/index.htm
|