Single Blog Title

This is a single blog caption
20 syyskuu 2016

#19: Hakkerointi – tietomurtojen ja salaisuuksien paljastamisen kauneus

Missä nähdä kauneutta? -artikkelisarjan yhdeksästoista haastattelu käsittelee hakkeroimista ja sitä mikä siinä ja koodaamisessa ja tietomurroissa on kaunista ja kiehtovaa. Haasteltava, nimimerkillä Chai esiintyvä 24-vuotias mies, on intohimoinen, ennen aktiivisesti yrittäjänä toiminut teknologiaihminen, ohjelmistoarkkitehti ja tietoturva-ammattilainen, joka omien sanojensa mukaan rakastaa luovuutta ja teknologiaa. Tällä hetkellä Chai vastaa työkseen erään start-upin tietoturvasta ja vapaa-ajallaan mies löytää itsensä musiikin, kuntosalin, megazonen ja monenlaisen taiteen parista.

Haastattelu on luettavissa alla.

 

Mitä hakkerointi on ja miksi se kiehtoo sinua?

Hakkeroinnilla tarkoitetaan asioiden ratkaisemista kekseliäällä ja omaperäisellä tavalla, mutta arkikielessä hakkerointi tarkoittaa yleensä krakkausta eli  tietomurtojen tekemistä.  Palaan myöhemmin hakkeroinnin kauneuteen – jotta voin kunnolla selittää kiinnostustani hakkerointia kohtaan, on minun avattava ensiksi kiinnostustani matematiikkaan, tieteisiin, ajatteluun, ongelmanratkontaan ja koodaamiseen – nämä kaikki kiinnostuksen kohteet ovat tuoneet minut hakkeroinnin pariin.

 

Tieteen ja asioiden selvittämisen kauneudesta

Matematiikka aukeaa minulle mielenkiintoisella tavalla sitä kautta, että minulla on numerosynestesia. Joskus aivan pienenä lapsena, muistan kun kirjoitin paperille numeron viisi ja huomasin, että tämä numero tuotti minulle vihreän väriaistimuksen. Tuo lehti tuossa (osoittaa haastattelupaikan kahvilassa olevaa lehtikoristetta), tuo vihreä edustaa minulle numeroa viisi.

Tällainen värisynestesia on itsessään kiehtovaa, mutta matematiikassa ja numeroissa minua alkoi kiehtoa myös se, että matematiikassa voin asettaa erilaisia symboleja merkitsemään erilaisia asioita ja lähteä tätä kautta matematiikan sääntöjen avulla luomaan uutta tietoa ja laskemaan uusia asioita.

Kun ensimmäisen kerran tajusin miten yhtälö toimii koin suuren wau-elämyksen ja aloin lainata kirjastosta matematiikan kirjoja. Ylipäätään halusin jo pienenä – ja haluan yhä – ymmärtää miten maailmaa toimii. Jo ennen koulun aloittamista luin paljon kemiaa, fysiikkaa ja biologiaa ja tiedettä käsitteleviä kirjoja, joita kotoani löytyi.

phys

Miksi sitten ajattelen, että minun on pakko ymmärtää miten kaikki toimii? Mietin, että se liittyy aika paljon minun persoonaani, kyseessä on jotain sisäänrakennettua: kun tiedän miten asiat toimivat, voin kontrolloida ja hallita asioita ja tästä kontrollin tunteesta tulee voimaantunut ja voimakas olo.

Toisaalta pidän myös matematiikan ongelmanratkaisupuolesta (tästä lisää itse hakkeroinnin yhteydessä) ja toisaalta minusta on vain kiva luoda uutta ja kivaa ja tehdä jotain siistiä sillä ymmärryksellä ja tiedolla, jota olen onnistunut hankkimaan.

Lapsena luin siis paljon tiedekirjoja ja olin kuusivuotias kun sain äidiltä lainaan lukiofysiikan kirjoja ja aloin heti lukemaan niitä. Sain myös äidiltäni viisivuotiaana lahjaksi elektroniikkasetin, jolla aloin innoissani leikkimään.

Siinä missä matematiikan ja tieteiden opiskelu on melko teoreettista, oli tämä elektroniikkasetin kanssa pelleily ihanan konkreettista puuhaa – setti myös sytytti kiinnostukseni elektroniikkaa kohtaan.

Äitini alkoi ostaa minulle kaikennäköisiä virta- ja äänipiirejä, valoja ja muuta elektroniikkaa ja aloin juottamaan näitä osia toisiinsa ja näin pääsin konkreettisesti perehtymään elektroniikan maailmaan. Tällaista tieteen ja elektroniikan omatoimista opiskelua ja laskemista elämäni on ollut oikeastaan melkeinpä koko ajan.

Suoritin yläasteen kemian ja fysiikan opinnot ala-asteen kolmannella ja neljännellä luokalla ja aloin viidennestä luokasta lähtien istumaan lukion pitkän matematiikan tunneilla! Oli pelottavaa istua pikkupoikana lukiolaisten keskellä, mutta yläasteen loppuun mennessä olin jo saanut lukion pitkän matematiikan kurssit käytyä.

636012094884336037-319178167_why_is_chemistry_so_hard

Tässä sivussa elektroniikkaprojektit muuttuivat koko ajan monimutkaisemmiksi. Hakkerointiin johtavalla polulla erittäin tärkeä piste oli se kun siirryin analogielektroniikasta digitaalielektroniikkaan: minun oli pakko alkaa opettelemaan koodausta ja ohjelmointia, jotta saatoin saada mitään tehdyksi.

Minun piti opetella koodaamaan mikrokontrollereita. Vasta näin elektroniikan myötä minua alkoi kiinnostaa ohjelmointi: olin aiemmin lainannut jotain kirjoja aiheesta, mutta koodaamisen maailma ei ollut auennut minulle tai inspiroinut minua tällöin.

Koodaamisen opetteleminen olisi myös maksanut aiemmin  – suuri osa työkaluista oli paitsi maksullisia myös vaikeasti saatavilla. Yläasteen alkuaikoina open source -työkaluja alkoi onneksi olla niin helposti ja laajasti saatavilla, että saatoin edetä asian suhteen ilman rahaakin.

Elämäni yksi avartavimmista kokemuksista oli se kun sain ensimmäisen kerran oman koodini toimimaan yhdessä itsetekemäni mikropiirin kanssa! Se oli mitä upein tunne – tällöin tajusin, että tietynlaisella perusymmärryksellä koodauksesta ja elektroniikasta voin periaatteessa jollain tasolla tajuta miten kaikki digitaaliset, tekniset ja teknologiset asiat ja järjestelmät toimivat.

Tästä hetkestä eteenpäin aloin katselemaan kaikkia mahdollisia digitaalisia ja sähköisiä laitteita täysin eri näkökulmasta kuin aiemmin. Aloin miettimään aina jonkin laitteen tai koneen nähdessäni, että miten tämä laite toimii ja mihin tämän laitteen toiminta perustuu.

Vaikka en tiennyt aina vastausta kysymyksiini, tiesin, että periaatteessa minulla oli olemassa pohjatietämys, jonka perusteella voisin periaatteessa pystyä rakentamaan itsekin jotain samankaltaista.

Kun koodaustaitoni kehittyivät, tuli hakkeroiminen kuin sattumalta osaksi elämääni ja kun koodamiseen liiittyvää tieto-taitoa alkoi kertymään riittävästi, aloin nähdä mahdollisuuksia ympärilläni. “Miten tämä asia/laite/järjestelmä/nettisivu toimii?” -kysymys johti kysymykseen siitä, että voisinko saada tämän asian toimimaan eri tavalla kuin mihin sitä oli alunperin tarkoitettu.

wallpaper2

 

Salaisuuksien selville saamisen kauneus

Mielenkiintoinen kysymys omalla kohdallani onkin se, että miten ja miksi asioiden ”rikkomisesta” ja erilleen erottamisesta tuli minulle mielenkiintoista? Minä kuitenkin tulen lähtökohdasta ja maailmasta, jossa olen yksinomaan rakentanut ja luonut asioita. Löytäisin kaksi selvää syytä miksi hakkeroiminen ja krakkaus kiehtoo minua.

Yksi syistä liittyy jo aiemmin mainitsemaani kontrollinen tunteeseen: hakkerin täytyy ymmärtää ja kontrolloida kokonaisuuksia. Monimutkaiset asiat pitää voida pilkkoa osiin ja selvittää miten eri osat toimivat. Samalla kun pilkot toisen luomuksen mielessäsi osiin, voit todella ymmärtää mitä tämä toinen ihminen tai tiimi on luonut.

Toinen asia hakkeroinnin kiehtovuudessa liittyy salaisuuksiin. Minua persoonana kiinnostavat suuresti erilaiset salaisuudet. Esimerkiksi on hieno tunne kun joku ihminen uskoutuu minulle salaisuuksistaan: se tarkoittaa, että tämä ihminen luottaa minuun. Tällainen on tottakai imartelevaa ja palkitsevaa.

Teknisten salaisuuksien selvittäminen taas tuo haasteen tuntua ja palkitsee sillä, että voi huomata tietävänsä jotain mitä moni ei tiedä. Yksi tapa nähdä hakkerointia on myös pulmanratkaisupelien kautta, älyllisenä haasteena. Näen asian niin, että jos hakkerina löydän jostain järjestelmästä jotain sellaista, mitä tällä järjestelmällä ei ole alunperin tarkoitettu tehtävän, olen ikään kuin oivaltanut ja ymmärtänyt tämän järjestelmän paremmin ja syvällisemmin kuin itse järjestelmän suunnittelija.

Tämä on hieno tunne. Tehdessäni tietomurron johonkin järjestelmään käyn ikään kuin hiljaista vuoropuhelua alkuperäisen järjestelmän luoneen arkkitehdin kanssa. Jos onnistun pääsemään perille järjestelmän toiminnasta ja vaikka muuttamaan tämän järjestelmän toimintaa, voin osoittaa järjestelmän luojalle, että olen voittanut tämän hiljaisen väittelyn. Hakkeroinnilla olen ikään kuin osoittanut etevyyteni järjestelmän luojaan nähden.

hakkerilukko

 

Koodaamisen ja loogisen ajattelun kauneus

Kyetäkseen kunnolla hakkeroimaan, on ihmisen ymmärrettävä tietojärjestelmiä ja koodaamista. Minulle koodirivit ja koodaaminen voivat olla todella kauniita asioita: kun ihminen koodaa pitkään ja hänestä tulee taitava, voi hänen koodistaan tulla taiteellisen kaunista. Kaunista voi olla se mitä koodilla tai sovelluksella saadaan aikaiseksi: uusia sovelluksia, käyttöjärjestelmiä, uusia tapoja tehdä ja nähdä asioita…

Hyvä koodi on myös itsessään visuaalisesti kaunista samalla tavalla kuin vaikka matemaattinen yhtälö voi olla visuaalisesti kaunis. Eulerin identiteetti on mielestäni yksi kauniimpia yhtälöitä ja matemaattisista symboleista pidän erityisesti osittaisderivaatan symbolista.

Tottakai näen koodin myös synestesiani kautta eri tavalla kuin ei-synesteettiset ihmiset – synestisiani on yhtä vahva niin kirjainten kuin numeroidenkin kanssa. Koodaaminen on ikään kuin toinen kieli puhutun kielen lisäksi: kyseessä on ajattelun kieli.

Toisen koodin lukeminen paljastaa todella hyvin kuinka toinen ihminen loogisesti ajattelee. Kaksi ihmistä saattaa koodata saman asian eri tavalla, koska heidän looginen ajattelunsa rakentuu eri tavalla. Kirjoitettu koodi välittää ihmisten ajattelua ja hyvä koodi on kuin hyvää ajattelua: loogista ja yksinkertaista ja todella tiivistä ja selkeää.

Hyvässä ja kauniissa koodissa ei ole mitään turhaa, ylimääräistä tai epäselvää ja sitä, kuten hyvää ajatteluakin, on ilo seurata. Haaste koodaamisessa on tuoda esiin ajatus siitä mitä haluaa tehdä. Jotta voi tuoda esiin tämän ajatuksen, on ensiksi määrittettävä ongelma jota haluaa ratkaista ja sitten redusoidatava tämä ongelma primitiiveihin/perusosiin.

Aikuisiällä aloin enemmänkin kiinnostua ajattelun ajattelemisesta. Huomasin, että koko elämäni olen harrastanut lähes yksinomaan bottom up -tyylistä deduktiivista ajattelua: tällaisessa ajattelusta lähdetään joukosta sääntöjä tai oletuksia ja koitetaan näistä säännöistä johtaa ja päätellä jotain.

Mutta on myös olemassa toisenlaista ajattelua: induktiivista top down -päättelyä, jossa yleisestä ilmiöstä/sääntö-/tapahtumajoukosta koitetaan löytää niitä yhdistäviä tekijöitä ja sääntöjä, joiden ympärille tämä ilmiö rakentuu.

Tällaisessa ajattelussa on oma haasteensa ja samalla tällainen ajattelu on myös todella kiehtovaa. Hakkeroinnissa on monesti kyse induktiivisesta ajattelusta – täytyy ymmärtää isoja kokonaisuuksia, joita on osattava sitten purkaa pieniin osatekijöihin.

maxresdefault

 

Miten päästä osaksi hakkeroinnin maailmaa?

Luin aikoinaan paljon kirjoja ja artikkeleita hakkeroinnista. Osa hakkereista keskittyy tietojärjelmestien sijaan enemmän ihmisten hakkerointiin, toisin sanoen siihen kuinka saada huijattua ja manipuloitua ihmisiä paljastamaan tärkeitä tietoja.

Esimerkiksi yksi tapa saada käsiinsä esimerkiksi yritysten tai virastojen salasanoja on tekeytyä puhelimitse tai paikan päällä yrityksen työntekijäksi tai atk-tukihenkilöksi ja kysyä oikeanlaisia kysymyksiä.

Tämän tyylistä social engineering -hakkerointia käsittelee muun muassa tunnettu entinen FBI-etsintäkuulutettu hakkeri Kevin Mitnick kirjassaan The Art of Deception. Mielenkiintoista social engineering -näkökulmaa edustavat myös monet mentalistien käyttämät temput, joita muun muassa mentalisti Derren Brown käsittelee kirjoissaan. Myös Sun Tzun klassikko The Art of War on hyvää luettavaa tällä saralla.

Erittäin teknistä hakkerointia puolestaan edustaa Wil Allsoppin Unauthorised Access ja Justin Seitztin Gray Hat Python – kirjat ovat yleisiä oppaita penetraatiotestaajille. Kirjojen lukemisen lisäksi olen itse oppinut todella paljon vain kokeilemalla ja eksperimentoimalla asioita.

Yhä tänä päivänä luen päivittäin packetstormsecurityä ja securityweekiä ja olen perillä tietoturvallisuusalasta ja alan tapahtumista ja ilmiöistä. Mielenkiintoisina alan ilmiöinä mainittakoon vaikkapa enemmän uutisissa olleet krakkeriryhmittymät kuten Anonymous, LulzSec ja Lizard Squad, joita en niin hirveän aktiivisesti seuraa, mutta joiden suhteen on silloin tällöin hyödyllistä pysyä kartalla.

deceptionderrenbrown derren-brown-evening-of-wonders-hypnosis unauthori suntzu ghpython_big

 

Millainen hakkeri olet?

Hakkerit jaetaan perinteisesti kolmeen eri ryhmään: puhutaan valkoisista, harmaista ja mustista hatuista (white hat, grey hat, black hat). Mustat hatut tekevät laittomuuksia ja tuhoavat tai paljastavat asioita ja aiheuttavat vahinkoa. Monia mustia hattuja ajaa tarve käyttää hakkerointitaitojaan oman etunsa ajamiseksi ja monet myös haluavat kuuluisuutta ja statusta.

Valkoinen hattu taas toimii lain puitteissa: hän pyrkii luomaan ja pitämään yllä tietoturvaa ja käyttää hakkerointia testataakseen tietoturvan pitävyyttä. Harmaat hatut ovat jotain tältä väliltä: monet harmaat hatut hakkeroivat järjestelmiä huvikseen: eivät varastaakseen ja hyödyntääkseen tietoja, vaan haastaakseen itseään. Itse olisin tällä luokittelulla erittäin vaalea grey hat.

En haluaisi itse esimerkiksi tulla julkisuuteen mustana hattuna jostain kuuluisasta tietomurrosta, olisin mieluummin vaikkapa kuuluisa haavoittuvuustestaaja. Myös hakkerointia ja kräkkäyksiä voi tehdä laillisesti: monet tietoturva-alalla toimivat firmat ja instanssit järjestävät rekrytointihaasteita, jossa päästäkseen työhaastatteluun pitää ratkaista joku kräkkäystehtävä.

Sitten on CTF-kisoja (capture the flag), joissa kilpaillaan tiimeittäin erilaisten tietomurtohaasteiden parissa.

white_hat1

 

Millaisia hakkerointeja olet tehnyt?

Puhuin aiemmin hakkeroinnista eräänlaisena haasteena ja pulmapelinä; miten käyttää asioita eri tavalla kuin mihin ne on tarkoitettu? Muistan kun näin eräässä kauppakeskuksessa mainostaulun ja aloin miettimään voisiko taulua käyttää johonkin muuhun kuin sitä oli tarkoitettu – no saattoihan sitä.

Onnistuin saamaan taulun kontrolliini ja laitoin taulun näytölle pyörimään  jotain epätarkoituksenmukaista. Muistan miten kerran nuorempana murtauduin yhden nettisivun admin-hallintapaneeliin ja jätin sivun ylläpitäjille viestin, että sivun omistajien kannattaisi päivittää tietoturvaansa.

Eräällä luennolla mietin, että voisinko saada haltuunsa tuttujeni facebook-tunnuksia. Luennoitsija oli tylsä ja kaikilla oli luennolla läppärit, joten päätin viihdyttää itseäni. Tein rogue access pointin ja ohjasin sen kautta kaikki feikille facebook-sivulle, pakotin ihmiset yhdistämään tähän access pointiin ja sain noukittua noin viitisentoista salasanaa.

Millekään näistä en kuitenkaan kirjautunut – paitsi yhden hyvän ystäväni tilille vain testatakseni, että toimiko kikkani (toimihan se). Minulla ei ole onneksi ollut lain kanssa mitään ongelmia tai edes yhtään läheltä piti -tilannetta, sillä yleensä teen varsin harmittomia juttuja. Monia ajatuksiani en ikinä toteuta.

Stealing online information

 

Oletko osana hakkeriyhteisöä vai harrastatko hakkerointia yksin?

En sanoisi olevani osana yhteisöä, hakkeriskene on Suomessa varsin pieni ja, vielä kun en ole kunnolla ollut töissä yksinomaa tietoturvaa tekevässä firmassa, en juuri tunne alan ihmisiä. Tosin nyt olen töissä eräässä start-upissa, vastaan siellä tietoturvasta, ja tulen kasaamaan sinne omaa tiimiä, joten ehkä tämäkin muuttuu.

Jenkeissä Las Vegasissa järjestetään hakkereille ja tietokoneihmisille suunnattuja, todella suosittuja, Defcon ja Black Hat Briefings -konferensseja, joihin unelmoin vielä osallistuvani. Niissä on paikalla todella kovia osaajia. Suomessa oli viime talvena oma Suomen DefCon-tyylinen tapahtuma, Disobey, osallistuin sinne.

Jollain nettifoorumeilla olen jutellut joskus, mutta aika vähän. Luulen, että tämä hakkerointiharrastus on ylipäätään monesti luonteeltaan aika yksinäistä, ehkä enintään online-sosiaalista. Yksi parhaimmista kavereistani kyllä tekee teknisesti saman tyylistä hakkerointia kuin kuin minä, hänen kanssaan teen kyllä juttuja.

hacking-defcon-kids-002

Tuletko hakkerointi olemaan tulevaisuudessa osa elämääsi?

Tulen varmasti jatkamaan hakkerointia myös tulevaisuudessa.

 

Kiitoksia haastattelusta!

Leave a Reply