- COMP.SEC.100
- 10. Sähköisen todistusaineiston tutkinta eli forensiikka
- 10.2 Käänteinen näkökulma forensiikkaan
Käänteinen näkökulma forensiikkaan¶
Forensiikan kehittyneiden tekniikoiden opettelu ei ole tämän kurssin aiheena. Niiden omaksuminen edellyttää syvällistä tietoa mm. käyttöjärjestelmistä, tiedostojärjestelmistä ja verkkotekniikasta. Tarkastellaan asiaa tässä alaluvussa käänteisesti tavallisen käyttäjän näkökulmasta: Mitä hänen kannattaa siivota tietokoneeltaan?
Tiedoston poistaminen¶
Tärkeiden tiedostojen tuhoutuminen käyttäjän toimien, laiterikkojen tai hyökkäysten takia on vakava ongelma. Sitä torjutaan monin fyysisin ja ohjelmallisin keinoin, erityisesti varmuuskopioin. Asialla on myös kääntöpuoli. Usein tiedostoja halutaan hävittää, mutta tämä ei ole aivan suoraviivaista.
Tiedostojen hävittäminen, deletointi, ei merkitse sitä, että tieto oikeasti häviäisi. Ensinnäkin käyttöjärjestelmät saattavat siirtää poistetut tiedostot “välivarastoon”, josta ne pitää erikseen käydä hävittämässä (esim. recycle bin). Hävittäminen voi olla myös automaattista ja tapahtua jonkin määräajan kuluttua tai jonkin tilarajan täyttyessä vanhimmasta alkaen.
Toiseksi, varsinainen tiedoston hävittäminenkään ei yleensä poista tiedoston bittejä. Tyypillisesti tiedostonhallinta vain muuttaa käsitystään tiedoston olemassaolosta eli poistaa sitä koskevat tiedot, kuten nimen ja osoitteen, luettelostaan. Tämän jälkeen se ei enää tunne eikä löydä tiedostoa ja pitää sen aikoinaan varaamaa talletustilaa vapaana. Ennen kuin mitään muuta kirjoitetaan tiedon päälle, se on entisellään ja senkin jälkeen jotkin osat voivat olla koskemattomina tallessa. Tällaisia tietoja sanotaan jäännöstiedoksi (residual information). Vaikka monet ohjelmat eivät saa enää otetta edes omiin tiedostoihinsa, joissa on bittivirheitä, tämä ei tarkoita, ettei tiedoston palasistakin olisi saatavissa jotain sellaista irti, jonka paljastumisesta voi olla haittaa. (Jäännöstiedoiksi voidaan jossain yhteyksissä kutsua, mutta ei pitäisi, myös sellaisia tiedon jäänteitä, jotka käyttöjärjestelmä kyllä tunnistaa, mutta sovellusohjelma on tavallaan “unohtanut”.)
Jäännöstiedosta ei ole haittaa siinä mielessä, että se sotkisi vanhojen versioiden kautta nykyisiä dokumentteja. Tiedostonhallintahan ei enää tunne koko tiedostoa ja muut tavalliset (siis toimisto- yms.) ohjelmat puolestaan käyttävät sen palvelua.
Jäännöstiedon poistaminen hoidetaan päällekirjoituksella. Täsmällisemmin sanottuna tieto (ei jäännöstieto) pitäisi poistaa päällekirjoituksella, jos halutaan ettei siitä tule hallinnoimatonta jäännöstietoa. Luonnollisesti päällekirjoitusta voi soveltaa myös tallennusvälineen käyttämättömiin alueisiin, jolloin jäännöstieto häviää. Päällekirjoitukseen tarvitaan yleensä erillisiä ohjelmia, joita on runsaasti saatavilla, myös muun ohessa, esim. PGP:n joissain versioissa. Olisi hyvä, jos päällekirjoitus olisi käyttöjärjestelmissä vakiona, kuten esim. shred Linuxissa. MS-Windowsin omalta sivustolta on saatavissa SDelete. Koska monet käyttävät konetta enimmäkseen vain joidenkin sovellusten kautta, yhtä tärkeää olisi, että siivous hoituisi niiden kautta. Erityisesti selaushistorian, välimuistin ja evästeiden poiston olisi syytä toimia näin.
Korkeaan turvatasoon liittyy vaatimuksia sille, millä tavoin ja montako kertaa päällekirjoitus pitää tehdä. Muutamaan kertaankin päällekirjoitetulta magneettiselta pinnalta on joskus mahdollista löytää jäänteitä alkuperäisistä biteistä. Tällä tasolla bitit eivät nimittäin ole täysin binäärisiä; bittiä edustavan magneettikentän voimakkuus vaihtelee hieman ja samoin sen tarkka sijainti. Seitsemää päällekirjoituskertaa on perinteisesti pidetty riittävänä, mutta todellisuudessa varsinkin nykyisen hyvin tiheän tallennuksen tapauksessa yksikin kerta riittää: vaikka bittejä sen jälkeen löytyykin, niitä on liian harvassa merkitysten muodostamiseen. Kyberturvallisuuskeskus on julkaissut ylikirjoitusohjeen (2016) ja toisessa ohjeessaan (2020) tarkastelee tietovälineiden käytöstä poistoa.
Omatoiminen tiedostojen pyyhkiminen voi olla tarpeen samoista syistä kuin vaikkapa säilytettävien tiedostojen salaaminen, eli
- tietokoneen tai tallennusvälineen varastamisen varalta;
- pahojen ohjelmien varalta;
- siltä varalta, että joku muu laillinen käyttäjä pääsee käsiksi tietoihin, esim. ylläpitäjä tehdessään jotain sinänsä tarpeellista ja luvallista
- muun tunkeutumisen varalta.
Salattuina säilytettyjen mutta sittemmin poistettujen tiedostojen pyyhkiminen ei kuitenkaan ole tarpeellista. Perusteena on se, että salaus on riittävän vahva suojaamaan säilytettävätkin tiedot. Poistetut tiedot ovat joka tapauksessa vaikeammin saatavissa kuin säilytetyt. Tiedostojen salauksen vahvuuden vakavin haaste lienee se, että taustalla on yleensä salasana, jonka ihminen kykenee muistamaan.
Omatoimiseen hävitettyjen tiedostojen pyyhkimiseen ei välttämättä aina ole mahdollisuutta, varsinkin jos puuttuu tietoa siitä, missä tiedoston kopioita sijaitsee. Toisinaan käyttöjärjestelmä sentään hoitaa asian automaattisesti, mutta toisaalta edistynyt tiedostojen (tai tallennusmedian) hallinta saattaa muodostaa runsaasti ajoittaisia tai osittaisia kopioita, joista muodostuu jäännöstietoa (versioinnit, median kulumisen hallinta, defragmentoinnit ym.).
Samalla tallennusvälineellä voi olla useita käyttäjiä myös samanaikaisesti. Ennen kuin jokin muistialue annetaan toiselle käyttäjälle käyttöjärjestelmän on tyhjennettävä se päällekirjoituksella. Vastaava koskee siis myös keskusmuistia, jossa nollaus voi tapahtua muillakin keinoilla. Tekniikasta ja vaatimuksista riippuen RAM-muistiakaan ei noin vain saa luulla nollautuneeksi . Tarkkoja sääntöjä löytyy myös sille, miten tietoväline poistetaan lopullisesti käytöstä. Ei riitä, että jokin alan yritys suorittaa fyysisen tuhoamisen määrätyllä tavalla. Tietojen omistajan pitää valvoa, että näin tosiaan tapahtuu. Sama koskee myös arkaluonteisia paperidokumentteja.
Tiedon poistaminen¶
Tiedoston hävittämisen ongelma on melko yksinkertainen verrattuna siihen, että yleisemmin jokin tieto haluttaisiin pyyhkiä olemattomiin. Tietenkään tässä ei nyt ajatella sitä “jäännöstietoa”, joka on yrityksen entisen työntekijän korvien välissä. Siihen auttaa vain ajan myötä tapahtuva unohtuminen (samalla asiakin ehkä vanhenee). Sama koskee omassa muistissa olevia asioita, joista voi olla haittaa monella tavalla.
Melko ilmeisiä paikkoja, joista tieto pitää muistaa hävittää ovat
- käytöstä poistetut tai muiden käyttöön kierrätetyt tallennusvälineet ja tietokoneet;
- varmuuskopiot.
Tarkastellaan tässä joitakin vähemmän ilmeisiä paikkoja, jonne tiedosta voi unohtua sellaisia jäänteitä, jotka voivat olla haitallisia paljastuessaan. Verkkoselainta käsitellään erikseen jäljempänä.
- Tietoa käsittelevät ohjelmat tallettavat usein väliaikaistiedostoja, jotka sisältävät itse tietoa. Sellaisia on voinut jäädä poistamatta, jos ohjelma on virheellinen tai sen ajo on keskeytynyt epänormaalisti tai tietoväline on siirretty pois sen ulottuvilta.
- Käyttöjärjestelmät ja monipuoliset dokumentteja käsittelevät ohjelmat tallettavat kaikenlaista muutakin tietoa tiedoista. Erityisesti viittauksia hiljattain käsiteltyihin tiedostoihin esiintyy. Jos tiedosto ja hakemistopolkukin on nimetty kuvaavasti, viittaukset tietoon voivat paljastaa jotain tiedosta itsestäänkin. Tällaisia paljastumisia tarvitsee yleensä varoa vain omalla koneella, siis silloin kun joku muu voi saada sen hallintaansa.
- Toisella tavalla pitää varoa dokumenttitiedostojen oheistietoja (metatietoja), joiksi voi tallentua automaattisesti esim. tekstin ensimmäinen rivi ja laatijan nimi tai käyttäjätunnus. Jos tällaista tiedostoa käyttää uuden asiakirjan pohjana, voi vanha oheistieto jäädä muuttamatta. Tällaisen asiakirjan lähettäminen tuottaa ilmeisen tietoturvauhkan.
- Tekstinkäsittelyohjelmaan voi kopioida taulukkolaskentaohjelmalla tehdyn taulukon, kaavion tms. alkuperäisen ohjelman formaatissa (esim. MS-Wordiin upotettava MS-Excelin taulukko-olio). Samalla voivat kopioitua muutkin taulukon solut kuin ne jotka valittiin (ja myös muut välilehdet). Editoija voi tällöin huomaamattaan tulla julkaisseeksi muutakin kuin on aikonut. Vastaavasti voi käydä kuville, joista on rajattu teksturissa jotain pois, sillä kuva voi silti olla kokonaan tiedostossa.
- Muualle lähetettäviin asiakirjoihin liittyy vielä yksi edellisten tapainen ongelma, nimittäin muutostiedot eli palautustiedot, joiden perusteella voidaan tehdä “undo”-toiminto (myös pelkkä lokitieto on mahdollinen). Tällaisia esiintyy monissa sovellusohjelmissa, kuten tekstinkäsittelyssä tai tietokannoissa ja ne voivat olla tarkoitettuja myös muutosten tarkasteluun. Tiedot talletetaan jollain tavalla nykyisen tiedon mukana tiedostoihin. Jos pelkästään lopputulos halutaan lähettää liikekumppanille tai vastaavalle, on varmistuttava siitä, että lähetettävä versio sisältää vain sen, mitä on tarkoituskin. Tätä varten voi käyttää erilaisia pelkästään luettavaksi tarkoitettuja tallennusmuotoja (esim. PostScript tai PDF) tai muita karsittuja muotoja (ascii-tekstistä alkaen, myös esim. RTF eli rich text format). Hyvistä sovellusohjelmista pitää löytyä omat keinot tätä varten.
- Yleisesti, jos tietoa on siirretty sähköpostilla tai muuten eri paikkojen välillä, tiedon sijaintipaikkoja voi olla arvaamattoman runsaasti. Jos tieto on joskus julkaistu WWW:ssä, sen hävittämisyritykset kannattaa unohtaa. Ainoa mitä ehkä voi tehdä, on hämärtää arveluttavan tiedon merkitystä julkaisemalla paljon muutakin samantyyppistä …
Esimerkki oheistiedoista Windowsissa: Skannataan valokuva, käsitellään sitä skanneriohjelmaa paremmalla kuvaohjelmalla ja poltetaan se lopuksi CD-ROM:lle esim. pitkäaikaista arkistointia varten. Mistä kaikkialta omalla koneella pitäisi siivota jälkiä, jos edes kuvalle annettua nimeä ei haluta paljastaa? Automaattisesti nimettyjä väliaikaistiedostoja voi tulla sekä skanneriohjelmasta että kuvankäsittelystä ja kummankin ohjelman Tiedosto-valikkoon voi jäädä viittaus tuoreimpien nimiin. Viittaus voi jäädä myös Windowsin Start-valikkoon. Jotta CD:n poltto olisi järkevää, se tehdään varmaankin samalla kertaa kuin usean muunkin tiedoston käsittely eli kuvakin on välillä tallennettu ja nimetty. CD-levyä nykyaikaisemmatkin arkistointitavat voivat sisältää väliaikaistallennusta.
Toinen esimerkki: SSH:n turvallinen FTP-tiedostonsiirto, esim. WinSCP-toteutuksena, on nykyaikaisten ohjelmien tapaan avulias. Kotikoneelta voi käsitellä etäkoneella (esim. työpaikalla) olevia tiedostojaan melkein kuin ne olisivat paikan päällä. Jos varsinaisen siirron sijasta haluaakin vain katsoa esim. jonkin tekstitiedoston sisältöä, ohjelmisto tuo sen kotiin ja avaa editoriin. Kun käyttäjä sitten sulkee editorin tallentamatta tiedostoa, hän voi luulla, ettei koneelle jäänyt jälkiä. Todellisuudessa tiedosto on tallessa SSH:n temp-hakemistossa, melko syvällä hakemistohierarkiassa — eikä pyyhkiydy sieltä SSH:n sulkemisen yhteydessä.
Tapaus: selain¶
Verkkoselaimet tarjoavat kuusi kiinnostavaa tiedonlähdettä forensikolle:
- URL-osoite ja hakuhistoria. Tällä hetkellä ei ole käytännön esteitä täydellisen selaushistorian eli vierailtujen verkkosivustojen lokin ylläpitämiselle. Se on tärkeä käytettävyysominaisuus, ja useimmat käyttäjät poistavat nämä tiedot harvoin. Palveluntarjoajat, kuten Google ja Facebook, ovat erikseen kiinnostuneita näistä tiedoista kaupallisista syistä ja helpottavat selauslokin jakamista useiden laitteiden kanssa. Yhdessä paikallisen tiedostovälimuistin kanssa selaushistoria antaa forensikon melkein katsoa käyttäjän olan yli tämän selaillessa nettiä. Erityisesti käyttäjien hakukonekyselyiden analysointi on yksi yleisimmin käytetyistä tekniikoista. Hakukysely on koodattu osaksi URL-osoitetta, ja se voi usein tarjota erittäin selkeitä ja kohdistettuja vihjeitä siitä, mitä käyttäjä yritti saavuttaa.
- Lomaketiedot. Selain täydentää automaattisesti salasanoja ja muita lomakkeilla tarvittavia tietoja, kuten osoitteita. Tämä voi olla erittäin hyödyllistä forensikolle, varsinkin jos käyttäjä on vähemmän turvatietoinen eikä käytä pääsalasanaa näiden tietojen salaamiseen.
- Väliaikaiset tiedostot. Paikallinen tiedostovälimuisti tarjoaa oman kronologiansa verkkoselauksesta. Siihen sisältyy tallennettu versio sivuista, jotka haettiin ja näytettiin käyttäjälle. Näitä ei ehkä ole enää saatavilla verkossa. Vaikka välimuistin forensinen merkitys on heikentynyt dynaamisen sisällön lisääntyneen käytön vuoksi, tätä kompensoi tallennuskapasiteetin suuri kasvu. Välimuistiin tallennetun datan määrälle on hyvin vähän, jos ollenkaan, käytännön rajoituksia.
- Ladattuja tiedostoja ei oletuksena koskaan poisteta, mikä tarjoaa toisen arvokkaan tietolähteen käyttäjän toimien jäljittämiseksi. Latauksella tarkoitetaan download-toimintoa, joka on eri asia kuin sivun tavanomainen lataus eli retrieve-toiminto. Jälkimmäinen on se, johon edellä puheena ollut cache-muisti liittyy. Kummankin toiminnon jäljet voivat tiedostamattomalla käyttäjällä johtaa pitkälle historiaan.
- HTML5 tarjoaa verkkosovelluksille standardin tavan tallentaa tietoja selainkoneelle paikallisesti. Tätä voidaan käyttää esimerkiksi tukemaan off-line -toimintoja tai tarjoamaan käyttäjän syötteille pysyvyyttä. Vastaavasti forensikko voi käyttää samaa käyttöliittymää käyttäjän verkkotoimien rekonstruoimiseksi.
- Eväste on tietue, jollaisen verkkopalvelin voi lähettää selaimelle http-pyyntöä täyttäessään oheistietona ja jonka selain tallettaa muiden vastaavien jatkoksi. Seuraavalla kerralla palvelin saa selaimelta edellisen kerran tiedon ja voi siten valita uusia mainoksia, räätälöidä palvelua asiakkaan mieltymysten mukaan, jatkaa ostoskorin täyttämistä tai yksinkertaistaa mahdollista kirjautumista. Selain ei anna millekään palvelimelle tietoa muiden palvelimien evästeistä mutta sama sivu voi sisältää evästeitä useilta palvelimilta, mikä mahdollistaa niille tietyntasoisen selaustoimien seurannan. Forensikon kannalta evästeet ovat yleensä sellaisenaan läpinäkymättömiä, mutta palvelimen kautta niistä voi saada tietoa. Jotkin evästeet aikarajojensa puitteissa tarjota pääsyn online-tileille. Joillakin on jäsenneltävä rakenne ja ne voivat tarjota lisätietoja.
Suurin osa paikallisista tiedoista on tallennettu SQLite-tietokantoihin, joista kannattaa etsiä, jos haettuja tietoja ei suoraan löytynyt. Erityisesti näennäisesti poistetut tietueet voivat säilyä ja olla palautettavissa, kunnes tietokanta nimenomaisesti tyhjennetään.