Uusia tietoturvahaasteita sulautetuissa järjestelmissä

Perinteisesti teollisuuden sulautetut järjestelmät ovat keskittyneet prosessiohjaukseen, automaatioon ja valvontaan. Voimakkaasti kehittynyt sulautettujen laitteiden prosessoriteknologia mahdollistaa yleisimpien käyttöjärjestelmien käytön myös teollisuuden vaativissa reaaliaikasovelluksissa. Tällöin myös teollisuuden sulautetut järjestelmät pääsevät hyödyntämään IoT-teknologiaa, joka luo edellytykset Big datalle, analytiikalle ja tekoälyn hyödyntämiselle.

Tämä tarkoittaa kuitenkin myös uusia haasteita tietoturvan näkökulmasta, kun ohjausjärjestelmät voivat olla kytkettyinä verkkoon. Enää ei riitä laiteohjelmiston suojaaminen Secure boot -teknologialla ja TEE-ympäristöllä, vaan tarvitaan kokonaisvaltaisempia tietoturvaratkaisuja.

Tietoturva ja toiminnallinen turvallisuus

Toiminnallinen turvallisuus on yksi tärkeimmistä ominaisuuksista vaativissa teollisuuden ohjausjärjestelmissä. Tietoturvasta ja toiminnallisesta turvallisuudesta ei yleensä puhuta samassa yhteydessä, mutta teollisuuden ohjausjärjestelmissä ne voivat olla hyvin tiukasti yhteydessä toisiinsa.

Jos järjestelmä ohjaa laitteita tai prosessia, joka voi aiheuttaa vahinkoa ihmisille, omaisuudelle tai ympäristölle, on ilmiselvää, että kutsumattomat vieraat eivät saa päästä vaikuttamaan järjestelmän toimintaan. Mutta yhtä lailla huomioitavaa on järjestelmän vikatilanteet: esimerkiksi vikaantuneen laitteen aiheuttama ”palvelunestohyökkäys” ei saa aiheuttaa ohjausjärjestelmän alasajoa ja vaaratilannetta.

Näin ollen nykyaikaiset sulautettujen järjestelmien tietoturvaratkaisut ovat nykyään tärkeä osa myös toiminnallisen turvallisuuden suunnittelussa.

Konttiteknologia sulautetuissa järjestelmissä

Konttiteknologia on yksi merkittävimmistä innovaatioista, jonka suosio on kasvanut huomattavasti viimeisen kymmenen vuoden aikana. Teknologian avulla sovellukselle voidaan luoda rajoitettu ympäristö, joka sisältää vain kaiken tarvittavan eikä mitään ylimääräistä. Tämä kokonaisuus, kontti, on siirrettävissä helposti toiseen konttien ajoympäristöön, mikä helpottaa komponenttien uudelleenkäyttöä.

Sulautetuissa järjestelmissä konttien ajoympäristö voidaan asentaa laitteelle oletuksena, mikä mahdollistaa räätälöityjen sovellusten helpon lisäämisen jälkeenpäin myös loppuasiakkaalle. Kontit mahdollistavat myös kehitys-, testaus- ja tuotantoympäristöjen yhdistämisen (esim. DevOps-putkeen), jolloin työkalujen ylläpito helpottuu. Konttiteknologiaa toteuttavia ratkaisuja ovat esimerkiksi Docker ja LXC.

Konttiteknologiaa hyödyntämällä voidaan myös parantaa järjestelmän tietoturvaa kahdella tavalla: kontissa ajettavat sovellukset voidaan eristää muusta järjestelmästä ja lisäksi konttien avulla tietoturvapäivityksien tekeminen on helpompaa ja nopeampaa. Kun esimerkiksi järjestelmän verkkoon yhteydessä olevat sovellukset ovat kontitettu, voidaan tarvittaessa ainoastaan tämä kontti päivittää ilman koko järjestelmän kattavaa päivittämistä (ja testaamista). Tällöin kyseeseen tulevat myös verkon yli tapahtuvat OTA-päivitykset. Verkottuneiden laitteiden päivitysmahdollisuus on välttämätöntä jo tietoturvallisuudenkin näkökulmasta.

Reaaliaikajärjestelmät ja hypervisor-ohjelmistot

Reaaliaikajärjestelmissä merkittävä haaste on se, että järjestelmä pystyisi aina vastaamaan syötteisiin oikea-aikaisesti. Tämä tarkoittaa sitä, että esimerkiksi IoT-teknologia tai kommunikaatio eivät saa aiheuttaa viiveitä tai satunnaisia muutoksia järjestelmän vasteaikaan, mikä saattaisi puolestaan aiheuttaa vaaratilanteita toiminnallisen turvallisuuden näkökulmasta.

Tällainen reaaliaikajärjestelmä voidaan rakentaa nykyisellä SoC-piirillä asymmetrisenä, jolloin esimerkiksi eri käyttöjärjestelmiä tai sovelluksia voidaan suorittaa eri prosessoriytimillä. Tällöin kuitenkin tietoturvan kannalta tarvitaan ratkaisuja, joilla saadaan eri käyttöjärjestelmät eristettyä toisistaan.

Yksi keino tähän on käyttää hypervisoria, eli ohjelmistoa, joka valvoo ja ohjaa virtuaalikoneiden suorittamista. Jailhouse-projekti on varta vasten reaaliaikajärjestelmiä varten kehitetty hypervisor-ohjelmisto, joka ei varsinaisesti luo virtuaalikoneita, mutta hyödyntää nykyaikaisen prosessorin virtualisointiominaisuuksia luodakseen eristettyjä käyttöjärjestelmäinstansseja Linuxin rinnalle. Jailhousen etuja muihin hypervisoreihin (KVM, Xen jne.) nähden on nimenomaan keveys ja soveltuvuus reaaliaikasovelluksiin.

Kohti älykkäämpiä ohjausjärjestelmiä

Teollisuuden ohjausjärjestelmät vaativat yhä parempia ja kustannustehokkaampia ratkaisuja vastatakseen digitalisoinnin ja tietoturvan vaatimuksiin. Esimerkiksi konttiteknologian sekä hypervisor-ohjelmistojen hyödyntäminen tuovat kuitenkin mielenkiintoisia ratkaisumahdollisuuksia myös sulautettuihin järjestelmiin. Wapice kehittää ratkaisuja, jotka vastaavat näihin haasteisiin. Monimutkaiset, entistä älykkäämmät ohjaus- ja valvontajärjestelmät voidaan toteuttaa kustannustehokkaasti ja tietoturvallisesti hyödyntämällä viimeisimpiä teknologioita.


Kirjoittanut:
Jouko Haapaluoma ja Jani Paalijärvi