TTY / Tietoturvallisuuden jatkokurssi / Tutkielma 2013 / Valmis

Juhana Jaakkola

Yrityksen tietoturvaa - Application Whitelisting

Johdanto

Tässä työssä tarkastellaan miten Whitelisting –menetelmää voidaan soveltaa yritysten tietoturvaan. Tarkastelen työssä menetelmää sovellusten tasolla, jolloin puhutaan Application Whitelisting:stä. Menetelmässä pidetään tietokantaa, eli whitelist:iä, yrityksen käyttämistä luotetuista ohjelmistoista sekä näihin sovelluksiin liittyvistä säännöistä.

Whitelisting

Whitelisting on tietoturvamalli, jossa keskeisenä osana on lista luotetuista kohteista, kuten sovelluksista, joiden käsittely tai suorittaminen sallitaan, kaikkien muiden kohteiden estetään. Malli on siis käänteinen yleisesti virustorjunnassa käytetystä blacklisting -mallista, jossa kaikki haitalliseksi tunnetut kohteet torjutaan, mutta muut kohteet sallitaan. Malli on siis verrattain yksinkertainen, mutta se on tehokas tapa estää haitallinen sisältö. Whitelisting -lähestymistavassa ei tarvitse ylläpitää listaa kaikesta haitallisesta sisällöstä, mikä saattaa olla hyvin vaikeaa, sillä erilaisten haittaohjelmien ja niiden muunnosten määrä kasvaa jatkuvasti [1].

Whitelisting on myös periaatteessa ainut keino torjua nk. zero-day haittaohjelmat, jos ne eivät kohdistu itse Whitelisting -mekanismia vastaan. Tämä perustuu mekanismin ns. default deny -moodin, jossa torjutaan oletuksena kaikki tuntematon. Whitelisting -mallia voidaan soveltaa monilla eri tasoilla ja alueilla, yksittäisistä tietokoneista tietoverkkoihin ja -järjestelmiin, ja yksin sen sovelluksia on myös nk. Trusted Computing, jossa estetään laitetasolla muutokset, eli tuntemattomat laitekonfiguraatiot. Mekanismilla voidaan torjua tehokkaasti myös erilaiset troijalaiset, eli ohjelmistot jotka ovat linkitettynä toiseen, luotettuun ohjelmaan. Tällöin troijalaisen asentuminen voidaan havaita ja estää, koska se muuttaa luotettavan ohjelman tarkistussumma, jolloin ohjelmien yhdistelmä jää siten whitelistin ukopuolelle. [2]

Keskeistä on siis tietokannan ylläpitäminen, jota koko yrityksen verkon ja tietokoneiden tulisi käyttää. Tietokanta muodostetaan tietoturvapolitiikan mukaisesti, joko kertamäärittelyllä tai jatkuvasti päivittäen. Tietoturvapolitiikassa määritellään myös tietokannan sisältö, eli mitä ohjelmistoja voidaan asentaa ja suorittaa, sekä voidaan määritellä ohjelmistojen käytölle ehtoja ja rajoituksia. Ehtoja ja rajoituksia voivat olla esimerkiksi tiettyyn kellonaikaan käytettävissä olevat tai rajoitukset ohjelmistojen oikeuksissa käsitellä tiettyjä tiedostoja

Application Whitelisting osana yrityksen tietoturvaa

Yrityksessä tarvitaan siis tietokanta, whitelist, luotettavista ohjelmistoista, joiden asentaminen ja suorittaminen sallitaan. Yksinkertaisimmillaan tietokanta sallituista ohjelmistoista voi koostua vain ohjelmiston nimestä ja sijainnista, mutta yleensä sen muodostamiseen käytetään kahta menetelmää [1]:

1. Lasketaan tunnetusta ja luotettavasta ohjelmistosta tiiviste tai tarkistussumma.

2. Tallennetaan luotettavien sovellusten allekirjoitukset ja varmenteet.

Ensimmäisellä menetelmällä pyritään siis takaamaan tietokannassa olevan ohjelmiston eheys, eli varmistamaan että suoritettava ohjelmisto on todella se, mitä halutaan suorittaa. Jälkimmäisellä taas pyritään varmistumaan ohjelmiston alkuperästä ja aitoudesta.

Mekanismin toteuttajat

Tämän lisäksi tarvitaan jokin toimija, joka valvoo työasemia päätelaitteita ja palvelimia, ja sallii vain tietokannassa olevien ohjelmistojen asennuksen ja suorituksen, määriteltyjen sääntöjen mukaisesti. Säännöt laatii yleensä järjestelmän ylläpitäjä, eikä käyttäjä pääse itse sallimaan ohjelmistoja tai niiden suorittamista. Ohjelmien suoritusta valvovia järjestelmiä voidaan myös käyttää pelkästään valvontaan, jolloin saadaan kattava kuva yrityksessä suoritettavista ohjelmista. Tällöin voidaan havaita epäilyttävät ohjelmistot ja toteuttaa tarvittavat toimenpiteet keskitetysti. [2]

Kun ohjelmistoja asennetaan tai suoritetaan, toimija vertaa käsittelyssä olevan sovelluksen tiivistettä tai allekirjoitusta tietokannassa oleviin vastaaviin arvoihin ja tekee päätelmät ohjelmiston luotettavuudesta. Toimijalle täytyy myös määritellä mitkä jatkotoimenpiteet suoritetaan kohdattaessa whitelist:in ulkopuolista sisältöä, mikä on mahdollisesti haitallista. Jatkotoimenpiteet voidaan suorittaa joko automaattisesti tai kysyä käyttäjältä. Toimenpiteinä voivat olla esimerkiksi karanteeniin laittaminen ja raportointi ylläpidolle. Yleensä application whitelisting toteutetaan perinteisen virustorjunnan ohessa, ja sillä pyritään siis estämään itsenäisten haittaohjelmien asentuminen ja suoritus [2].

Haasteet

Application whitelisting:in suurimmat haasteet liittyvät juuri kattavan ja ajantasaisen whitelist:in ylläpitämiseen. Jos yrityksessä käytetään laajasti eri ohjelmistoja ja käyttöjärjestelmiä, voivat uudet ohjelmat ja versiot jäädä päivittymättä tietokantaan, jolloin voi syntyä ohjelmistojen suhteen saatavuusongelmia. Tällöin syntyy ns. false negative –tilanne, eli uuden ohjelman tai versio on tulkittu ei-luotettavaksi, "negatiiviseksi", vain koska se ei sisälly luotettuihin sovelluksiin. Tämä rajoittaa yrityksen joustavuutta eri ympäristöjen suhteen ja voi haitata työntekijöiden työntekoa mikäli tietokannan ja ohjelmistojen hallinta epäonnistuu.

Haasteena on myös ettei mikään ohjelmisto tai käyttäjä pääse kiertämään whitelistiä toteuttavaa toimijaa, tarkoituksella tai vahingossa. Järjestelmissä tulisi olla tälläisia tilanteita varten jokin mekanismi, jolla voidaan pakottaa tietokone tai palvelin "lock-outiin" eli estämään sen toiminen. [2]

Application Whitelisting:stä ulkoistettuna tietoturvapalveluna

Application Whitelisting:iä voidaan ostaa myös ulkoistettuna tietoturvapalveluna, mikäli yritys uskoo että ulkoistettu palvelun tarjoaja ja sen Whitelist on turvallinen. Useimmat tietoturvayhtiöt, kuten F-secure ja Kaspersky tarjoavat yrityksille Application Whitelisting –palvelua virustorjuntaohjelmistojen lisäksi. Lisäksi jotkin yritykset, kuten BIT9, tarjoavat erilaisia, Application Whitelisting:iin perustuvia turvajärjestelmiä [3].

Esimerkkinä työssä perehdytään Kasperskyn ratkaisuun. Yhtiö on yksi näkyviä menetelmän puolestapuhujia, ja se tarjoaa nimeämäänsä Dynamic whitelisting –palvelua. Yhtiö pyrkii pitämään maailmanlaajuista yhteistyöverkostoa, jolla se kerää informaation uusista ohjelmista [4].

Palvelun toiminta

Näytteet analysoidaan yhtiön toimesta mahdollisten haittaohjelmien ja -koodien varalta, ja luotettavat ohjelmat päivitetään tietokantaan. Käyttäjien toimintaa valvoo pääteohjelma, nk. Endpoint –ohjelmisto, joka käyttää ensisijaisesti paikallista Whitelist:iä.

Kohdattaessa listan ulkopuolinen ohjelmisto, Endpoint -ohjelmisto lähetettää sen tiedot Kasperskylle, joka kertoo takaisin tiedot luotettavuudesta sekä suositukset mahdollisista käytön rajoituksista. Ohjelmistojen asennuksia voidaan myös rajoittaa pääteohjelmalla, tosin tämä onnistuu toki myös muilla ohjelmistoilla. [5]

Pääteohjelmalla voidaan myös rajoittaa ohjelmistojen tai ohjelmistotyyppien ja -ryhmien käyttöönsä saamia resursseja ja oikeuksia, kuten pääsyä, lukemista, kirjoittamista, poistamista ja luomista esimerkiksi tiettyihin käyttöjärjestelmän kansioihin [6].

Palvelun edut

Kasperskyn mukaan palvelulla voidaan varmistaa ajantasainen ja kattavan tietokanta luotettavista ohjelmistoista yritysten käyttöön, ja vähentää yrityksen omien resurssien kulutusta. Yhtiön mukaan yrityksissä asennetaan keskimäärin kolme ohjelmistoa päivittäin, joiden joukossa on myös yritysten kieltämiä ohjelmistoja. Ongelmaan voidaan ratkaista helposti Application Whitelisting:illä, sillä se tarjoaa tavan estää haitallisen sisällön käymättä jokaisella kerralla läpi, mahdollisesti jo vanhentuneen, haitallisten ohjelmistojen listan eli blacklist:in. Kaspersky kutsuu omaa tietokantaansa nimellä Dynamic Whitelist, ja mainostaa sen ratkaisevan kolme keskeistä whitelistingin ongelmaa:

* Kattavuus: laajalla verkostolla saadaan kaikki mahdolliset ohjelmat tietokantaan.

* Ajantasaisuus: Verkoston nopeudella saadaan uudet ohjelmistot ja niiden versiot välittömästi päivitettyä tietokantaan.

* Luotettavuus: Tietokannassa on vain luotettavia ohjelmistoja eivätkä luotettavat ohjelmat jää sen ulkopuolelle.

Yhtiö mainostaa tuotettaan (osa)ratkaisuna myös kohdistettuihin hyökkäyksiin juuri default deny –moodin ansiosta. Sen mukaan ainoastaan whitelistingillä haittaohjelman monimutkaisuus tai "etevyys" ei vaikuta sen havaitsemiseen ja torjumiseen. [4]

Päätelmät / yhteenveto

Application Whitelisting on siis osa keskitettyä tietokoneiden ja verkkolaitteiden hallintaa, jolla pyritään parempaan tietoturvallisuuteen toimimalla vain luotettavien ohjelmistojen kanssa. Näistä luotettavista ohjelmistoista pidetään tietokantaa, eli whitelist:iä, ja vain näiden ohjelmistojen suorittaminen sallitaan. Lisäksi ohjelmien suorittamiseseen liittyvistä säännöistä voidaan tehdä oma whitelist, jolloin voidaan hallinnoida myös niiden käyttöä ja käyttäytymistä.

Haasteena tietoturvamallissa ajantasaisen whitelistin ylläpitäminen. Kun uusia sovelluksia ja niiden versoita kehitetään nopeassa tahdissa, voivat luotettavatkin ohjelmistot jäädä whitelistin ulkopuolelle, jolloin niiden suorittaminen estyy ja siten syntyä ohjelmien suhteen saatavuusongelmia.

Application Whitelisting voidaan ostaa myös palveluna, jolloin yleensä ulkoistetaan juuri whitelistin ylläpitäminen. Useat yhtiöt tarjoavat ratkaisuja joilla voidaan helposti hallinnoida työasemille ja palvelimille asennettavia ohjelmistoja ja niiden toimintaa. Esimerkkinä tarkasteltiin tietoturvayhtiö Kasperskyn ratkaisua, missä yhtiö ylläpitää ja analysoi whitelistiin lisättävät ohjelmistot ja huolehtii siitä, että sitä käytetään työasemissa ja palvelimilla.

Lähteet

Print version |  PDF  | History: r4 < r3 < r2 < r1 | 
Topic revision: r4 - 27 Nov 2013 - 16:48:51 - JuhanaJaakkola?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback