T�m� tutkielma on tehty harjoitusty�n� kev��ll� 2001 Tampereen teknillisen
korkeakoulun kurssille 83450, Internetin
verkkotekniikat.
Tekij�t Laura Koskinen, Kalle Viitanen, Jarkko Laine
TCP/IP:n perusajatuksena on, että tietoliikenne on liian monimutkaista yhden protokollan hoidettavaksi. Siksi sen mukaan työ jaetaankin eri tasojen moduuleille, jotka sitten kommunikoivat vastapuolen vastaavan tason protokollan kanssa.
TCP/IP:llä ei ole virallista mallia, kuten OSI-mallilla. Se kuvataan kuitenkin yleensä viitenä kerroksena:
Kuvassa 1 on esitelty TCP/IP-protokollaperheen ydinprotokollat sekä niiden tarjoamia sovellustason palveluita. Perheen perusprotokollia ovat IP, ICMP, IGMP, ARP, TCP sekä UDP. Näistä IP, ARP, ICMP ja IGMP toimivat verkkokerroksella ja TCP sekä UDP kuljetuskerroksella.

Kuva 1. TCP/IP:n protokollat sekä niiden tarjoamat ylemmän tason palvelut
Pakettien lähettäjä ja vastaanottaja ilmaistaan IP-osoitteella. IP-osoite on 32-bittinen luku, joka esitetään yleensä pisteillä eroteltuna desimaalilukuna, esim. 195.148.185.48. Protokolla reitittää paketit ilman, että lähettäjän tarvitsee tietää siirrosta muuta kuin saajan IP-osoite.
IP-protokolla käsittelee kaikki IP-paketit erillisinä. Se ei ota kantaa siirrettävän tiedon luotettavuuteen, vuonvalvontaan eikä muihin korkeamman tason palveluihin. Tämä johtuu ennen kaikkea suorituskykysyistä, sekä siitä, että samoja tehtäviä on turha suorittaa useamman eri tason protokollan toimesta. IP ei myöskään sisällä virheenkorjausta, mutta se laskee kuitenkin paketeille tarkistussumman ja hylkää virheelliset datagrammit.
TCP on myös niin sanottu päästä päähän -protokolla. Kaikki TCP-tason datavälitys tapahtuu vain yhteyden päissä olevien laitteiden välillä, eikä protokolla ole käytössä IP:n tapaan esim. reitin varrella olevissa reitittimissä.
TCP sijoittuu siis kuljetuskerrokselle. Se tarjoaa korkeamman tason sovelluksille helpon rajapinnan yhteyden muodostamiseen ja datan siirtoon. TCP:n tärkeimmät palvelut ylemmille tasoille ovat:
Sekvenssinumerot on tarkoitettu vuonohjaukseen, mutta ne ovat osoittautuneet tehokkaaksi turvaominaisuudeksi. Päästäkseen TCP -yhteydelle murtautujan tulee tietää mikä sekvenssinumero yhteydellä on menossa. Tämä onnistuu vain joko arvaamalla sekvenssinumero tai salakuuntelemalla lähetystä. Nämä ovat useissa tapauksissa vaikeita menetelmiä.
Porttinumeroiden käyttöturvallisuusmenetelmänä on standardoimaton turvallisuussysteemi, jossa alle 1024:n porttinumeroita annetaan vain sellaisille prosesseille, joilla on pääkäyttäjän (root) oikeudet. Tätä hyödynnetään toisinaan palomuureissa, mutta järjestelmä ei itsessään ole luotettava.
Perusturvamekanismeihin on odotettavissa parannusta IPv6:n myötä. Tässä IP -protokollan uudessa versiossa on lisätty kaksi uutta turvamekanismia: todennuskehys AH, jonka avulla voidaan todeta jokaisen kehyksen eheys ja alkuperä sekä ESP (Encapsulating Security Payload), jonka avulla voidaan salata koko IP-paketti tai sen hyötykuorman. IPv6.0 :n kehitystyö ei ole vielä täysin valmis.
Koska Internet on kaksisuuntainen kanava, kutsumaton vieras voi päästä yrityksen omaan järjestelmään käsiksi ja muutella tietoja. Tällainen murto onnistuu käyttöjärjestelmässä tai palvelinohjelmistoissa olevien aukkojen ansiosta tai jopa hankkimalla käyttäjätunnus jollain keinolla. Näyttävimpiä tällaisia hyökkäyksiä on Yhdysvaltojen oikeusministeriön WWW-palvelun taannoinen muuttaminen "Department of Injustice" -nimiseksi.
TCP/IP-protokollaperheessä on useita turvallisuuteen liittyviä heikkouksia, jotka ovat otollisia hyökkäyskohteita. Näistä yleisimpiä ovat:
Verkon salakuuntelu, joka onnistuu helposti, mikäli saadaan fyysinen yhteys siirtomediaan. Päästyään käsiksi kaapeliin liitettyyn koneeseen murtautuja voi kuunnella liikennettä vaikkapa diagnostiikkaohjelmaa käyttäen ja poimia liikenteestä käyttäjien salasanoja.
IP-osoitteiden väärennys tapahtuu lähettämällä UDP paketteja joiden IP -osoite on väärä. Tällöin vastaanottajan paluupaketit eivät tietenkään tule perille. Tätä voidaan käyttää muun muassa hyökkäyksessä NFS:ää vastaan sekä IP-osoitteeseen perustuvan tunnistuksen kiertoon.
ICMP-hyökkäyksessä tunkeutuja uskottelee olevansa reititin käyttäen ICMP:tä. Hyökkääjä uskottelee laitteelle lyhyimmän polun tiettyyn osoitteeseen kulkevan itsensä kautta ja saa näin siepattua lähtevät paketit. Mikäli hyökkääjällä on myös väärennetty IP -osoite saa hän haltuunsa myös paluupaketit.
ARP-kysely soveltuu myös tietoturvahyökkäyksiin. ARP-protokollalla
(Addres Resolution Protocol) voidaan selvittää samassa verkossa
olevan laitteen Ethernet-osoite. ARP-kyselypaketissa kysytään mikä
on tiettyä IP-osoitetta vastaava Ethernet-osoite. Normaalisti IP-osoitteen
omakseen tunnistava laite vastaa Ethernet-osoitteellaan, mutta mikäli
hyökkääjällä on laite samassa verkossa, voi tämä
vastata ennen oikeaa konetta ja uskotella olevansa tämä.
IP-lähdereititystä voidaan käyttää reitityksen
muuttamiseen. Sitä on tarkoitus käyttää reititystaulujen
mennessä sekaisin. Lähdereitityksen avulla murtautuja voi laittaa
oman IP-osoitteensa tilalle reitin, jossa hänen osoitteensa on. Vastaanottaja
näkee lähettäjänä reitin viimeisen osoitteen, vaikka
käytännössä paketit pysähtyvät jo murtautujan
osoitteen kohdalla.
Sähköpostin väärennys on hyvin yksinkertainen toimenpide. SMTP-protokollassa viesti kulkee selväkielisenä, jolloin haluamillaan lähtötiedoilla varustetun postin saa lähtemään ottamalla yhteyttä esimerkiksi Telnetillä koneen SMTP porttiin ja naputtelemalla haluamansa viestin.
Käänteisnimipalvelun avulla voi muuttaa oman IP-osoitteensa. Nimipalvelu DNS muuttaa domain-nimen vastaavaksi IP-osoitteeksi ja käänteisnimipalvelu tekee vastakkaisen toiminnon. Itse nimipalvelu on varsin varmatoiminen, mutta käänteisnimipalvelua voidaan huijata liittämällä IP-osoitteeseen haluamansa nimi. Useissa palvelimissa tämä on estetty nimikysely avulla, jolloin käänteisnimipalvelussa saatu nimi tarkistetaan suorittamalla sille nimipalvelukysely.
Nimipalvelimiin kohdistuvasta tietoturvariskistä on esimerkkinä seuraava uutinen: Yritysten tietojärjestelmistä löytyi vakavia puutteita (HS 24.2.2001). Uutisen mukaan yksitoista sadasta Suomen suurimmasta yrityksestä on laiminlyönyt tietoturvan. Näiden yritysten nimipalvelinjärjestelmässä on aukko, jonka kautta hakkerit pystyvät halutessaan kaatamaan firmojen internet-sivustot sekä myös mahdollisesti tunkeutumaan niiden tietojärjestelmiin. "Sadan liikevaihdollisesti suurimman yrityksen nimipalvelujärjestelmät testasi islantilainen tietoturvayritys Men&Mice. Tutkituista yrityksistä 11 käytti nimipalvelujärjestelmässään (BIND DSN) puutteellista ohjelmistoversiota. Nimipalveluongelma havaittiin maailmalla tammikuun 29. päivänä 2001. Men&Micen tekemän selvityksen mukaan seuraavana päivänä lähes 600:lla maailman 1000 suurimmasta yrityksestä oli aukko nimipalvelujärjestelmässään. Yritykset kuitenkin päivittivät nopeasti ohjelmistojaan."
Tunkeutujien käyttämät murtautumismenetelmät voidaan jakaa sosiaalisiin ja teknisiin menetelmiin. Sosiaalisissa menetelmissä tunkeutuja käyttää väärin omia oikeuksiaan tai huijaa toisia käyttäjiä. Tämä on usein helpompaa kuin teknisten ratkaisujen käyttö. Teknisissä menetelmissä laitteistojen heikkouksia voidaan käyttää hyväksi, esimerkiksi suojaamaton muistijärjestelmä on tehokas keino salasanojen selvitykseen.
Salakuuntelu on tehokas murtautumistapa ja se on päätteiden ja lähiverkkojen tapauksessa melko helppoa.
Troijanhevoset ovat ohjelmanpätkiä, joita pyritään huomaamattomasti ujuttamaan suojattuun järjestelmään. Päästyään järjestelmään ohjelman tekee suojamuuriin aukon, josta murtautuja pääsee halutessaan sisään systeemiin.
Suojausaukot ovat virheellisiä suojausmäärittelyjä, jotka altistavat systeemin turvallisuusuhalle. Tyypillinen tapaus on Unix-tiedosto, jonka käyttöoikeudet on väärin määritelty.
Salasanojen arvailu on yleinen tapa päästä systeemiin. On tutkittu, että jopa joka neljännellä käyttäjällä on huono salasana. Jos päästään käsiksi suureen määrään salasanatietoja, on yhden salasanan arvaaminen mahdollista melko nopeastikin.
Ohjelmistovirheet ovat myös tapa päästä järjestelmään. Jokainen ohjelma sisältää virheitä, joista monia ei koskaan havaita. Käytännössä ohjelmistovirheiden täydellinen poistaminen esimerkiksi suuresta käyttöjärjestelmästä on mahdotonta. Tämä murtautumismenetelmä vaatii tekijältään todellista osaamista eikä siksi ole kovin yleinen.
Suojautumisessa on olennaisen tärkeää ennakkosuunnittelu. Riskit on siis analysoitava etukäteen. Todennäköiset uhat sekä turvallisuusjärjestelmän mahdollisuudet on tiedostettava. Tämän lisäksi on suunniteltava ja luotava oikean tasoiset suojatoimenpiteet.
Suojausjärjestelmä ei ole koskaan valmis toimimaan ilman käytönaikaista työtä. Toimiva suojaus edellyttää systeemin päivitystä tasaisin väliajoin sekä jatkuvaa käytön seurantaa. Käytön seurannalla voidaan havaita murtautuja joko toiminnassa tai sitten löytää tämän jälkeensä jättämiä jälkiä tai turvallisuusaukkoja. Seuranta toteutetaan useimmiten turvalokin avulla. Se tallentaa esimerkiksi tehdyt turvatasojen muutokset käyttäen kerrankirjoittavaa menetelmää tai erillistä lokikonetta. Seurantaa voidaan tehostaa liittämällä lokiin ohjelma, joka analysoi poikkeukselliset tilanteet ja raportoi niistä.
Suomen Internet-verkon suunnittelussa ei toimintavarmuuteen ja käytettävyyteen ole kiinnitetty huomiota vielä samalla tavoin kuin esimerkiksi puhelinverkon kohdalla. Verkko itsessään kestää normaalit virhetilanteet, mutta ei aktiivista hyökkäystä. Internet-verkko itsessään ei tunnista käyttäjiä mitenkään, vaan on viestintäkanava, jossa on merkittävän paljon helpompaa esiintyä naamioituneena tai anonyyminä kuin muussa elämässä. Nimettömänä tai keksityn nimen suojissa esiintyminen on jopa kohtuullisen yleistä verkkomaailmassa.
Virheellisesti tunnistettu osapuoli voi verkon ylitse asioidessaan saada aikaan huomattavaa vahinkoa. Esimerkiksi ulkopuolinen taho voi lähettää Internetin kautta viranomaiselle väärennettyä sähköpostia, joka näyttää tulevan toiselta viranomaiselta saman organisaation sisällä. Tavallinen käyttäjä ei osaa tutkia sähköpostin otsakekenttiä riittävän huolellisesti huomatakseen väärennöksen.
Verkon kautta sähköitse asioitaessa kiistämättömyys tulee tärkeämmäksi tekniseksi ongelmaksi kuin paperien kanssa asioitaessa. Viranomaispäätökseen on usein pystyttävä vetoamaan myös jälkeenpäin ja pelkästään vastaanotettu sähköpostiviesti tiedostossa tai paperille tulostettuna ei välttämättä riitä tällaiseksi todisteeksi.
Internet-käytön suurin turvallisuusongelma ei kuitenkaan ole luonteeltaan tekninen. Verkon käyttäjien kokemattomuus ja tietämättömyys verkon ominaisuuksista on suurin ongelma ja sitä ei pystytä täysin ratkaisemaan teknisillä keinoilla. Eri ympäristöissä ovat eri uhkien todennäköisyydet ja uhan toteutumisesta aiheutuvat vahingot erilaisia. Suojauduttaessa on etsittävä tasapaino riskien ja kustannusten välillä. Esimerkiksi oppilaitoksen opiskelijoiden harjoitustöitä suojaamaan ei kannata hankkia miljoonien markkojen palomuuriratkaisua.
Julkishallinnon tiedoille ei voida läheskään aina asettaa markkamääräistä arvoa, vaan suojaustarve lähtee laeista ja asetuksista. Tällöin, mikäli palvelun riittävän tasoista tietoturvallisuutta ei voida taata, ei palvelua voida tarjota Internet-verkossa.
Nikander, P. & Peltonen, T. & Viljanen, L. 1996. Internet tietoturva. Gummerrus Kirjapaino Oy. Jyväskylä
Junkkari, M. 2001. "Yritysten tietojärjestelmistä löytyi vakavia puutteita." 24.2.2001. Helsingin Sanomat. Talous.
Toppila, P. 1997. Tietoturva internetiss�. Seminaariesitelm�. http://www.hut.fi/~ptoppila/tieot.htm
RFC 791: Internet Protocol
RFC 793: Transmission Control Protocol
RCF 1122: Requirements for Internet hosts - communication layers
Hautaniemi, M. 1994. TKK/Atk-keskuksen TCP/IP-verkon valvonta ja hallinta. Diplomityö. http://keskus.hut.fi/julkaisut/tyot/diplomityot/611/