Harri Susi, ohjelmistotestauksen ja tietoturvan asiantuntija Etteplanilta, näyttää dokumenttia. Se luettelee erään IoT-laitteen haavoittuvuudet, joita hakkerit saattaisivat hyödyntää. Tämä on ensimmäinen askel kohti parempaa tietoturvaa.
Paljon puhutaan IoT-laitteiden tietoturvasta juuri nyt. Harri Susi ei ole kiinnostunut tästä ”hypestä”, vaan hän haluaa viedä keskustelun pidemmälle, muuttaa asioita. Tämä ei ole mikään pieni haaste, sillä tietoturvaongelmat ovat todellisia. Markkinoilla on paljon haavoittuvia laitteita. Suurimmat syyt tähän löytyvät tuotekehitysprosesseista ja liiketoimintamalleista. Asioiden muuttamiseksi pitää ymmärtää, kuinka hakkerit toimivat ja ajattelevat.
- Tässä tapauksessa käytin F-Securen Radar-skanneria. Se on työkalu, jota voi käyttää rajapintojen haavoittuvuuksien etsimiseen, Harri kertoo.
Tämä on itse asiassa hyvin samanlainen lähestymistapa kuin hakkerilla. He etsivät järjestelmistä heikkouksia. Sellaisen löytäessään hakkerit tutkivat, miten sitä voisi hyödyntää. Harri löysi etsimänsä.
- Tässä on avoin laitteenhallintaprotokolla. Sitä ei pitäisi löytyä sen jälkeen, kun laite on julkaistu. Luultavasti se on unohdettu sulkea tuotekehitysvaiheessa.
Tämä on loistava esimerkki haavoittuvuudesta, jota on helppo hyödyntää. Salasanakin on luultavasti joku helposti arvattava, mikäli sellaista edes on.
Tämä haavoittuvuus on helppo korjata, mutta kaikki haavoittuvuudet eivät tietenkään ole näin yksinkertaisia. Yhteistä niille kaikille kuitenkin on, että ne pitää ensin löytää, jotta ne voidaan korjata. Tästä syystä testaus jollain sopivalla työkalulla on tärkeää ja oleellinen osa tietoturvallista tuotekehitysprosessia.
EI OMINAISUUS, VAAN AJATTELUTAPA
“Security is not a feature, it’s a mindset”, kuuluu vanha sanonta. Tietoturva ei ole mikään ominaisuus, vaan prosessi ja ajattelutapa. Sanonta on hyvin kuvaava. Olemme kaikki tottuneita tietokoneiden ja puhelimien turvapäivityksiin, mutta IoT-maailma on erilainen. Kun IoT-laite lähetetään asiakkaalle, se ”asennetaan ja unohdetaan”. Mitään ylläpitoa tai päivityksiä ei ole. Ja kun laite hajoaa, se heitetään pois ja tilalle hankitaan uusi.
On selvää, että pitkän päälle tämä ei ole kestävä toimintamalli. Häkätyt kuluttajalaitteet vaarantavat yksityisyydensuojan, mutta yritysten laitteet tarjoavat pahimmassa tapauksessa reitin yrityksen sisäverkkoon. Harri Susi kertoo konkreettisen esimerkin.
- Liitimme testissä erään IoT-reitittimen 4G-verkkoon emmekä jakaneet osoitetta kenellekään. Kahdessa viikossa reitittimeen oli asentunut bot-armeijaa rakentava Tsunami-haittaohjelma.
Ei siis ihme, että IoT-tietoturvasta keskustellaan tällä hetkellä paljon. Susi kertoo toisen esimerkin. Huonosti suojatut IP-pohjaiset turvakameraratkaisut voivat auttaa verkkorikollisia kaappaamaan vaikkapa pankin järjestelmiä haltuunsa. Esimerkiksi Interpolin tutkijoiden harjoituksessa web-kameraa käytettiin apuna peittämään haittaohjelman alkuperä. Huonosti suojatut web-kamerat muuttuvat erinomaisiksi verkkorikollisten apulaisiksi.
Mitä sitten pitäisi tehdä IoT-järjestelmien turvaamiseksi? Se ei ole mitään rakettitiedettä, Susi vastaa. - Kaikki tarvittava on jo nykyaikaisessa ohjelmistokehityksessä käytössä. IoT-laitteita täytyy alkaa hallinnoimaan kuten ohjelmistotuotteita. Tarvitaan elinkaaren hallintaa, ja varsinkin asennuksen jälkeistä ylläpitoa.
KOODIIN JÄÄ AINA VIRHEITÄ
Pitää siis ymmärtää, että tuotetta ei voi tehdä turvalliseksi koko sen elinkaaren ajalle ennen sen julkaisua tai asennusta. Se vaatii jatkuvaa työtä. Monet ajattelevat haavoittuvuuksia pelkästään ohjelmistovirheinä, joita on syntynyt tuotekehityksen aikana. Näitä vastaan voi taistella perinteisin keinoin esimerkiksi testaamisella ja ohjelmakoodikatselmoinneilla. Koodiin jää kuitenkin aina virheitä, mutta nämä virheet eivät ole niitä, joita hakkerit välttämättä hyödyntäisivät.
Monet IoT-järjestelmät kasataan erilaisista ohjelmistokomponenteista ja ne hyödyntävät julkisia API-rajapintoja, joiden lisäksi on vain vähän omaa koodia. On varsin yleistä, että jo julkaistussa tuotteessa on ylimääräisiä ja tarpeettomia komponentteja tai palveluja aktiivisena. Tai että olemassa olevasta, turvalliseksi todetusta komponentista löytyy haavoittuvuus julkaisun jälkeen. On siis tarpeen hallita laitteen koko elinkaarta ja varmistaa turvallinen tapa laitteen päivittämiseksi silloin, kun se on tarpeen.
- Olemme sokeita haavoittuvuuksille ilman sopivia työkaluja, kuten haavoittuvuusskanneria tai nollapäivähaavoittuvuuksia löytävää fuzzing-testausta, Harri Susi varoittaa.
Hakkeri aloittaa etsimällä heikkouksia. Heikkouksien poistamiseksi täytyy ne ensin itse löytää. Tämä on hidasta ja vaikeaa työtä ilman soveltuvia työkaluja ja osaamista. Tuote pitää koventaa (”hardening”) eli käytännössä tehdä mahdollisimman vaikeaksi kohteeksi hyökkääjälle.
Usein IoT-laitteiden tuotekehitystä tehdään kohtuullisen pienissä tiimeissä. Ohjelmistokehittäjät siirtyvät seuraavaan projektiin, kun edellinen valmistuu. Tietoturvasta huolehtiminen ja sen testaaminen pitäisi kuitenkin olla jatkuvaa ja kaikkien vastuulla. Nykyään puhutaan DevSecOps-mallista, joka on tietoturvalla vahvistettua DevOps-mallia projektin ensimmäisestä päivästä alkaen.
Etteplan voi auttaa asiakkaitaan testausjärjestelmällään, johon liitettyjä laitteita skannataan automaattisesti jatkuvana palveluna myös uusimpien tunnettujen haavoittuvuuksien osalta.
Artikkelin on kirjoittanut Etteplanin Karl-Kristian Högström. Se on luettavissa myös ETNdigi-lehdestä 1/2018.