TKK | Tietoverkkolaboratorio | Opetus
 

Suojauksen purkaminen

Toisesta maailmansodasta alkaen on salakirjoitusjärjestelmien ja algoritmien purkamiseen eli salakirjoittamalla suojatun liikenteen salakuunteluun sijoittettu huomattavia määriä rahaa ja työvoimaa. Alunperin pyrittiin saamaan selville vastapuolen sotasuunnitelmia, mutta nykyisin yhä enenevässä määrin myös erilaisia liikesalaisuuksia.

Tietoja suojattaessa tulisi aina muistaa, että turvallisuustasoa voidaan pitää riittävänä, mikäli tietojen haltuunsaaminen on kalliimpaa kuin tietojen mahdollinen arvo. Esimerkiksi yksityishenkilön puhelinkeskustelu tai sähköpostiviesti ei todennäköisesti sisällä niin arvokasta informaatiota, että kannattaisi käyttää supertietokoneita ja kallispalkkaisia matemaatikkoja näiden salakuunteluun. Toisessa ääripäässä esimerkiksi sotilassalaisuuksien selville saamiseen voidaan käyttää, etenkin kriisitilanteissa, lähes rajattomasti resursseja.

On myös hyvä pitää mielessä helpoin tapa tiedon selville saamiseksi. Esimerkiksi ei kannata kuunnella Internet-liikennettä ja purkaa WWW-kauppojen käyttämää SSL-salausta saadakseen yksittäisen luottokorttinumeron haltuunsa, kun samaisia luottokorttinumeroita voi käydä keräilemässä huoltoaseman roskakoriin heitetyistä kuiteista.

Kryptologian vaarallisimpia puolia käyttäjän kannalta on se, että sitä voidaan lähes mitata. Avainten pituuden ja tietokoneiden laskentatehon peruteella voivat salauslaitteistojen ja -ohjelmistojen valmistajat esittää erilaisia toinen toistaankin fantastisempia lukuja siitä kuinka kauan heidän järjestelmällään salatun viestin purkaminen kestää. Nämä arvot eivät kuitenkaan vastaa todellisuutta, sillä tosielämässä salakirjoituksen purkajilla on käytössään huomattavasti laajempi skaala menetelmiä kuin pelkkä raaka laskentateho. Laskentatehokin tuplaantuu vuosittain.

Seuraavassa käsitellään muutamia yleisempia hyökkäyksiä, eli tapoja tiedon suojauksen purkamiseksi.

Brute force

Niin sanottu brute force -hyökkäys perustuu kaikkien mahdollisten salausavainten kokeiluun. Periaatteessa kaikki yleisesti käytetyt salausalgoritmit kyetään murtamaan tällä "raa'an voiman" hyökkäyksellä, mutta esimerkiksi PGP-ohjelmistolla tarpeeksi pitkällä avaimella salatun salatun viestin purkamiseen kuluva aika voi olla useita satoja vuosia jopa maailman tehokkaimmilla tietokonelaittoistoilla.

Salaus on aina murrettavissa, on vain kysymys ajasta. Jos tiedon on pysyttävä salassa kaksi vuorokautta ja kaikilta maailman tietokoneilta menee sen murtamiseen viikko, on salaus riittävä. On kuitenkin otettava huomioon avaimen ja algoritmin puutteet, jotka voivat pienentää murtamisajan murto-osaan. On kuitenkin olemassa yksi teoriassa murtamaton järjestelmä, "One-Time-Pad". OTP on salaus, jossa avain on yhtä pitkä kuin salattava viesti ja avainta käytetään vain kerran. Jos avain on satunnainen ja pysyy salassa, ei viestiä voida murtaa, sillä esimerkiksi viesti: "k h#dy2=346 ,a^h" voi väärällä avaimella purettuna yhtä suurella todennäköisyydellä tuottaa vastaukseksi "Vastaus on kyllä", "Vastaukseni on ei" ja "Olet typerä pelle". OTP on siis varma, mutta erittäin epäkäytännöllinen, sillä avaimia on oltava valtava määrä ja niiden siirtäminen paikasta toiseen on järjestelmän heikko lenkki.

Kryptografiset menetelmät on suunniteltu täysin satunnaisia avaimia varten. Täysin satunnaisia avaimia voi luoda vain luonnon ilmiöiden (säteily - geiger mittarin naksahdukset, tuulen voimakkuuden muutokset) avulla. Jos avain ei ole täysin satunnainen, on salaus murrettavissa arvaamalla avain. Hyvin yleistä on, koska käyttäjän on kuitenkin muistettava avaimensa, käyttää avaimena jotakin sanaa, sanaparia, sanamuunnosta, syntymäpäivää, tai jotakin muuta. Tällaiset ei-satunnaisella avaimella salatut viestit voidaan purkaa esimerkiksi syöttämällä avaimeksi kaikki sanakirjan sanat muunnellen samalla esimerkiksi isojen kirjainten sijaintia. Tämän takia ei avaimenaan saa käyttää selväkielistä sanaa tai numeroyhdistelmää. Hyviä avaimia ovat vaikkapa jonkun lauseen sanojen etukirjaimet, joiden väliin on vielä sijoitettu numeroita ja erikoismerkkejä.

Kryptoanalyysi

Kryptoanalyysi pyrkii selvittämään käytetyn salausalgoritmin heikkouksia, joita hyväksi käyttämällä voidaan esimerkiksi rajata vaikkapa mahdollisten salausavainten määrää, jolloin brute force -hyökkäys voidaan suorittaa helpommin. Useista yleisesti käytössä olleista salausalgoritmeista on tälläisiä heikkouksia löydetty, eikä voida varmuudella taata, etteikö näitä heikkouksia voisi löytyä myös kaikkein parhaimpina pidetyistä nykyisistä algoritmeista.

Salauksen pitävyyden on aina perustuttava avaimen salaisuuteen, ei algoritmin salaisuuteen. Jos algoritmi on salainen, eivät maailman matemaatikkopiirit ole päässeet tonkimaan sitä ja siitä hyvin suurella todennäköisyydellä löytyy virhe, joka helpottaa salauksen murtamista. Toisaalta vähän tutkitun algoritmin ostaminen omaan sovellukseen muualta on riskikästä. Jos algoritmi on suunniteltu itse voidaan ainakin olla varmoja siitä, ettei algoritmissa ole tahallaan jätettyjä salaluukkuja, joiden kautta tunkeilija pääsee helposti sisään tarvittaessa. Tälläinen algoritmi on pidettävä salassa mahdollisimman pitkään, jotteivät ulkopuoliset tahot löydä siitä heikkouksia, jotka ovat laatijalta jääneet huomaamatta. Käytännössä algoritmi kuitenkin tulee paljastumaan ennemmin tai myöhemmin ja tällöin heikkoudet löytyvät. Näin ollen on aina varmempaa käyttää yleisesti tunnettua ja hyväksi havaittua julkista algoritmia kuin omaan käyttöön räätälöityä, salaista ja valmistajan kehumaa algoritmia.

Erilaisia hyökkäyksiä on algoritmeja vastaan kehitetty useita. Hyökkäykset jakaantuvat passiivisiin ja aktiivisiin hyökkäyksiin. Passiivisessa hyökkäyksessä hyökkääjä tyytyy salakuuntelemaan viestejä ja pyrkii niiden avulla purkamaan salatut sanomat. Tälläisen hyökkäyksen havaitseminen on käytännössä mahdotonta. Aktiivinen hyökkääjä esiintyy jonakin toisena, salaa viestejä algoritmilla, korvaa viestejä toisilla, lähettää uudelleen vanhoja viestejä, katkoo lähetyskanavia tai muuttaa salattuja tietoja. Aktiivisen hyökkääjän toimintatavat riippuvat salaamisjärjestelmän toimintaympäristöstä.

Yleisimpiä passiivisia hyökkäyksiä tänä päivänä ovat tunnetun salakielen hyökkäykset, joissa salakielen purkajalla on tiedossaan useiden viestien salakielinen versio ja hänen tehtävänään on niiden avulla päätellä mahdollisimman monen viestin selväkielinen vastine - tai, jos mahdollista myös salakielen avain.

Aktiivisia hyökkäyksiä on useita. Tunnetun selväkielen hyökkäyksissä purkaja pääsee itse salaamaan viestejä, jolloin hänellä on hallussaan sekä salakielinen että selväkielinen versio samasta viestistä. Tätä hyökkäystä on mahdollista myös kehittää edelleen siten, että purkaja valitsee tarkkaan salattavan viestin, jolloin avaimesta saatetaan saada enemmän tietoa kuin satunnaisella viestillä. Muun muassa saksalaisten Enigma murrettiin toisessa maailmansodassa tunnetun selväkielen hyökkäyksillä. Tällöin oli tunnettuna selväkielenä usein sääasemien päivittäisten ilmoitusten vakiomuoto, jota saksalaiset tietenkin noudattivat saksalaisella tarkkuudella. Jos tiedetään jonkun salatun viestin sisältö, tai osa siitä, voidaan salausavain selvittää huomattavasti lyhyemmässä ajassa kuin "raa'an voiman menetelmällä". Tällainen tunnettu teksti voi olla vaikkapa viestin alussa oleva tervehdys tai vakio-otsake.

Uusimpia hyökkäyksiä on aktiivinen "forward-search" hyökkäys, jossa hyökkääjä salaa mahdollisina pitämiään selväkielisiä sanomia kunnes salakielet täsmäävät. Tämä hyökkäys on nykyään muuttunut tehokkaaksi, koska julkisella avaimella salatuissa viesteissä on mahdollisia salakieliä suhteellisen vähän.

Muut tietotekniset menetelmät

Viime vuosina on tietojen selvittämisen työkaluiksi tulleet erilaiset virukset, troijalaiset hevoset, madot ja muut inhottavat bittinilviäiset. Rikollisten ja tiedustelupalveluiden on mahdollista levittää viruksia, joiden tarkoituksena on poimia saastuttamistaan tietokoneista mielenkiintoisia tietoja ja vaikkapa lähettää ne sähköpostitse luojalleen.

Myös moninaiset virheet eli "bugit" käyttöjärjestelmissä ja ohjelmissa aiheuttavat ongelmia tietoturvallisuudelle. Usein on arveltu, että jotkut näistä virheistä ovat tahallisia ja niiden tarkoituksena on päästää ohjelmistotalon suosimat tahot sisään asiakkaiden tietojärjestelmiin. Hyvänä esimerkkinä lienee myös Ruotsissa 1997 paljastunut skandaali, jossa Lotus Notes Intranet-ohjelmiston salasanoja ja muuta salausta altistavaa materiaalia oli luovutettu USA :n tiedusteluviranomaisille ohjelmiston valmistajan toimesta. Muun muassa Ruotsin valtionhallinto ja puolustusvoimat käyttivät tätä ohjelmistoa varsin avoimissa verkoissa.

Käyttäjien tekemät virheet aiheuttavat myös usein suuren uhan järjestelmän tietoturvallisuudelle. Missään järjestelmässä ei ole niin tiukkaa valvontaa, ettei käyttäjä tahallaan tai vahingossa pystyisi luomaan siihen reikää, josta tunkeutujat pääsisivät sisään.

Vaikka tietokoneella oleva tieto olisikin vakuuttavasti salattua, on tietokonetta analysoimalla saatavissa esille usein yllättävän paljon. Tietokoneet säilyttävät niille annetut salasanat hyvin salattuina tiedostoissa kovalevyllään. Näiden tiedostojen murtaminen on hankalaa, ja ainoa todellinen keino selvittää salasanoja on itse syöttää todennäköisiä salasanoja samaan ohjelmaan ja verrata tulosta koneesta löytyneeseen salasanaan. On muistettava, että vaikka ohjelmat salaavat käyttäjän antamat salasanat ja avaimet, ovat nykyiset käyttöjärjestelmät rakennettu moniajoa varten siten, että ennen avaimen salaamista kone saattaa kirjoittaa sen salaamattomana väliaikaiseen tiedostoon ja suorittaa jonkun toisen ohjelman prosessia hetken aikaa palatakseen taas pian avaimen kimppuun. Kovalevyltä tuhotut tiedot eivät tuhoudu minnekään ennen kuin kyseiselle sektrorille kirjoitetaan uutta tietoa (eivätkä tulenarat tiedot tarkasti ottaen tuhoudu silloinkaan). Tuhotut tiedostot saattavat näin ollen poistua kovalevyltä minuutin kuluttua tai eivät koskaan. Aivan kuten tiedot ennen salaamistakin jää myös salasana tässä tapauksessa kovalevylle vihamielistä nuuskijaa varten.

Muut tekniset menetelmät

Usein voidaan jo pelkästään verkossa liikkuvan liikenteen määriä, pituuksia ja suuntia tutkimalla päätellä varsin paljon. Erilaisilla liikenteentäyttömekanismeilla voidaan vaikeuttaa liikenneanalyysiä muodostamalla verkkoon valeliikennettä ja kasvattamalla kaikki sanomat vakiomittaisiksi. Liikenteen määrää tulisi kasvattaa niin suureksi kuin mahdollista verkkoa tukkimatta. Valeliikenteen sanomat tulisi myös salata, jotta valeliikennettä ei voitaisi erottaa todellisesta.

Nykyiset tietoturvajärjestelmät perustuvat lähes aina käyttäjän antamaan salasanaan. Tämä salasana voidaan selvittää muutenkin kuin pelkästään murtamalla se kryptoanalyysin keinoin. Salasanan saa selville varsin helposti esimerkiksi kurkkimalla käyttäjän olan yli kun tämä näppäilee sitä vaikkapa pankkiautomaattiin. On myös mahdollista salakuunnella salaamatonta asynkronista liikennettä näppäimistön ja tietokoneen välillä.

Tietokoneen näyttöpääte lähettää aina jonkin verran säteilyä. Tätä säteilyä analysoimalla on melko yksinkertaista muodostaa näyttöpäätteellä sillä hetkellä oleva kuva. Säteilyn voimakkuus riittää salakuunteluun normaalilla näytöllä satojen metrien päähän. Tätä salakuuntelua voidaan ehkäistä hankkimalla matalasäteilyinen näyttö, rakentamalla päätehuoneesta jonkinlainen Faradayn-häkki tai asentamalla huoneeseen häirintälähetin, joka lähettää voimakkasta säteilyä samalla taajuudella kuin näyttö.

Inhimillinen tekijä

Usein helpoin tapa järjestelmän suojauksen murtamiseksi on kuitenkin käyttää hyväksi inhimillisiä heikkouksia. Kryptoanalyytikot kutsuvat tätä tapaa kumipamppuhyökkäykseksi. Yksi tiettävästi onnistuneesti käytetty tapa on esitetty seuraavassa:

Soitetaan firman keskukseen ja kysytään mikrotukihenkilön nimi (Jaska) ja pyydetään hänelle, jolle sanotaan: "En saanut etäyhteyttäni toimimaan. Mikäs se modeemilinjan puhelinnumero olikaan?" Kiireiseltä tukihenkilöltä saadaan tarvittava puhelin numero.

Soitetaan jollekin firman työtekijälle, mieluiten markkinointiosastolle, ja sanotaan: "Täällä Jaska mikrotuesta moi. Nyt ollaan juuri tekemässä kriittistä järjestelmäpäivitystä ja täällä on jotakin mennyt pieleen. Asian korjaamiseksi tarvitsemme sinun salasanasi." Markkinointiosaston työntekijä, tottakai, kertoo salasanan mikrotukihenkilölle.

Nyt murtautujalla on käytössään sekä modeemilinjan puhelinnumero, että tarvittava käyttäjätunnus ja salasana, jolloin murtautuminen järjestelmään alkaa olla varsin helppoa.

Yleensä kumipamppuhyökkäys on paras keino murtaa algoritmi. Miksi maksaa miljardi dollaria kalliista tietokonelaitteistosta, jolla voidaan murtaa sanomia, kun viraston siivooja selvittää salaamisavaimet rakastajansa hellästä pyynnöstä. US Navy koki tämän karvaasti kylmän sodan lopulla, kun heillä töissä ollut Walkerin pariskunta paljastui agenteiksi. He olivat luovuttaneet salausavaimia Neuvostoliitolle pikkurahasta (jokunen miljoona dollaria). Pelkkä laitteistojen muuttaminen maksoi USA :lle miljardeja.

Fyysinen tunkeutuminen

Useissa tapauksissa helpoin tapa hankkia yrityksen liikesalaisuuksia on yksinkertaisesta kävellä ovesta sisään ja kantaa joko tietokoneita tai paperidokumentteja ulos mukanaan. Ellei fyysinen turvallisuus ole hoidettu asian mukaisesti, niin kaikenlaiset muut tietoturvaan liittyvät investoinnit ovat varsin turhia. Vanha "roskisdyykkaus" eli roskakorien tonkiminen ei vieläkään ole poissa muodista, vaan elää uutta kukoistustaan, sillä nykyajan "paperittomissa toimistoissa" usein roskakoriin heitetään papereita, joiden avulla pääsee tunkeutumaan itse tietojärjestelmiin.

alkuun | seuraava | ylös
Mika Ståhlberg
Sami Uskela

Tietoverkkolaboratorio on nyt osa Tietoliikenne- ja tietoverkkotekniikan laitosta. Tällä sivulla oleva tieto voi olla vanhentunutta.

Kurssien ajantasainen tieto on MyCourses-palvelussa.

Tämä sivu on tehty oppilaiden harjoitustyönä. Tietoverkkolaboratorio ei vastaa sivun oikeellisuudesta, ajantasaisuudesta tai ylläpidosta. Vakavissa tapauksissa yhteyshenkilöinä toimivat ja Webmaster.
Sivua on viimeksi päivitetty 27.11.1998 02:19.
URI: http://www.netlab.tkk.fi/opetus/s38118/s98/htyo/1/hyss_5.shtml
[ TKK > Sähkö- ja tietoliikennetekniikan osasto > Tietoverkkolaboratorio > Opetus ]