Käyttöjärjestelmien turvatehtävistä TCB:hen

Yksinkertaisenkin tietokoneen käyttöjärjestelmällä on tehtäviä, joiden merkitys on tärkeä tietoturvallisuuden kannalta. Kyseessä ovat lähinnä muistin ja prosessien hallinnan rutiinit, joita ei yleensä tulla ajatelleeksi osana tietoturvaa. Niiden tavoitteena on pitää eri käyttäjät erossa toisistaan sekä käyttöjärjestelmästä, ja toisaalta tarjota kaikille mahdollisimman toimivat resurssit. Tiedostonhallinnalla on vastaavaa merkitystä, mutta sen toiminnan turvallisuus pohjautuu edellä mainituille ja on lähempänä käyttäjää.

Olisi epäilemättä suotuisaa, jos käyttöjärjestelmä osattaisiin rakentaa siten, että se pystyisi huolehtimaan nykyistä enemmän turvallisuudesta. Käyttöjärjestelmät ovat niin monimutkaisia, että tämä on kovin vaikea tehtävä. Toisaalta se olisi samasta syystä entistäkin tärkeämpää.

"Luotettu tietojenkäsittelypohja" (trusted computing base, TCB) tarkoittaa kokonaisuutta, joka koostuu tietokonejärjestelmään kuuluvista laitteista ja ohjelmista (ym.), jotka yhdessä panevat toimeen turvapolitiikan. Se, miten hyvin TCB toteuttaa politiikkaa, riippuu paitsi siihen kuuluvien mekanismien oikeellisuudesta, myös siitä, miten hyvin ne on suojattu ja miten hyvin politiikkaan liittyvät parametrit syötetään TCB:lle (esim. käyttäjien oikeudet).

Tietoturvallisuuden kannalta olisi tietysti suotavaa, että koko tietojärjestelmän voisi sanoa kuuluvan TCB:n eli luotetun tietojenkäsittelyn piiriin. Käytännössä TCB:n on kuitenkin parempi olla suppea, koska kovin suuren osuuden turvallisuudesta ei voitaisi kuitenkaan vakuuttua. Periaatteessa TCB:n ulkopuoliset osat pitäisi voida antaa vaikka hyökkääjän kirjoitettaviksi, eikä politiikasta silti tarvitsisi tinkiä.

Lähtökohtana voidaan pitää takeita siitä, ettei itse laitteistoa ole peukaloitu. Mielikuvana voisi sitten olla sellainen, että jokin viitemonitori välittää kaiken vuorovaikutuksen käyttäjien ja resurssien välillä -- tarkistaen joka kerta luotetusta pääsynvalvonnan tietokannasta, sallitaanko vai kielletäänkö vuorovaikutus.

TCB:hen sisällytettävät käyttöjärjestelmän osat voidaan määrätä sen mukaan, mitä tarvitaan politiikan toteuttamiseen. Näitä ovat ainakin:

  • laitteisto;
  • jonkinlainen prosessinvalvontamekanismi, jolla turvallisuudelle tärkeät prosessit pystytään erottelemaan muista;
  • perustavaa laatua olevat tiedostot, erityisesti pääsynvalvontaan ja autentikointiin liittyvät;
  • suojattu muistialue, jotta viitemonitoria ei päästä peukaloimaan;
  • jonkinlainen kommunikointimekanismi TCB:n eri prosessien välisiin tarpeisiin, esimerkiksi viitemonitorilta kirjausjärjestelmälle.

Kaikkea käyttöjärjestelmää ei kuitenkaan tarvitse sisällyttää TCB:hen, vaan esimerkiksi tiedostonhallinnan riittää kyetä käsittelemään niitä yksinkertaisia tiedostoja, jotka TCB vain tarvitsee.

TCB-käsite esiintyy harvemmin tavallisten järjestelmien yhteydessä, mutta sen piirteitä tarvitaan nykyään kaikissa käyttöjärjestelmissä. Seuraavassa mainitaan yksi tavallinen, pieneltä vaikuttava, mutta oleellinen turvallisuutta edistävä mekanismi.

TCB:n liitynnän turvattomaan maailmaan pitäisi tapahtua luotettua polkua pitkin ('trusted (communication) path'). Aivan konkreettisesti sitä edustaa näppäin, jollainen esim. IBM:n AIX-unixissa on "secure attention key" (SAK) ja MS-Windowsissa (NT:stä alkaen) ctrl-alt-del. Tämän painalluksen jälkeen vain luotetut ohjelmat pääsevät käyttäjän päätteelle. Erityisesti tällä torjutaan ("teurastetaan") Troijan hevosen tyyppiset ohjelmat, jollaisen joku on voinut asentaa päätteeseen login-ohjelman tilalle (tai eteen) varastaakseen salasanan. Tietenkin verkon ylitse tapahtuvassa sisäänkirjautumisessa tällainen näppäinkoodi menettää merkityksensä, sillä se voidaan väärentää (vrt. autentikoinnin tarve). Luotetun polun luotettavuus voi murtua myös aivan paikallisesti. Joku on voinut päästä vaihtamaan näppäimistön tai täydentämään sen liitäntäjohtoa omilla virityksillään. Nämä kuuluvat TCB:n laitteisto-osuuteen. Myös käyttöjärjestelmään on voitu tehdä muutoksia tai polussa on alunperinkin jokin haavoittuvuus. Käyttöjärjestelmän ja laitteiston yhteiselle alueelle voisi kuulua hyökkäys, jossa polun aktivointi ohjautuisi hyökkääjän omaan sovellukseen.

-- JukkaKoskinen?

SivuTiedotLaajennettu edit

Vaativuus Perus
Valmius Valmis
Tyyppi Ydin
Luokitus Toimet
Mitä Useita
Miltä Useita
Missä Useita
Kuka Titu-ammattilainen
Milloin Ennakolta
Miksi Hyvä tapa
Print version |  PDF  | History: r2 < r1 | 
Topic revision: r2 - 22 Apr 2010 - 11:42:57 - MaijuLehtonen?
 

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