Foto: Tanel Meos

Pealinna ühiskaardi veebikeskkonnas haigutanud turvaaugust kirjutas viimane Eesti Ekspress, kus näidati, kuidas teise kodaniku andmetele ligi pääseda. Kuigi see viga suleti, sisaldab Eesti Päevalehele laekunud info kohaselt ühiskaardi veebileht Pilet.ee teisigi turvaauke, mis võimaldavad võõrale ühiskaardile kantud raha oma kaardile liigutada ja eilseni ka kõikide kaartide tehinguajalugu vaadata.

Roheline Tallinna ühis­kaart on kontaktivaba RFID-tehnoloogiaga plastkaart, millega saab bussides, trollides ja trammides oma sõiduõigust valideerida. Kui tallinlased saavad kaardi oma isikuandmetega sidudes ühissõidukis tasuta sõita, siis külalised või lähivaldadest Tallinnas käivad inimesed peavad kaardiga reaalseid pileteid ostma.

Ühiskaardile kantud raha endale võtmiseks on vaja teada selle kaardi numbrit, mis on kirjutatud kaardi tagumisele küljele. Kuid numbri teada saamiseks polegi vaja teise inimese kaarti näha või seda varastada. Kuna ühiskaardis kasutatakse raadiolainetel töötavat kiipi, siis saab seda kaarti „lugeda” iga uuemat tüüpi NFC- ehk lähiväljaside toega mobiiltelefoniga. Eesti Päevalehe tehtud katse käigus olid kõik ühiskaardid loetavad levinud HTC One X tüüpi nutitelefoniga.

Tegu on väga levinud tehnoloogiaga, näiteks EMT müüb 21 erinevat NFC-toega telefoni, millest kõige odavama saab kätte juba 150 euroga.

Pole eriti raske ette kujutada, kuidas täistuubitud ühissõidukis kaassõitja kõrval seistes kurjade kavatsustega inimene võib lugeda ühiskaardi andmeid, ilma et pahaaimamatu kaardiomanik seda teakski. Kui aga kaardiandmete kaaperdaja – nimetagem teda Jaaniks – kasutab tavalise telefoni asemel paremat varustust, saab ta kaartide andmeid lugeda täiesti märkamatult. Nimelt töötab Tallinna ühiskaart sagedusel 13 MHz, mis RFID-tehnoloogia tootjate sõnul lubab kasutamist isegi ühe meetri kauguselt.

Kui Jaan on telefoniga lugenud ohvri ühiskaardi numbri, saab ta ühiskaardi veebikeskkonnas Pilet.ee ilma tõrgeteta teada selle kaardi saldoseisu. Kui tal näkkab, on ta ohvriks isikustamata kaardiga reisija, kes on sellele laadinud reaalset raha – näiteks 10 eurot. Peamine on, et pilet oleks isikustamata, aga isikustamata kaardile just raha tavaliselt kantaksegi.

Kontroll ja tuvastus puudub

Järgmiseks saab Jaan jällegi samal Pilet.ee veebilehel hõlpsalt siduda selle ühiskaar­di enda isikukoodi ja ID-kaardiga. Seejuures on võimalik ühiskaardi number siduda ka ükskõik millise teise isiku ID-kaardiga, kuna mingit kontrolli ega isikutuvastust seejuures ei nõuta.

Selleks hetkeks käib ohver ringi rohelise kaardiga, millel Pilet.ee infosüsteemi andmetel on saldoks 10 eurot ja mis on isikustatud kurjategija nimele. Kurjategija ostab aga järgmiseks endale uue tühja ühiskaardi ja isikustab selle jällegi enda nimele. Selle tegevuse käigus arvab Pilet.ee süsteem õigustatult, et Jaan on varasema isikustatud ja rahaga laaditud ühiskaardi kaotanud ja kannab uuele kaardile eelmise summa, 10 eurot. Algupärane ohver aga avastab õhtul töölt koju sõites, et tema isikustamata kaardi saldoks on ümmargune null.

Eesti Päevalehe ajakirjanike tehtud eksperiment kahe kaardiga tõestas, et sellisel moel raha kaartidelt liigutamine ei nõua ühtegi IT-süsteemi sissemurdmist, eriteadmisi ega -tehnikat.

Kahjuks Tallinna piletisüsteemi turvahädad sellega ei piirdunud, vaid osutusid nii tõsiseks, et eilseni oli ohus kogu isikustamata kaartidele laaditud raha, mida võis olla kindlasti tuhandeid
eurosid.

Nimelt on ühiskaardi veebikeskkonnas Pilet.ee võimalik ilma ennast tuvastamata vaadata ka võõraste kaartide andmeid ja eilseni oli võimalik teha isegi väljavõtteid kogu andmebaasist.

Teades oma ühiskaardi numbrit, saab Pilet.ee alalehel „kaardi tehingud” vaadata näiteks oma kaardi tehingute ajalugu. Kui aga kaardi numbri asemel sisestada väljale „*” ehk tärn, andis lehekülg veel eile vastuseks kõikide ühiskaar­tidega kõik tehtud tehingud. Neid oli üle 400 000 rea. Tegu pole süsteemi sissetungimisega, vaid päringuga, mis tähendab masinakeeles „iga number”. Seda tunneb iga programmeerijast koolipoisski.

Seepeale väljastas veebileht kõikide ühiskaartidega tehtud tehingud, muu hulgas kaartide ostutehingud koos kellaaja ja kohaga, isikustamised (mis ei sisaldanud küll isikukoode) ning kaartidele laaditud rahasumma. Just viimast tüüpi andmed lubasid Pilet.ee veebilehe kaudu käia läbi kasvõi sadu tuhandeid ridu andmeid, leida ühiskaartide numbrid, kuhu oli peale kantud reaalset raha, ning need kaardid enda nimele vormistada.

Kui palju on isikustamata ja rahaga laaditud ühiskaarte kasutuses ja seega hõlpsasti kaaperdatavad, piletisüsteemi haldava Ühendatud Piletite AS-i tegevjuht Kristjan Konks ütlema ei soostunud. Tema sõnul on isikustamata ühiskaar­di vormistamine enda või kolmanda isiku nimele võimalik, sest selle tavajuhud on näiteks kaardi isikustamine oma lapsele või arvutit mitte kasutavale vanavanemale.

Kuritarvitaja leitakse

„Seda ei saa lugeda turvaauguks, vaid see peabki nii käima ja kuritarvitamise puhul on kuritarvitaja isik lihtsasti tuvastatav ja vastutusele võetav. See on vargus, nagu ka rahakoti võtmine võõrast taskust,” andis Konks hinnangu võimalusele väga vähese vaevaga võõras kaart enda nimele vormistada. Konksu sõnul ei saa enda nimele vormistada kaarti, mis on juba ära isikustatud, kuigi tasuta sõiduvõimaluse tõttu üldjuhul isikustatud kaartidel raha polegi.

Pilet.ee veebilehel olnud turvaauk, kust sai ühe päringuga kõik rohkem kui 400 000 ühiskaartidega tehtud tehingut, oli Konksu sõnul „ebaotstarbekalt lai” ja on praeguseks leheküljelt eemaldatud. See, et kindla kaardi numbrit teades selle väljavõtet ikkagi näha saab, tuleb Konksu sõnul raamatupidamise seaduse nõuetest. „Näha ei ole võimalik isikuandmeid, sõite vms,” lisas ta.

IT- ja turvaekspertide sõnul näivad sellised vead tulenevat lohakusest ja soovist hoida kokku raha või aega.

„[Viga on] tavaline ja väga tõsine,” kommenteeris arvutiturbeekspert Tõnu Sa­muel võimalust tärniga päringuga kogu ühiskaardi tehingute andmebaasi sisu näha. Olukorra tõsidust näitab seegi, et sellist tüüpi vigu saab avastada igaüks ilma eriteadmisteta, kuid spetsialistidel on keerulisemate vigade avastamiseks erioskused, viitas Samuel. Probleemi algallikas on Samueli sõnul see, et süsteemi loomisel pole eraldatud aega ega raha turvalisuse jaoks. „Isikuandmetega süsteemi ükskõik mis eelarves peab olema ka turvalisuse eelarverida. Seni on levinud poliitika, et teeme asja vähempakkumise korras valmis, turvalisusele ei kuluta ja järgmise aasta eelarvest taotleme raha kontrolliks. Võibolla ka mitte,” ütles Samuel.

Mitme hiljuti ilmnenud augu tõttu on kogu ühiskaar­di piletisüsteemi turvalisus väga suure küsimärgi all, kommenteeris turvaekspert, kes ei soovi võimaliku huvide konflikti pärast oma nime all juhtumit kommenteerida. Ta tõi näiteks OWASP-i veebilehtede turvalisuse projekti, mis koostab edetabeleid kõige levinumate ja ohtlikumate vigade kohta. Eelmisel nädalal Eesti Ekspressi avastatud auk figureerib OWASP-i nimekirjas kolmandal kohal, käesolevas artiklis kirjeldatud auk neljandal kohal, sõnas turvaekspert. „Kui Pilet.ee veebisait on nii madala kvaliteediga loodud, siis milline võib olla programmeerimise kvaliteet süsteemi teistes osades?” küsis turvaekspert, viidates võimalusele, et kättesaadavad võivad olla kõik sõitjate isikuandmed.

Ühinenud Piletite juht Konks vastab kriitikale ühemõtteliselt. „Olen nõus, et süsteemi ülesehituseks antud aeg üheksa kuud oli lühike, nagu ka kasutada olnud investeeringu eelarve 2,2 miljonit eurot väga kokkuhoidlik. Võrdluseks, Helsingi ehitab praegu uut piletisüsteemi, kus sama töö jaoks nähti ette kaks aastat ja investeeringu suurus on 60 miljonit eurot.”



AKI: ootame Tallinnalt selgitust 21. jaanuariks

Andmekaitse inspektsioonil (AKI) on ühiskaardi piletisüsteemi tellija Tallinna transpordiameti kohta pooleli kaks menetlust.

1. Esimene puudutab ühiskaar­di andmekogu, milles kogutakse liiga palju isikuandmeid seitsmeks aastaks. AKI tahab transpordiametilt 21. jaanuariks selgitust, kuidas reisiandmed muutuksid umbisikuliseks, sest neid vajab amet enda sõnul vaid statistika pärast. Seepärast tahab AKI teada, miks igat tüüpi andmeid (nimi, sõidu valideerimise koht, aeg jne) just seitsmeks aastaks kogutakse. „Usume, et lähiajal on selle menetluse tulemiks kooskõlastatud Tallinna piletimüügi andmekogu,” selgitas AKI nõunik Stiina Liivrand.

2. Teist menetlust alustas inspektsioon eelmisel nädalal
Pilet.ee veebilehelt leitud turvaaukude tõttu. Esmalt esitas AKI järelepärimise, millele ootab vastust samuti 21. jaanuariks. „Pärast vastust, kaasates riigi infosüsteemi ameti IT-spetsialistid, teostame füüsilise kohapealse süsteemi kontrolli,” lisas Liivrand. Käesolevas artiklis kirjeldatud andmete avalik näitamine kõikide ühiskaartide tehingute kohta ei ole AKI hinnangul seadusega kuidagi kooskõlas.



Turvalisusrisk tuleb liigsest raha kokkuhoidmisest

Arvutiturvalisusele pühendatud portaali Arvutikaitse.ee peatoimetaja Aare Kirna näeb selliste piletisüsteemi veebilehel ilmunud turvaaukude tekkes süüd kokkuhoius.

„Niisugused vead [on] IT-arendustööde puhul kerged läbi lipsama siis, kui algse ülesandepüstituse ja hilisema testimise faasis nii aega kui ka raha kokku hoitakse,” ütles Kirna. „Minu teada on Ühendatud Piletite AS erafirma. Nagu iga kasumit taotlev ettevõte, teeb ta oma parima, et võimalikult väiksema vaeva ja kuludega kasum kätte saada,” lisas ta. Kirna viitas ka infosüsteemi tellijate vastutusele, sest aukliku turvalisusega süsteemi saab kasutada siis, kui tellijad ja lepingupartnerid sellega nõus on.

Mida peaks ette võtma tallinlane, kes pole rahul oma andmetega lohakalt ümber käimisega? „Minu teada nii tasuta ühistransport kui ka ühiskaart peamiselt sel eesmärgil loodigi, et näidata, mis mõnus elu teil seal Tallinnas on, ning mittetallinlaste elu kibedamaks teha. Sellega kaasnev teatav privaatsusrisk käib ilmselt asja juurde,” pakkus Kirna, kes on oma sõnutsi Jõgeva valla rahulolev elanik.