Hakkeri kaivoi Lauran elämästä kaiken mahdollisen – näin kaikki tapahtui

April 7, 2014 at 10:30

Nixun toteuttamasta henkilöön kohdistuneesta murtotestauksesta kerrottiin Helsingin Sanomissa lauantaina 5.4. Aihe on puhututtanut viikonlopusta lähtien, joten käymme tässä blogipostauksessa läpi projektin eri vaiheita, ehkäpä hieman enemmän teknisestä näkökulmasta kertoen. Tämä juttu ei keskity pelkästään HS:n artikkeliin, vaan käsittelee asioita osin laajemminkin.

Projekti lähti käyntiin jo viime vuoden puolella ja sai alunperin ideansa Yhdysvalloissa tehdystä vastaavanlaisesta, henkilöön kohdistuneesta murtotestauksesta. Nixun Twitter-tiliä seuranneet saattavatkin muistaa, että kyselimmesilloin josko Suomesta löytyisi kiinnostuneita ”uhreja”. Helsingin Sanomiinkin jutun kirjoittanut Laura Halminen lupautui vapaaehtoiseksi ja näin ollen projekti käynnistyi joulukuun alussa. Projektiin osallistui Nixulta noin viiden henkilön ryhmä, joka muiden töiden niin salliessa käytti aikaansa Lauran tietojen selvittelyyn ja itse menetelmien suunnitteluun. Työ jakautui tyypillisen murtotestauksen tapaan kahteen työvaiheeseen, tiedusteluun ja hyökkäykseen, joista ensin mainittu vei ajasta suuremman osan.

Tiedusteluvaihe

Tiedusteluvaiheessa tavoitteenamme oli selvittää mahdollisimman kattavasti kaikki saatavilla oleva tieto kohdehenkilöstä, jotta voisimme myöhemmin kohdentaa itse hyökkäysyritykset paremmin häneen kohdistuviksi. Tietoja etsittiin käyttäen hyödyksi kaikkia mahdollisia tietolähteitä, avoimista viranomaisrekistereistä (verohallinto, väestörekisteri jne.) sosiaaliseen mediaan ja tiedonlouhintaan erikoistuneihin työkaluihin, kuten Maltegoa. Maltego on työkalu, joka osaa kartoittaa tietolähteiden perusteella esimerkiksi eri henkilöiden sosiaalisen median profiileja, tunnuksia ja jopa teknisiä tietoa käyttäjistä. Koska nykyihmisillä on erityisesti verkossa useita erilaisia kutsumanimiä, käyttäjätunnuksia, aliaksia, sähköpostiosoitteita ja jopa eri nimiä, oli eri aliasten tunnistaminen ja yhdistäminen ensimmäisessä vaiheessa erityisen tärkeää. Käytännössä työ vaatii paljon erilaisia hakuja ja sitten saatujen tietojen ristiinvertailua, jolloin voidaan selvittää, mitkä tunnukset ja aliakset todella liittyvät samaan henkilöön.

Varsin nopeasti pystyimmekin selvittämään useita eri tunnuksia, sähköpostiosoitteita ja puhelinnumeroja ja selvittämään, miten ne liittyivät samaan henkilöön. Lisäksi eri aliaksia ja yhteystietoja seuraamalla löytyi tarkkoja tietoja asunnoista, autoista ja esimerkiksi internetissä myydyistä tuotteista. Huomionarvoista on, että vaikka kohdehenkilö oli pyrkinyt julkaisemaan ilmoituksia ilman omaa nimeään anonyymisti, monessa tapauksessa ilmoituksen jättäjän todellinen henkilöllisyys oli selvitettävissä muutaman hypyn kautta, esimerkiksi seuraamalla ensin ilmoituksessa ollutta Gmail-osoitetta, korreloimalla sen tietoja toiseen tunnukseen, joka taas linkittyi puhelinnumeroon, joka lopulta kavalsi henkilöllisyyden.

Lisäksi vaikka henkilö itse olikin ollut varsin varovainen sen suhteen, mitä internettiin itsestään lataa, paljastui myös sosiaalisen median kautta silti monia tietoja, joita ystävät ja sukulaiset olivat vahingossa paljastaneet. Nykyään ei siis enää todellakaan riitä, että itse ei paljasta esimerkiksi lastensa nimiä tai syntymäpäivää netissä, kun avulias sukulainen käy sen esimerkiksi Facebookin tai Twitterin kautta koko kansalle kertomassa onnitteluviestin merkeissä.


Siirtyminen hyökkäysvaiheeseen

Tiedusteluvaiheen lopputulemana tiesimme jo hyvin henkilön harrastukset, aliaksen, perhesuhteet ja kiinnostuksen aiheet. Samoin tiesimme tarkat tiedot hänen työnantajansa puhelimen ja tietokoneen versioista sekä kotitietokoneen mallin. Valitettavasti toimeksiannon piirissä emme kuitenkaan saaneet hyökätä kohti työnantajaa tai perhettä (Suomessa yksi henkilö ei voi antaa lupaa hyökätä muita kohtaan tai muiden kautta), joten jouduimme keskittymään henkilön kotikoneeseen. Myöskään erilaisissa nettipalveluissa olevia tunnuksia vastaan emme voineet hyökätä, sille yksittäinen henkilö ei voi antaa lupaa tehdä tietoturvaa vaarantavia hyökkäyksiä esimerkiksi Gmailia vastaan.

Kohteeksi valikoitui siis kotikone. Tiesimme sen mallin (Macbook) ja summittaisen iän, mutta käyttöjärjestelmän, selaimen ja muiden varusohjelmien tarkat versiot eivät olleet tiedossa. Näitä selvittääksemme rakensimme oman linkinlyhennyspalvelumme, joka toimii muuten kuin esimerkiksi bit.ly, mutta samalla kun käyttäjä ohjataan uudelle sivustolle, hänen selaimeen asetetaan seurantaa helpottamaan pysyvä eväste (persistent cookie) ja selaimessa ajetaan tiedonkeruuskripti, joka kerää tiedot selaimesta, asennetuista laajennuksista eli plugineista sekä käyttöjärjestelmästä. Mitään varsinaisesti haitallista sivusto ei vielä tässä vaiheessa tehnyt. Lähetimme kohdehenkilölle linkkejä, jotka kiersivät linkinlyhennyspalvelumme kautta useita eri reittejä (esimerkiksi sähköpostitse salattuna juttuvinkkeinä, kuten HS:n jutussa mainittu Mikko W, kommentteina blogiin ym.) ja seurasimme palvelimellemme kertyviä lokeja, joista nopeasti paljastuikin käyttöjärjestelmän ja koneen tarkat versiot, näytön resoluutiota ja asennettuja varusohjelmia myöden.

Teimme itsellemme vastaavilla versioilla varustetun virtuaalikoneen, jonka avulla testasimme useita erilaisia hyökkäysmalleja. Ensimmäisenä asensimme linkinlyhennyspalvelumme oheen palvelimellemme Metasploit-nimisen työkalun, sekä muitakin hyökkäysohjelmia, ja kokeilimme löytyisikö kyseisestä versiosta haavoittuvuuksia, joita voitaisin käyttää. Meille valitettavasti, ja kohdehenkilön onneksi, mikään versioista ei sisältänyt tunnettuja haavoittuvuuksia, joita käyttäen koneen hallintaan saaminen olisi ollut suoraviivaista, joten jouduimme siirtymään seuraavaan suunnitelmaan. Kohdejärjestelmänä oli tietty OS X:n versio, joten siirryimme tekemään hyökkäystä, joka käyttäisi hyväkseen kyseisen käyttöjärjestelmän tapaa käsitellä tiedostoja. Hyödyntäen tiedostojen metatietoja, loimme tiedoston, joka ajettaessaan ajetaankin Terminal-ohjelmassa todellisen ohjelman sijaan, ottaa yhteyttä Nixun palvelimelle ja avaa meille takaportin kohdejärjestelmään (eikä jää kiinni virustutkissa). Tässä lähestymistavassa ainoa ongelma oli, että kyseisen tiedostoon tulee niin sanottu ”karanteeni-bitti” (joka varoittaa käyttäjää tiedoston vaarallisuudesta) mukaan, kun tiedosto toimitetaan vastaanottajalle internetin yli. Tämän karanteeni-bitin saimme kierrettyä käyttäen salattua GPG-pakettia, sillä se ei välittänyt kyseisestä bitistä.

Useita eri hyökkäysmenetelmiä käytettiin

Hyökkäystiedosto toimitettiin kohteelle kahta eri reittiä käyttäen hyväksi keksittyjä ja tätä tarkoitusta varten luotuja aliaksia. Kumpaakaan toimitetuista tiedostoista ei kuitenkaan valitettavasti avattu, lähinnä siksi, että niitä ei ehditty huomata. Hyökkäystiedosto itsessään toimi, ja avaa kyllä yhteyden. Menetelmää esiteltiin myös viikonloppuna Tutkiva journalismi -konferenssissa Helsingissä käytännön demon merkeissä.

Edellä mainittujen sekä HS:n jutussa mainittujen menetelmien lisäksi meillä oli muita hyökkäysvektoreita, liittyen esimerkiksi wlan-verkkoihin tai laitteiden fyysiseen turvallisuuteen. Lisäksi suunnitelmissa oli toteuttaa phishing-tyyppisiä hyökkäyksiä, mutta niitä ei loppujen lopuksi otettu projektin sisältöön mukaan ajankäyttöön ja lainsäädäntöön liittyvien rajoitteiden takia.
Wlan-verkkojen osalta suunnittelimme ja toteutimme omaan käyttöömme menetelmän, jonka avulla pystymme kuuntelemaan esimerkiksi älypuhelimien ja kannettavien tietokoneiden ns. broadcast-liikennettä, jossa kyseiset laitteet pyrkivät löytämään tuntemiaan langattomia verkkoja. Käytännössä esimerkiksi wlan-ominaisuuden omaava älypuhelin huutelee ympärilleen tuntemiaan verkkojen nimiä sen toivossa, että kyseinen verkko olisi saatavilla. Näitä tietoja voi kuunnella esimerkiksi Kismet-nimisellä ohjelmalla. Tietoja jalostamalla voidaan päätellä laitteiden omistajien tietoja ja esimerkiksi heidän kodin ja työpaikkansa sijainti vertaamalla tunnistettuja wlan-verkkoja erilliseen tietokantaan, jonne verkkojen tunnettuja sijainteja on tallennettu (näitä sijainteja kerää esimerkiksi wigle.net). Lisäksi ihmisten sosiaalisia verkostojakin voidaan päätellä tiedoista. Mikäli käyttäjillä A ja B on samoja langattomia verkkoja, voidaan heidän olettaa käyvän samoissa paikoissa.

Johtopäätökset

Johtopäätöksenä projektista voidaan  todeta, että anonymiteetin saavuttaminen verkossa on erittäin hankalaa, mikäli ei vaihda kaikkia aliaksiaan ja yhteystietojaan yhdellä kertaa. Niin kauan kuin aliaksia voi yhdistää mitään kautta (vaikka useamman hypyn kautta), henkilöllisyys on tunnistettavissa. Lisäksi sen kontrollointi, että itse ei jaa tietoa, ei enää riitä. Sosiaalinen media pursuaa tietoa myös sinusta, vaikket sitä olisi sinne itse ladannutkaan. Myös taskussasi kulkeva älypuhelimesi voi olla lörppöhuulisempi kuin tiesitkään.

Teknisen hyökkäämisen suhteen törmäsimme lakien ja sääntöjen muuriin, joka rajoittaa toimiamme jonkin verran odotettua enemmän tämäntyyppisissä, yhteen henkilöön kohdistuvissa toimeksiannoissa. Siitä huolimatta hyökkäyskoodi saatiin toimitettua henkilölle, joka osasi olla varuillaan. Tällaisia rajoitteita ei tietysti niillä ole, jotka liikkuvat varjoisella puolella verkkoa, joten muistakaa olla varovaisia verkossa liikkuessanne.