Skip to main content

Osa 1 - Miksi verkkosovelluksen tietoturvatestaus kannattaa ja mitä on syytä ottaa huomioon?

16.08.2021
Tuukka Merilainen

Pysähdy hetkeksi pohtimaan seuraavaa kysymystä. Liittyykö edustamasi yrityksen liiketoimintaan verkkosovellus, jonka toimimattomuus tai sen tietojen vuotaminen vaikuttaisi liiketoimintaan merkittävästi? Esimerkiksi jokin seuraavista verkkosovelluksista:

• verkkokauppa,

• toiminnanohjausjärjestelmä,

• asiakastietoja, henkilötietoja tai potilastietoja varastoiva kokonaisuus,

• jokin muu kriittiseksi tunnistettu järjestelmä.

Jos tunnistit liiketoimintaanne liittyvän järjestelmän, jonka tiedot eivät saa päästä vääriin käsiin ja järjestelmän toimimattomuus näkyisi arjessa välittömästi. On syytä pohtia hetki tietoturvatestausta.

Edellisten kaltaisten kriittisiksi tunnistettujen järjestelmien tietoturvan taso kannattaa testauttaa tai varmistaa, että joku toinen on jo huolehtinut testauksesta. Saatat miettiä mielessäsi: “Miksi ihmeessä kannattaa testauttaa? (kuulostaa lisäkuluilta). Ei kai kukaan tee tietoturvatonta sovellusta ja kuka meitä vastaan hyökkäisi?”.

Laadukkaasti toteutetusta tietoturvatestauksesta saat lopputuloksena todellisuutta kuvaavan raportin sovelluksen tietoturvan tasosta ulkopuolisen pahantahtoisen hyökkääjän näkökulmasta. Raportin avulla on mahdollista kehittää ja varmistaa sovelluksen laatua ja turvallisuutta, joka edesauttaa tiedon luottamuksellisuutta, eheyttä, saatavuutta ja jäljitettävyyttä. Tietoturvan tason tunnistaminen auttaa varautumisessa ja edesauttaa ongelmien ennaltaehkäisyssä.

Parhaimmassa tapauksessa sovelluksen käyttäjäkokemus kohentuu ja luottamus järjestelmän toimintavarmuuteen kasvaa. Toisaalta mikäli tietoturvatestauksen raportti näyttää vihreää valoa, voit nukkua yösi kepeämmin ja todeta tietoturvan olevan ainakin näiltä osin hyvällä tasolla. Lisäksi asiakkaat ja loppukäyttäjät arvostavat “vihreää tietoturvatestauspaperia” ja ennen kaikkea sitä, että olet avoin järjestelmän tietoturvasta ja kerrot menetelmät, joilla tietoturvauhkia torjutaan. Varautuminen on ensiarvoisen tärkeää kaikin puolin. Yksinkertaisuudessaan kyse on happotestistä, joka esittää miltä verkkosovellus näyttää tietoturva näkökulmasta ulkoapäin tarkasteltaessa.

Hyökkäys on helppoa, mutta turvallisen verkkosovelluksen toteuttaminen on erittäin haastava tehtävä

Yleisesti ottaen vähintäänkin jo pidempään alalla toimineet sovelluskehittäjät ja sovellustoimittajat pyrkivät tuottamaan turvallisia ratkaisuja. Valitettavasti turvallisen verkkosovelluksen tekeminen on helpommin sanottu, kuin tehty. Oikeastaan turvallisen sovelluksen tuottaminen voidaan luonnehtia olevan todella haastava tehtävä, joka vaatii erityisosaamista ja merkittävästi tietoturvaan varattuja resursseja. Tilanne on sitä haastavampi mitä monimutkaisemmasta ja laajemmasta kokonaisuudesta on kyse. Lisämaustetta soppaan luovat tiukat aikataulut ja tiuhaan muuttuvat vaatimusmäärittelyt.

Vaikka sovelluksen toteutuksesta olisi vastuussa pitkänlinjan konkareita sisältävä “seniori tiimi”, inhimillisiä virheitä sattuu aina. Sovellukseen voi syntyä haavoittuvuuksia, vaikka maailman paras koodari olisi sorvin ääressä. Toisaalta usein kehitystiimit koostuvat myös junior-tason tekijöistä, joilla voi käytännön tasolla olla mahdollisuus toteuttaa muutoksia lähdekoodiin yhtä lailla kokeneisiin senioreihin verrattuna. Tiimityön lopputuloksena syntyy kokonaisuus, joka on niin vahva, kuin sen heikoin kohta.

Hyökkääjä vaanii ja kyttää tilaisuutta päästä hyödyntämään sovellukseen jäänyttä haavoittuvuutta. Ei ole merkitystä syntyykö haavoittuvuus inhimillisen erheen johdosta, osaamisen puutteesta, suunnitteluvirheen seurauksena tai kolmannen osapuolen tuottaman haavoittuvan komponentin käytöstä.

Miksi kukaan haluaisi toteuttaa kyberhyökkäyksen pahantahtoisen hyökkääjän näkökulmasta?

Kyberhyökkäyksen toteuttaminen on suhteellisen helppoa ja tiettyjen haavoittuvuuksien hyödyntäminen on mahdollista, jopa täysin automaattisilla työkaluilla. Haavoittuvuuksien hyödyntämiseen on Internetissä vapaasti saatavilla yksinkertaisia ohjeita, joiden avulla jopa suhteellisen vähän syvää osaamista hallitsevat tahot voivat toteuttaa kyberhyökkäyksiä.

Mikäli kohde on hyökkääjän näkökulmasta kiinnostava, hyökkäystä voidaan suunnitella ja valmistella pitkään teknisesti lahjakkaiden osaajien toimesta. Näissä tapauksissa jo pienikin virhe ohjelmistokehityksessä tai palvelutuotannossa saattaa johtaa erittäin ikävään lopputulokseen.

Kriittisessä kohdassa tapahtunut inhimillinen erehdys on tuhannen taalan paikka hyökkääjälle. Ohjelmistokehitys on tiimityötä ja yksi keskeinen osatekijä onnistunutta ja turvallista lopputulosta on puolueettoman kolmannen osapuolen suorittama tietoturvatestaus murtotestauksen menetelmin. Sen myötä sovelluksen tietoturva arvioidaan pahantahtoisen hyökkääjän näkökulmasta.

ENTÄS NE HYÖKKÄÄJÄT, KUKA HALUASI TEHDÄ KIUSAA JA TOTEUTTAA PAHANTAHTOISEN HYÖKKÄYKSEN?

Verkkosovellukseen toteutettu kyberhyökkäys tai sen hakkerointi on suomen lakien vastaista. Valitettavasti rikollisuutta ja pahantahtoisesti ajattelevia kuitenkin aina jostain ilmaantuu ja poliisi saadaan pidettyä kiireellisenä. Internetissä tilanne on erittäin herkkä, sillä kyberhyökkäys voidaan toteuttaa, vaikka toiselta puolelta maapalloa tänne koto Suomeen.

Helsingin keskustassa oleva asunto on mahdollista jättää lukitsematta työpäivän tai viikon Espanjan reissun ajaksi. Harva kuitenkaan oikeasti uskaltaa jättää ovea lukitsematta suuren kaupungin keskustassa. Yleinen elämänkokemus kertoo, että ovi laitetaan lukkoon tai voi käydä huonosti. Sama periaate pätee verkkosovelluksissa. Etenkin, jos liiketoimintakriittinen sovellus on suoraan avoinna Internettiin. Voidaan siis kuvitella Internettiin avoinna olevan sovelluksen olevan asunto tai auto, joka jätetään oman onnensa nojaan suuren kaupungin keskustaan. Ovet on syytä lukita ja varmistaa, että ikkunat ovat kiinni ja parhaimmassa tapauksessa kytketään päälle myös murtohälytin. Tietoturvatestauksessa pyritään varmistamaan, että näin on toimittu verkkosovelluksen osalta.

Mitä verkkosovelluksen tietoturvatestaus on käytännössä ja kuka on pena?

Järjestelmän tietoturvan taso selviää kätevästi tietoturvatestauksella, jossa kokeneet ammattilaiset suorittavat kohteeseen simuloidun kyberhyökkäyksen. Rakkaalla lapsella on monta nimeä ja tietoturvatestauksesta käytetään myös nimityksiä: murtotestaus, penetraatiotestaus, pentest tai leikkisästi “pena”. Pena on siis nimitys tietoturvatestaukselle, jossa pyritään murtautumaan tietojärjestelmään tai käyttämään sovelluksen toimintoja luvattomasti (penetraatiotestaus/murtotestaus).

Kyse on eettisestä hakkeroinnista, jossa järjestelmään toteutetaan white hat hengessä hyökkäys hyödyntäen samoja tekniikoita ja työkaluja, joita rikolliset hyödyntävät. White hat on termi, jota käytetään hyväntahtoisesta ja eettisin periaattein toteutetusta hakkeroinnista/hyökkäyksestä. Black hat termiä käytetään, kun toimitaan pahantahtoisin tavoittein piittaamatta eettisyydestä.

Käytännössä järjestelmään pyritään sovitusti ja luvan kanssa “murtautumaan keinolla millä hyvänsä” ja pyrkimyksenä on järjestelmän hyödyntäminen sillä tavoin, miten sen ei kuuluisi olla mahdollista. Joissain yhteyksissä kyberhyökkäystä ja hakkerointia verrataan perinteisten lukkojen tiirikointiin tai kassakaapin murtamiseen. Hyvä ja varmatoiminen lukko tai kassakaappi on vaikeasti tiirikoitavissa ja murrettavissa.

Edellinen vertaus on siinä mielessä huono, että perinteisen lukon tai kassakaapin murtaminen vaatii fyysisen pääsyn kohteeseen. Internetiin avoinna olevaa verkkosovellusta voi periaatteessa kuka tahansa yrittää murtaa, mistä päin maailmaa tahansa ja milloin tahansa (24/7/365).

Yhteenveto: verkkosovelluksen tietoturvatestaus, tarve ja hankinta

• Tunnista oman liiketoimintasi kannalta kriittiset järjestelmät tai niiden osat (keskity erityisesti kriittisiin ja suoraan Internettiin avoinna oleviin järjestelmiin).

• Selvitä onko kriittisiksi tunnistamiinne järjestelmiin toteutettu tietoturvatestaus puolueettoman ammattitaitoisen tahon toimesta.

• Jos tietoturvatestaus on suoritettu, varmista, että testaus on suoritettu teillä käytössä olevaan versioon teidän tarpeiden mukaisesti.

• Jos tietoturvatestausta ei ole suoritettu voit tiedustella onko palveluntarjoajasi halukas hankkimaan tietoturvatestauksen.

• Selvitä tarpeesi tietoturvan arviointiin ja valitse käytettävät menetelmät sen mukaan. Esimerkiksi murtotestauksen menetelmin suoritettu testaus ja tietoturvaa arvioiva katselmointi OWASP ASVS kriteeristöä hyödyntäen vastaavat erilaisiin tarpeisiin. Vaikka näin on, tietoturvatestaus termiä käytetään usein ristiin kuvaamaan molempia edellisiä. Voit kysyä lisätietoa eroista tietoturvakumppaniltasi.

• Mikäli haluat täyden varmuuden sovi sovellus-/palveluntoimittajan kanssa tietoturvatestauksen suorittamisesta. Ota yhteyttä tahoon, joka on erikoistunut verkkosovelluksen puolueettomaan tietoturvatestaukseen ja tilaa tietoturvatestaus “omaan piikkiin”.

• Tietoturvatestaus on hyvä suorittaa testikäytössä olevaan tuotantoympäristöä vastaavaan järjestelmään.

Lue lisää jatkuvasta tietoturvatestauksesta

Jaa Twitterissä


Jaa Facebookissa

silverskin logo