Tartu tekniseen velkaan – vähennä kyberiskun uhkaa

Tartu tekniseen velkaan – vähennä kyberiskun uhkaa

Jos IT-ratkaisu olisi talo, sen toiminnalliset piirteet olisivat näkyviä ominaisuuksia – niitä, jotka tulevat jokaiselle rakennusta käyttävälle tutuiksi. Ei-toiminnalliset piirteet taas ovat rakennusvaiheessa tehtyjä ratkaisuja, jotka jäävät piiloon pinnan alle. Niihin on pakko kiinnittää huomiota vasta äkillisissä poikkeustilanteissa tai remontin lähestyessä.

Tekninen velka tarkoittaa sellaisia rakenteissa olevia ominaisuuksia, jotka vaikuttavat heikentävästi juuri näihin ei-toiminnallisiin, laadullisiin piirteisiin. Ohjelmistoratkaisuissa velka voi liittyä muun muassa suorituskykyyn tai laajennettavuuteen.

Miten tekninen velka syntyy?

Teknistä velkaa alkaa kertyä esimerkiksi silloin, jos sovellusta kehittävä tiimi päättää sijoittaa sovelluslogiikkaa ja tilan  hallintaa samaan komponenttiin.

  • Lyhyellä tähtäimellä päätös yksinkertaistaa arkkitehtuuria ja siten helpottaa aikataulussa ja budjetissa pysymistä.
  • Pidemmällä aikavälillä se kuitenkin tekee järjestelmän horisontaalisesta skaalaamisesta – siis skaalaamisesta palvelinten määrää kasvattamalla – vaikeaa tai jopa mahdotonta.

Teknistä velkaa syntyy pääsääntöisesti kahdella tavalla: joko tietoisesti, kuten edellisessä esimerkissä, tai epähuomiossa. Projektitiimi on saattanut tehdä valintoja, joiden vaikutusta kokonaisuuteen ei vielä valintoja tehtäessä täysin ole ymmärretty.

Syntysyyllä ei toisaalta ole suurta merkitystä, koska tosiasia on, että teknistä velkaa syntyy joka tapauksessa.

Kyberuhkien sietokyky on sidoksissa järjestelmän arkkitehtuuriin

Olemme jo hyvän aikaa digitalisoineet meitä ympäröivää yhteiskuntaa. Samaan aikaan kun digitalisaatio helpottaa arkeamme ja tehostaa organisaatioiden toimintaa, kasvaa kuitenkin huoli digitaalisesti kytketyn yhteiskuntamme kestävyydestä häiriöitä ja häirintää vastaan.

Järjestelmien sietokyky kyberuhkia vastaan on hyvin voimakkaasti sidonnainen järjestelmän arkkitehtuuriin ja sisäiseen rakenteeseen. Täten voimme ajatella, että jos teknistä velkaa on päässyt kertymään ajan saatossa paljon, on luultavasti myös kyberhäiriöiden sietokyvyssä parantamisen varaa.

Kyberuhkien näkökulmasta erityisen oleellista on järjestelmän suorituskykyyn ja turvallisuusominaisuuksiin liittyvä tekninen velka. Jos haluaa varautua kyberhäiriöihin, kannattaa siis tunnistaa oman toimintansa kannalta kriittiset järjestelmät ja kiinnittää huomio näihin osa-alueisiin.

Suorituskyky ja nykytilanteen arviointi

Miten järjestelmän suorituskykyä sitten voi arvioida? Käytännön kartoituksessa auttaa kuormitustestaus. Se kertoo siitä, miten hyvin nykyjärjestelmä kestää normaalista poikkeavaa kuormaa.

Kuormitustestausta voi täydentää sovellusten suorituskyvyn instrumentointiin tarkoitetuilla järjestelmillä (Application Performance Monitoring, APM). Ne lisäävät ymmärrystä siitä, mihin järjestelmä varsinaisesti käyttää aikansa käsitellessään pyyntöjä.

Näin järjestelmän ylläpitäjä voi tunnistaa mahdollisia pullonkauloja ja kohdistaa optimointitoimenpiteitä niihin paikkoihin, joissa niillä on suurin vaikutus. Kyberhäiriöihin varautumisen näkökulmasta on tärkeää tunnistaa esimerkiksi hitaat tai raskaat rajapinnat tai toiminnallisuudet, joita hyökkääjä voisi helposti hyödyntää järjestelmän kuormittamiseen.

Kuormitustestien lisäksi on hyvä tarkastella toteutunutta arkkitehtuuria suorituskyvyn näkökulmasta. Kokonaisvaltaisen arvioinnin menetelmät  auttavat tunnistamaan rakenteellisia esteitä skaalautumiselle sekä vertikaalisesti että horisontaalisesti.

Järjestelmän turvallisuus ja tekninen velka

Turvallisuusominaisuuksiin liittyvä tekninen velka on tyypillisesti paljon monikirjoisempaa kuin suorituskykyyn tai skaalautumiseen liittyvä velka. Kyberhäiriöihin varautumisen kannalta tärkeitä turvallisuusominaisuuksia – ja siten mahdollisia puutteiden paikkoja – ovat erityisesti seurattavuuteen ja havainnointiin liittyvät piirteet sekä pääsyoikeuksien hallinnan  kypsyysaste.

Joitakin puutteita voi tunnistaa ohjelmallisilla skannaustyökaluilla. Paremman tilannekuvan turvallisuusominaisuuksista saa kuitenkin silloin, kun työkalupohjaista lähestymistä täydentää esimerkiksi OWASP Top Ten –arvioinnin tai vaikkapa STRIDE-pohjaisen uhkamallintamisen avulla. 

Tee teknisen velan takaisinmaksusuunnitelma: 4 askelta

Mistä sitten kannattaa aloittaa, jos oman organisaation sietokyky kyberhäiriöitä kohtaan huolettaa? Oma, neljän askeleen toimenpidelistani on seuraavanlainen:

  • Kartoita organisaation toiminnan kannalta keskeiset tietojärjestelmät. Jos organisaatiosi on tehnyt kokonaisarkkitehtuurityötä, kartoitus on luultavasti kohtuullisen hyvällä mallilla. Olette silloin määritelleet esimerkiksi toimintaprosessien ja niitä tukevien järjestelmien suhteita.
  • Käy tietojärjestelmät läpi teknisen velan näkökulmasta. Onko otettua teknistä velkaa kuvattu tai dokumentoitu? Tietävätkö avainhenkilöt, missä mennään?
  • Arvioi, ovatko teknisen velan kuvaukset ajan tasalla. Onko kuvauksissa käsitelty velan vaikutuksia järjestelmän ei-toiminnallisiin laatuominaisuuksiin?
  • Suunnittele velalle takaisinmaksusuunnitelma. Painota kyberhäiriöiden sietokykyä ja suhteuta se siihen, kuinka kriittinen järjestelmä on organisaation toiminnalle.

Kun tiedostat velan, tiedostat myös riskit

Tekninen velka ei ole automaattisesti vain kielteinen ilmiö. Sen harkittu ottaminen voi nopeuttaa markkinoille pääsyä tai keventää tuotekehityksen kustannuksia. Nopeus on valttia silloin, kun halutaan esimerkiksi testata konseptien toimivuutta käytännössä ennen ratkaisun viimeistelyä.

Kertynyttä ja parhaillaan kertyvää teknistä velkaa kannattaa kuitenkin arvioida kriittisesti määräajoin. Näin ymmärrät nykytilanteen, tunnistat tärkeimmät riskit ja teet korjausliikkeet hyvissä ajoin.

Kaipaavatko järjestelmäsi kartoittamista tai modernisointia? 

Ota yhteyttä