Blogi | Cinia

Tekoälyn mahdollisuudet turvallisuuskriittisissä ympäristöissä

Kirjoittanut Cinia Oy | 16.11.2023 11:51

Ohjelmistokehityksen tuottavuudessa otetaan tällä hetkellä valtavia harppauksia uusien, älykkäiden teknologioiden ansiosta. Moni uusista työkaluista kytkeytyy julkipilvipalveluihin tai avoimen lähdekoodin hankkeisiin. Miten tekoälyn etuja voi tuoda myös suljettuihin, korkean turvatason ympäristöihin – tietoturvasta tinkimättä?

Artikkeli on julkaistu Viestimies-lehdessä 3/2023.

Kielimallit, kuvantunnistustyökalut ja koneoppivat vahvistusalgoritmit: siinä muutama esimerkki nousevista teknologioista, joiden hyödyntäminen kiinnostaa järjestelmien kehityksen vastuuhenkilöitä tällä hetkellä organisaatiossa kuin organisaatiossa. Uusia teknologioita yhdistämällä ja ketjuttamalla markkinoille on tuotu työkaluja, joita arkisessa puheessa kutsutaan tekoälyksi.

Älyä ja tehoa voidaan tuoda vaativan ammattikäytön sovelluksiin monella tavalla, esimerkiksi matemaattisilla malleilla, jotka optimoivat resurssien tai välineistön käyttöä. Viime aikoina erityisen paljon pinnalla ovat olleet generatiiviset LLM-kielimallit (Large Language Model). Näistä ChatGPT lienee tunnetuin. Oheisessa taulukossa olemme listanneet käyttötapauksista muutamia esimerkkejä.

Opetatko tekoälymallia salaisuuksilla?

Tänä keväänä maailmalla uutisoitiin tapauksesta, jossa Samsungin työntekijät olivat epähuomiossa vuotaneet huippusalaisia tietoja ChatGPT:tä käyttäessään. Insinöörit syöttivät koodin lisäksi sovellukseen muun muassa laitteistoon liittyviä muistiinpanoja. Liikesalaisuudet päätyivät osaksi sitä aineistomassaa, josta työkalun muut käyttäjät louhivat vastauksia.

Uusimmissa päivityksissä ChatGPT on tuonut käyttäjille laajemmat mahdollisuudet vaikuttaa asetuksiin, mutta uusiin teknologioihin sisältyvät riskit pitää siitä huolimatta tiedostaa.

Sopivan työkalun valinnassa saa olla tarkkana. Salaisen datan vuotaminen on ilmeinen tietoturvariski, mutta tuo riski on mahdollista eliminoida vertailemalla samaan tarkoitukseen kehitettyjä, vaihtoehtoisia sovelluksia keskenään. Tarjokkaita on tullut lyhyessä ajassa saataville runsaasti. Niitä kehitetään etenkin suurten pilvipalveluntarjoajien, kuten Amazonin, Microsoftin ja Googlen siipien suojissa, mutta myös avoimen lähdekoodin yhteisöllisinä projekteina.

Yksinkertaistettuna riittää, että ammattikäyttöön ohjelmistoa kehittävä tiimi etsii vaihtoehtojen joukosta turvallisuus- ja saatavuuskriteerit täyttävän palvelun, kuten kielimallin, joka ei sieppaa sille syötettyä informaatiota käytön aikana, vaan hyödyntää muiden mallien keräämää tietoa. Sen jälkeen malli voidaan liittää osaksi järjestelmää. Korkean turvaluokituksen ympäristöissä lähtökohta on kuitenkin hieman monimutkaisempi.

Suljetut ympäristöt tuottavuuden kannalta eri asemassa

Valtiotason turvallisuuskriittiset ja suljetut ympäristöt ovat murroksen äärellä eri viivalla kuin esimerkiksi yksityisen sektorin yritykset, joiden kaupallisiin tuotteisiin ei kohdistu yhtä tiukkoja vaatimuksia tietojen turvaamisesta. Molemmilla areenoilla on siitä huolimatta yhtä suuri halu tehostaa toimintaa ja saada hyöty irti uusista teknologioista. 

Helposti saatavilla olevat, edulliset tekoälymallit ovat usein osa julkipilvialustojen palvelutarjontaa, tai niitä voi hankkia käyttöön erillisinä palveluina SaaS-mallilla.

Turvallisuusluokitelluissa järjestelmäkehityksen projekteissa – erityisesti maanpuolustuksen kontekstissa – näiden julkisesti saatavilla olevien valmisratkaisujen käyttö ei kuitenkaan ole aina mahdollista. 

Työn alla oleva järjestelmä saattaa sisältää tietoa, joka ei missään oloissa saa joutua vieraan vallan käsiin. Siksi vaatimuksissa edellytetään datan säilytystä tiukasti omissa käsissä.

Äärimmäisissä oloissa järjestelmän on toimittava esimerkiksi metsään sijoitetusta serverikontista käsin, ulkopuolisista internetyhteyksistä riippumatta. Silloin omiin, fyysisiin palvelimiin nojaava on-premise -ratkaisu voi olla ainoa vaihtoehto.

On työläämpää rakentaa älykkäitä teknologioita – oppivien algoritmien ja mallien monimutkaisia yhdistelmiä – suljettuihin sovelluksiin alusta asti itse, verrattuna siihen, että ottaisi käyttöön valmiita, edullisia komponentteja julkipilvikirjaston hyllystä.

Toimiviksi todettujen mallien takana on laaja, globaali opetusdata ja paljon hajautettua laskentatehoa. Jos samaa tasoa tavoitellaan turvaluokitellussa ympäristössä täysin omin voimin, hankkeiden tuottavuusero repeää hallitsemattoman suureksi.

Tekoälyn ketterään hyödyntämiseen on kuitenkin paljon mahdollisuuksia myös turvallisuuskriittisissä ympäristöissä.

Viisi ajankohtaista tapaa hyödyntää tekoälyä sovelluskehityksessä

Teknologia

Toimintaperiaate ja hyödyt

Esimerkkejä käyttökohteista 

Erityistä huomioitavaa, kun työkaluja tuodaan turvaluokiteltuun ympäristöön

Luonnollisen kielen käsittely (NLP, Natural Language Processing)

Algoritmiperhe, joka muuntaa ihmisen tuottamaa tekstiä tietokoneen ymmärtämään muotoon. Mahdollistaa mm. puheen muuntamisen tekstiksi ja analyysin.  

Aihealueiden tunnistaminen laajoista datamassoista. Automaattisten lyhennelmien luominen. Puhutun viestiliikenteen litterointi.

Mistä opetusdata on peräisin? Miten sovellus kerää käyttäjien dataa? Miten mallin opettaminen ja käyttäminen onnistuu suomeksi?

Vahvistusoppiminen (Reinforcement Learning)

Jatkuvasti oppiva päätöksentekojärjestelmä, joka adaptoituu muutoksiin nopeasti ja etsii optimaalisen tavan toimia. Mahdollistaa rationaaliset päätökset myös tilanteissa, joissa eri muuttujia olisi liikaa ihmisen käsiteltäväksi.

Itseohjautuva liikenne, asiantuntijajärjestelmät (eng. expert system).

Kun koneelle annetaan valta tehdä päätöksiä, millaiset ovat mahdolliset seuraukset turvallisuuden näkökulmasta?

Ennakoiva analyysi
(Predictive Analysis)

Tekoäly ymmärtää historiallisen datan avulla, mihin tämän hetken indikaattorit johtavat tulevaisuudessa. Ennustemallit antavat ihmistä luotettavampia arvauksia siitä, mitä on tapahtumassa.

Ajoneuvojen moottorivahinkojen ennustaminen etukäteen. Ennakoivilla huolloilla maksimoidaan hyötyajon määrä. 

Miten tuoda kaikki luotettaviin analyyseihin tarvittava data varsinkin korkeamman turvaluokan järjestelmiin (TL I, II ja III) turvallisesti?

Resurssioptimointi (Resource Optimization)

Resursseja on rajatusti, ja niitä tulisi hyödyntää mahdollisimman tehokkaasti. Matemaattinen optimointimalli laskee suunnitelman nopeasti ja aina oikein. 

Asiantuntijaresurssien allokaatioasteen optimointi. Kaluston tai tilojen maksimaalisen käyttöasteen löytäminen.

Algoritmi ei tarvitse historiallista dataa, mutta riittävän määrän syötedataa toimiakseen. Miten tuoda se turvallisesti varsinkin korkeamman turvaluokan järjestelmiin (TL I, II ja III)?

Konenäkö (Computer Vision)

Tunnistetaan valokuvista tai videokuvasta esineitä, henkilöitä, tekstiä tai muita asioita, joilla on merkitystä käyttökontekstissa

Rakennusten tunnistaminen ilmakuvasta. Ihmisen erottaminen koirasta osana liiketunnistusta

Mallin opetusvaiheessa on tärkeää pohtia, miten voidaan tehokkaasti hyödyntää avointa dataa.

 

Ota teknologia avuksi tietoturvallisen koodin tuottamiseen

Nousevat teknologiat tuovat mukanaan uusia toiminnallisuuksia, jotka näkyvät järjestelmien loppukäyttäjille. Näkymättömämpi, mutta vähintään yhtä merkittävä hyöty on se, miten paljon ohjelmistojen kehitystyö ja jatkuva ylläpito tehostuu. Älykkäät työkalut auttavat ohjelmistokehittäjiä esimerkiksi 1) ottamaan olemassaolevan koodin nopeammin haltuun, 2) luomaan proof of concept -kokeiluja, joihin oma osaaminen ei muutoin riittäisi, 3) nopeuttamaan uusien ohjelmointikielien oppimista ja 4) pääsemään eteenpäin arkisista ongelmanratkaisun umpikujista.

Olennaista on jälleen osata valita kehittäjän työkalupakkiin ne sovellukset, joiden käyttö on kyseisessä hankkeessa turvallista ja vaatimusten mukaista.

Tietoturvan analysointi on yksi tapa käyttää tekoälysovelluksia entistä kestävämpien järjestelmien rakentamiseen. Kone tunnistaa virheet väsymättä ja käsittelee suuriakin koodimassoja nopeasti. Myös ohjelmistojen testauksen ammattilaiset seuraavat koneoppimisen työkalujen kehitystä tarkasti. Tietoturvaan ja testaamiseen liittyvät tekoälyn hyödyt pätevät yhtä lailla avoimien kuin suljettujen ympäristöjen järjestelmäkehitykseen.

Hyödynnä valmisratkaisuja siellä, missä se on mahdollista

Oletetaan tilanne, jossa koko organisaatio joutuu huomioimaan tarkat turvallisuusmääräykset kaikessa toiminnassaan. Laajan organisaation sisältä voi silti löytyä yksiköitä tai toimintoja, joissa järjestelmät tai niihin liittyvä data eivät edellytä samankaltaisia turvatoimenpiteitä kuin jonkin toisen toiminnon kohdalla. 

Esimerkiksi sotilassoittokunnan nuotit on ehkä mahdollista säilyttää tietoturvallisesti julkipilvessä, vaikka se tarkoittaisi että palvelimet ovat toisen valtion alueella. Tai jos tarkoituksena on kerätä tiedustelutietoa avoimista, julkisista lähteistä kuten Facebook- tai Telegram-keskusteluista, voi olla mielekästä yhdistää tiedonkeruuvaiheeseen avoimesti saatavilla olevia algoritmeja ja julkipilvessä toimivia koneoppimismalleja. Se tuo tehoa tiedonkeruuseen, vaikka myöhemmässä tietojen käsittelyn vaiheessa julkipilven resurssien käyttö ei olisikaan enää mahdollista.

Tietojen säilytys saattaa näyttäytyä uudessa valossa myös Suomen NATO-jäsenyyden myötä. Eteen saattaa tulla tilanteita, joissa tietyn sovelluksen pyörittäminen yhdysvaltalaisten yritysten palvelinkeskuksilta käsin olisi aiemmin ollut tietoturvanäkökulmasta mahdoton ajatus. Nyt vaihtoehto voikin olla harkitsemisen arvoinen.

 

Tunnista, milloin datan käsittely muuttuu arkaluontoiseksi

Ohjelmistokehitykseen liittyy aina geneerisiä ongelmia, jotka toistuvat lukuisissa muissa projekteissa ympäri maailman. Kun kehittäjä etsii vastausta geneeriseen ongelmaan, hän voi ajatella tekoälymalleja osana tiedonhaun evoluutiota. Tänä päivänä tärkeä osa arkipäivän tietoturvaa onkin, että asiantuntija osaa erottaa, mitkä kysymykset ovat yleisiä, millaiset ongelmat taas sisältävät jo kysymyksenasettelun tasolla arkaluontoista tietoa.

Valmiita algoritmeja voi hyödyntää erityisesti uusien sovellusten ideointivaiheessa. Esimerkiksi salatun, ajoneuvoista kerätyn datan käsittelyä maastotietoihin yhdistettynä voisi ensin mallintaa vastaavan tyyppisellä julkisella datalla ja julkisilla karttatyökaluilla. Rautalankamallin pohjalta on helpompaa rakentaa vaatimuksia varsinaiselle järjestelmälle.

Seuraava vaihe, eli omien mallien rakentaminen, on Data Scientist -asiantuntijoille tuttua työtä. On silti syytä tietää tarkasti, mitä aikoo tehdä, ennen kuin polkaisee oman projektin käyntiin. Jos verrataan tekoälytoteutusta liikennevälineisiin: rakennatko potkulautaa standardisoiduista komponenteista vai teetkö scifi-alusta, jollaista ei ole vielä nähty?

Valmiin sovelluksen sisälläkin arkkitehtuureja voi olla useita erilaisia. Aiemmin mainittua julkista, sosiaalisen median tiedustelutietoa voisi aluksi luokitella julkipilveen nojaavilla sovelluksilla. Tai julkisista lähteistä kerättyjä maastokuvia voisi analysoida julkisesti saatavilla olevilla kuvantunnistuksen työkaluilla.

Kriteerit muuttuvat siinä vaiheessa, kun kerätystä tiedosta tehdään havaintoja, analyyseja, yhteenvetoja ja toimintasuunnitelmia. Tulkintoja ja johtopäätöksiä sisältävä data muuttuu valtion kannalta turvallisuuskriittiseksi, eikä sen joutumisesta vääriin käsiin voi ottaa riskejä. On siirryttävä suljettuun ympäristöön ja täysin omissa käsissä oleviin älykkäisiin malleihin.

Nivelkohtiin järjestelmien sisällä täytyy kiinnittää erityistä huomiota. Uuden sovelluksen rakennusvaiheessa tarvitaan syvällistä osaamista IT-arkkitehtuureista. Tarvitaan kykyä tehdä turvallisia siltoja avointen ja suljettujen ympäristöjen välille.

Etsi yhteistyön mahdollisuuksia omien mallien kehittämiseen

On siis tilanteita, joissa data on käsiteltävä tiukasti suljetussa ympäristössä, ja työtä helpottavat tekoälykyvykkyydet täytyy rakentaa itse. Kuten sanottua, työmaa ei ole aivan pieni. Haluaisimmekin nähdä tulevaisuudessa entistä enemmän ennakkoluulotonta yhteistyötä julkisen sektorin eri yksiköiden välillä.

Esimerkki NLP-toteutuksen näkökulmasta: suomi on pieni kielialue, ja valmista opetusdataa on siksi saatavilla niukasti. Toisaalta varsinkaan julkisella sektorilla ei ole realistista ajatella, että työkieli vaihtuisi sormia napsauttamalla englanniksi vain, koska tekoälytyökalut vaatisivat niin. 

Kuvitellaan nyt tilanne, jossa terveydenhuolto ja maanpuolustus huomaavat yhtä aikaa tarpeen sovellukselle, joka litteroisi puhuttua suomen kieltä tekstiksi ja tekisi siitä yhteenvetoja. Silloin on optimaalista resurssien käyttöä lähteä kehittämään mallia yhdessä eri organisaatioiden ja tutkimuslaitosten, kuten yliopistojen kanssa. Tämän tyyppisiä hankkeita onkin parhaillaan käynnissä. 

Mitä teknologiaan ja osaamiseen tulee, omien algoritmien kehittämiseen on Suomessa hyvät olosuhteet. Onhan valtion hallussa Euroopan nopein ja energiatehokkain supertietokone Lumi. Sen arvokasta laskentatehoa pääsee tällä hetkellä käyttämään vain rajatuissa aikaikkunoissa – jälleen hyvä peruste organisaatiorajat ylittävälle yhteistyölle.

Onnistuuko järjestelmän siirtäminen poikkeustilanteessa?

Turvallisuuskriittiset järjestelmät on viisainta tehdä arkkitehtuureiltaan siirrettäviksi, ja mahdollisuuksien mukaan myös harjoitella siirtoja erilaisiin ympäristöihin. Se on osa uhkiin varautumista.

Rauhan aikana on perusteltua vaatia esimerkiksi tiedon säilyttämistä konesaleissa valtion rajojen sisäpuolella. Varmuuskopioista huolehditaan kahdentamalla tai kolmentamalla data eri konesaleihin.

Jos ulkopuoliset uhkat realisoituvat poikkeusoloiksi, voikin äkisti olla turvallisempi vaihtoehto hajauttaa tietyt järjestelmät säilytettäviksi maan rajojen ulkopuolelle, esimerkiksi NATO-kumppanimaissa sijaitseviin konesaleihin. Kahdennuksesta tai kolmennuksesta huolimatta vihollisella olisi liian korkeat mahdollisuudet tuhota fyysisiä palvelimia.

Kriittisimmät järjestelmät pitäisi voida siirtää ketterästi kahteen suuntaan. Toisaalta on-premisesta virtuaalipalvelimille, toisaalta virtuaaliresursseilta tarvittaessa paikallisille servereille, juuri sinne metsässä sijaitsevaan fyysiseen palvelinkonttiin. 

Mitä enemmän järjestelmään on liitetty älykkäitä ominaisuuksia ja uutta teknologiaa, sitä enemmän erityisasiantuntemusta tarvitaan jo arkkitehtuurien suunnitteluvaiheessa. Vain siten voidaan varmistua siitä, että siirtymät ovat joustavia, ja operationaalinen toiminta ja älykkäiden teknologioiden hyödyntäminen voi jatkua ilman katkoksia kaikissa olosuhteissa.

Tekoälyn arvausten validointiin tarvitaan edelleen ihminen

Paljon pinnalla olleet generatiiviset kielimallit muodostavat kysyjälle vastauksia, jotka ovat kyllä vakuuttavan näköisiä, mutta silti vain aineistomassaan perustuvia arvauksia. Arvausten validointiin tarvitaan edelleen ihmistä. Oppivat, optimaalisia ehdotuksia tarjoavat matemaattiset algoritmit taas tarjoavat väsymättä rationaalisimman mahdollisimman vaihtoehdon, ilman inhimillisten tekijöiden vaikutusta. Se on sekä teknologian vahvuus että heikkous.

Tekoäly kehittyy valtavaa vauhtia. Turvallisuusvaatimukset sanelevat reunaehdot sille, millaisia kokeiluja omassa organisaatiossa on mahdollista tehdä, mutta kokeilevaa ja uteliasta asennetta tarvitaan myös korkean kriittisyystason suljetuissa ympäristöissä. Vain siten voimme rakentaa tulevaisuudenkestäviä, vahvoja ja kilpailukykyisiä ohjelmistoja.

Voinko hyödyntää pilvipalveluja ja niiden älykkäitä ominaisuuksia turvallisuuskriittisten ratkaisujen kehittämisessä?

Selvitä rationaalisesti, mikä on oikeasti kriittistä tietoa ja mikä ei. Saatat todeta esimerkiksi, että:

  • Järjestelmä ei ole salainen, eikä datakaan ole
  • Järjestelmä ei ole salainen, mutta sen data on
  • Järjestelmä ja data ovat salaisia, mutta prosessin alkuvaiheessa, kuten koodin generoinnissa, voi hyödyntää julkisia työkaluja, tai järjestelmän sisällä voi olla kokonaisuuksia joissa luokittelu on toisenlainen
  • Järjestelmä ja data ovat salaisia, mutta tarvittavien algoritmien kouluttamiseen voi käyttää julkista dataa

Huolellisesti suunniteltuna ja oikeilla teknologioilla lopputulos on resurssitehokas ja täyttää korkeat turvallisuusvaatimukset. 

Ota tekoäly osaksi tuotekehitystä


Kirjoittajat:

Niklas Collin työskentelee Cinia Oy:n johtavana konsulttina ja Team Leadina. Hänellä on lähes kahden vuosikymmenen kokemus haastavista ohjelmistokehitysprojekteista. Erityisen kiinnostunut hän on siitä, miten ohjelmistot voivat tuoda käyttäjilleen arvoa kehitystyön alkumetreiltä alkaen.

Tommi Harakkamäki on työskennellyt asiantuntijana vaativissa sovelluskehityshankkeissa vuosituhannen alusta alkaen. Työssään Cinia Oy:n ratkaisuarkkitehtina hän etsii tehokkaimmat keinot siihen, miten vaativaan ammattikäyttöön tehtyjen ohjelmistojen kokonaisuuksista tehdään turvallisia, moderneja ja joustavia.

 
Lue myös:

Valitse AI-työkalu oikein, jotta et aiheuta tietovuotoa

Sovelluksen modernisointi ja pilvisiirtymä – erottamaton kaksikko?

Tekoälyn hyödyntäminen ohjelmistokehityksessä: 4 tehokasta tapaa