Cookie - vakoilija vai apulainen



Web-sivuja lukiessasi siirtyy web-paikan ja selainohjelmasi välillä muutakin tietoa kuin se, mikä näkyy näytöllä. Mikä on cookie ja mitä sillä tehdään? Onko siitä hyötyä vai haittaa? Miten siitä pääsee eroon?


Web-seikkailija törmää yhä useammin salaperäiseen cookie-tiedostoon. Se ei näytä vaaralliselta, mutta mitä se oikein puuhaa, kysyy moni kummissaan. Yhdysvalloissa cookie on ollut esillä keskusteltaessa Webin tietoturvallisuudesta.

Cookien avulla palvelin tietää mitä käyttäjä tekee

Cookie on pieni tiedosto, jonka web-palvelin lähettää käyttäjän selainohjelmalle. Cookie sisältää yhteydenpitoa koskevia tilatietoja, tosin ei kovin paljon kerralla, sillä cookien koko voi olla enintään vain 4 kilotavua.

Selainohjelma tallentaa cookien tiedot käyttäjän koneen kovalevylle. Koko jutun ajatus on siinä, että tietyissä tilanteissa selain palauttaa nämä tiedot takaisin palvelimelle. Nämä tilanteet määräytyvät cookiessa olevien tietojen mukaan.

Esimerkiksi selainohjelma pyytää palvelimelta sivua, joka edellyttää rekisteröintiä. Palvelin ei kuitenkaan lähetä sivua, jos se ei saa pyynnön yhteydessä selaimelta rekisteröintietoja sisältävää cookieta. Pyydetyn sivun sijaan palvelin voi lähettää selaimelle esimerkiksi uuden rekisteröintilomakkeen.

Cookien avulla palvelin kykenee kätevästi tunnistamaan ja seuraamaan yksittäisten selainten yhteydenpitoa. Samalla se voi vastata selaimen pyyntöihin sen mukaan, mitä tietoja selaimen palauttamassa cookiessa on. Cookie-tiedot luonnollisesti päivittyvät yhteydenpidon myötä. Palvelin tai domain voi lähettää yhdelle selaimelle yhteensä enintään 20 cookieta.

Tietotekniikan liiton Internet-sanastossa cookie määritellään osuvasti: "1.(Erityisesti Unix-ympäristössä) kahden prosessin välistä yhteydenpitoa ylläpitävä tieto. 2.HTTP-palvelimen ja Web-selaimen välistä yhteyttä ylläpitävä tieto." Suomenkieliseksi vastineeksi esitetään vähemmän osuvasti sanaa poletti, joka on ikävä kyllä ajatuksellisesti harhaanjohtava käännös. Sinänsä sanoilla cookie (pikkuleipä, keksi) tai magic cookie (taikakeksi) ei ole mitään syvällistä merkitystä.

Cookien yksinkertaisesta toiminnasta voidaan kehittää monimutkaisia ja monitoimisia sovelluksia. Näin siitä on tullut mainio apuväline myös kaupalliseen web-toimintaan.

Kuvitteellinen esimerkki kaupallisesta web-toiminnasta: Raimon joulupiina

Otetaan esimerkiksi ystävämme, paikallisen kasvisruokayhdistyksen puheenjohtaja Raimo Kurpitsa, joka syö vegis-vaimonsa määräyksestä vain raakaa porkkanaa, mutta on salaisesti sydämessään liharuokien suuri ystävä.

Kerran seikkaillessaan verkossa Raimo alkaa pahaa aavistamatta katsella elintarvikkeiden yhteismarkkinointiin erikoistuneen Puhallus-nimisen yrityksen komeita web-sivuja. Heti kättelyssä Puhalluksen palvelin livauttaa salaa pikkuisen cookien Raimon kotikoneeseen. Kun Raimo siirtyy Puhalluksen web-paikan liharuokareseptejä esitteleville sivuille, vaihtaa hänen petturimainen selainohjelmansa Puhalluksen palvelimen kanssa tapahtumasta tietoja hänen selkänsä takana.

Kun Raimo seuraavalla viikolla uudestaan kurkistaa Puhalluksen web-paikkaan, Raimon koneen kovalevyllä piileskellyt cookie-tiedosto kuiskaa Puhalluksen palvelimelle, että vanha tuttava on tullut käymään. Ja taas vaihdetaan ja tallennetaan salaa tietoja.

Raimo ottaa osaa Puhalluksen järjestämään Voita sikahyvä härän sisäfile! -kilpailuun ja täyttää ilmoittautumiskaavakkeen, jossa kysytään ohimennen myös osoite- ja henkilötietoja (niinpä tietenkin - miten muuten palkinto voitaisiin jakaa?).

Kaikki nämä tiedot päätyvät suoraan Puhalluksen tietokantaan, jossa ne yhdistetään cookien avulla kerättyihin tietoihin. Raimon kuluttajaprofiili on nyt luotu ja se myydään eteenpäin.

Joulu lähestyy ja Raimon vaimo haluaisi ostaa perinteisen jouluporkkanan, mutta jouluilo on tipotiessään, sillä postiluukusta tulvii herra johtaja Raimolle Kurkulle osoitettuja porsasmainoksia, joissa on raakoja, verisiä kuvia lihakoukuissa roikkuvista, julmalla tavalla silvotuista porsaslasten ruumisröykkiöistä. Eikä perhe saa edes nukkua rauhassa, kun paikallisten lihakauppiaiden mätä-ääniset puhelinmyyjät soittelevat johtaja Raimolle jopa keskellä yötä.

Raimon elämä on nyt kurjaa. Vaimo on raivoissaan lähtenyt lasten kanssa tiehensä, eikä Webissä surfailustakaan ole Raimolle lohtua, päinvastoin se vain kääntää veistä haavassa, sillä sielläkin hänelle näytetään pelkästään lihamainoksia.

Cookie ei ole kuitenkaan syyllinen Raimon järkyttävään kohtaloon!

Raimon piina ei ole cookien syytä, vaan hänen omaa hölmöyttään. Hän itse meni antamaan osoite- ja henkilötietonsa Puhalluksen asiakasrekisteriin. Cookie on kätevä apuväline tietojen keräyksessä ja tallennuksessa, mutta mihinkään kauheuksiin se ei syyllisty, koska se ei sellaiseen kykene.

Cookie tallentaa vain sellaisia tietoja, jotka palvelin sille antaa, tai jotka ovat syntyneet käyttäjän toiminnan tuloksena.

Toisin sanoen cookie ei kykene lukemaan mitään tietoja käyttäjän kovalevyltä, eikä cookie kykene keräämään tietoja selaimen preferenssitiedostosta (kuten käyttäjän nimeä tai sähköpostiosoitetta). Cookiet ovat passiivisia tiedostoja, jotka eivät kykene tekemään mitään. Tämän takia niissä ei myöskään voi olla viruksia. Virukset eivät elä tekstitiedostoissa, vaan ne ovat ohjelmia.

Cookie Centralin artikkelissa What Are The Chances of Catching a Virus From a Cookie? esitetään, että periaatteessa olisi mahdollista tehdä cookiesta exe-tiedosto eli toimiva ohjelma, mutta cookien koko on rajoitettu neljään kilotavuun eikä siihen mahdu mitään järjellistä.

Toisekseen tälläinen cookie-virusohjelma pitäisi saada jotenkin käynnistettyä, ja se on mahdotonta verkon kautta, ellei selaimessa ole bugeja (niitä on kyllä nähty).

Cookieta ei myöskään voi saada mikä hyvänsä palvelin, vaan palvelimen pitää olla cookien tiedoissa määritelty. Tietojensieppaajia ei siis tarvitse pelätä. Lisäksi on hyvä muistaa, että yksikään palvelin ei tiedä henkilöllisyyttäsi, ellet sitä itse mene sille kertomaan.

Ja vaikka vahinko olisi jo jossain päässyt tapahtumaan, voit aina lohduttautua sillä, että tiedot eivät web-paikoista yleensä leviä muiden tietoon, eivät ainakaan ilmaiseksi.

Mitä hyötyä on cookiesta?

Cookien avulla hallitut tiedot ovat kerättävissä ja tallennettavissa ilman cookietakin. Palvelimen hoitajat ja ohjelmoijat voivat esimerkiksi tehdä tai hankkia erityisen tietokantaohjelman, joka jäljittää ja tallentaa erilaisia käyttäjätietoja. Cookien avulla tämä vain käy paljon kätevämmin, palvelimen kapasiteettia liikoja rasittamatta.

Cookien avulla palvelin osaa asettaa selaimelta tulevan pyynnön oikeaan suhteeseen selaimen aikaisempien ja tulevien pyyntöjen kanssa. Palvelin voi käsitellä pyyntöjä ja vastauksia yhtenäisinä istuntoina (session). Tällöin esimerkiksi virtuaalisessa myymälässä käyttäjälle voidaan antaa ostoskärry, johon hän kerää ostoksia. Poistuessaan myymälästä hän maksaa kaikki ostokset kerralla.

Cookieta voidaan käyttää myös rekisteröintiä vaativissa web-paikoissa. Käyttäjä antama nimi ja muut tiedot tallennetaan cookiehen, jonka selain lähettää palvelimelle käyttäjän seuraavalla vierailulla, jolloin käyttäjän ei enää uudelleen tarvitse antaa tietojaan. Jos cookien tiedot ovat arkaluontoisia, ne voidaan siirtää myös salattuina (mutta muista, että cookie-tiedosto kovalevyllä on aina salaamaton).

Maksullinen web-palvelin voi puolestaan käyttäjän tunnuksen ja salasanan hyväksyttyään lähettää käyttäjälle erityisen aikarajoitetun cookien, jota ilman palvelin ei salli maksullisten sivujensa lukemista.

Cookien avulla voidaan myös kohdistaa web-sivuilla näkyvät mainokset tietyille käyttäjäryhmille tai jopa yksilöllistää näytettävät mainokset. Myös saman mainoksen tarpeeton toistuva näkyminen voidaan estää. Ylipäänsä web-paikkojen suunnittelussa ja testauksessa cookien keräämistä tiedoista on hyötyä. Mitä sivua luetaan ja mitä ei, mikä linkitys toimii ja mikä ei, cookiet kertovat siitä kaiken.

Mitä kehnoa on cookiessa?

Cookiessa on tietojen kerääjän kannalta yksi paha heikkous: se on kone- eikä käyttäjäkohtainen. Jos koneella useita käyttäjiä, kuten esimerkiksi koulujen tietokoneluokissa, ei cookien tiedoilla ole ainakaan mainostajalle täyttä arvoa. Vastaava tilanne syntyy, kun yksi käyttäjä käyttää useita koneita. Tietojenkeräys hänen käyttäytymisestään jää tällöin varsin puutteelliseksi.

Käyttäjälle cookien ikävin puoli on salamyhkäisyys. Mitähän tietoja käyttäytymisestäni taaskin on kerätty? Jotkut cookiet katoavat heti yhteyden päättyessä, mutta toiset tallentuvat kovalevylle. Cookien kovalevylle tallentaman tiedoston nimi on windowsissa cookie.txt (applessa Magic Cookie), ja sen sisällön voi tarkistaa tavallisella tekstieditorilla, mutta entäs tietojen jatkokäsittely palvelimessa?

Mihin tietokantaan tiedot lopulta päätyvät ja kuka niitä hyödyntää? Olenko joskus antanut nimeni ja osoitteeni vieraalle palvelimelle? Meillä Suomessa sentään on tietosuojalaki, mutta muualla ei sellaista välttämättä tunneta.

Kaikkiaan cookie on kuitenkin varsin harmiton ja itse asiassa se on hyödyllinen väline web-liikenteessä. Vaikka cookie-keskustelu on jossain Yhdysvalloissa kuohuttanut mieliä ja säikyttänyt ihmisiä, niin mikään turvallisuusongelma cookie ei tosiasiassa ole. Javascript sen sijaan voi sitä olla, katso ja kauhistu Bell Laboratoriesin tekemää ilmoitusta JavaScript Related Browser Vulnerability.

Tietotekniikka ja tietojenkäsittely menevät meiltä tavallisilta ihmisiltä pahasti yli hilseen, ja me helposti korvaamme ymmärryksen puutteemme kaikenlaisilla uskomuksilla ja mielikuvitustarinoilla. Näin syntyvät kertomukset verkon käyttäjiä silkkaa ilkeyttään valvovista rikolliskorporaatiosta ja heidän häijyistä apureistaan, tietokoneita syövistä pikkuleivistä.

Miten cookiesta pääsee eroon?

Jos cookiet alkavat ärsyttää, niistä onneksi pääsee eroon. Esimerkiksi Anonymizer toimii välimiehenä käyttäjän ja web-paikan koneiden välillä. Se suodattaa cookiet, mutta sallii käyttäjän navigoida web-paikassa.

Cookiesta saa varoituksen ja sen voi torjua Netscape 3:ssa valitsemalla Options-valikosta Network Preferences ja sitten Protocols. Laita ruksi ruutuun Show an Alert Before: Accepting a Cookie.

Netscape Communicator 4:ssa voi cookien käyttöä hallita monipuolisemmin. Valitse Edit-valikosta Preferences, sitten Advanced ja Cookies -kentästä ruksaa haluamasi vaihtoehto.

Linkkejä cookie-maailmaan

Netscape: Cookies And Privacy FAQ

Cookie Centralissa on paljon artikkeleja asiasta.

Project 2000:n oppilastyö Commercialization of the World Wide Web: The Role of Cookies

Malcolm's Guide to Persistent Cookies

Andy's HTTP Cookie Notes

Yahoon cookie-sivu

Netscapen cookie-spesifikaatio bittinikkareille:
Persistent Client - HTTP Cookies State

Tietoturvallisuudesta yleisesti kiinnostuneiden kannattaa vilkaista amerikkalaisten järjestöjen sivuja:

The Electronic Frontier Foundation
EPIC Electronic Privacy Information
American Civil Liberaties Union
The Bureau of Consumer Protection

myös Timesin artikkeli The Privacy Thieves on verkossa

ja tietysti kannattaa tutustua javascript-ongelmaan
JavaScript Related Browser Vulnerability

HEIKKI JANTUNEN
25.9.1997


TALOUS -SIVULLE