You are here: TUTWiki>Tietoturva/Tutkielmat>NiemelaA?>2005-18

Antti Haijanen:

P2P tiedostojen jako-ohjelmat

Johdanto

Yksi ehkä eniten julkisuutta saaneista internettiin liittyvistä tekniikoista ovat vertaisverkot. Nämä P2P (peer-to-peer)-tekniikkaan perustuvat verkot ovat nostattaneen useita lakisyytteitä ja puhuttaneet useissa medioissa. P2P-tekniikkaa käytetään myös useissa muissa eri sovelluksissa ja toimintoissa, mutta se on silti laajimmin käytössä tiedostojen jako-ohjelmissa. Juuri tiedostojen jako-ohjelmat ja niissä liikkuva laillinen ja laiton materiaali on tehnyt koko tekniikasta kaikille tutun ja siksi olenkin valinnut sen tutkielmani aiheeksi. Aion tässä tutkielmassani käydä läpi itse tekniikan ja tuoda esille huomion arvoisia seikkoja koskien muun muassa moraalia ja tietoturvallisuutta P2P-tekniikkaan ja erityisesti tiedostojen jako-ohjelmiin liittyen. Lisäksi esittelen lyhyehkösti kaksi tiedostojen jako-ohjelmaa. Bit Torrent-protokollaan perustuvan Bit Tornadon, sekä Direct Connect-protokollaan perustuvan Direct Connect ++:n.

P2P-tekniikka ja sen kehitys

Asiakas-palvelin mallissa kaikki tiedon prosessointi, jakaminen ja yhteyksien hallinta kasaantui yhden keskuspalvelimen harteille. Tämän palvelimen kuormittuessa liikaa, saattoi palvelun laatu heikentyä ja jopa katketakin useilta asiakkailta kokonaan. Verkko myöskin lakkasi toimimasta, jos tämä palvelin sammutettiin. Vertaisverkkojen ajatus tiedon ja sen prosessoinnin hajauttamisesta onkin kasvattanut suosiotaan ja perinteisestä asiakas-palvelin mallista on alettu luopua suuremmissa verkoissa.

Peer-to-peer (P2P) tekniikka ei ole mikään uusi keksintö. Ensimmäinen vertaisverkko, ARPAnet kehitettiin jo 1960-luvulla Yhdysvaltain puolustusministeriön toimesta [4]. Myös jo 80-luvulta asti käytössä ollut usenet-uutisryhmäjärjestelmä perustuu osittain P2P-tekniikkaan, mutta tarjosi silti asiakas-palvelin mallin tapaan erilaisia uutisryhmiä joita asiakkaat pystyivät hallinnoimaan. Sen jälkeen 90-luvulla vertaisverkkoja on kehitetty tiedostonsiirtoa varten (tiedonsiirtoverkot), sekä reaaliaikaisen datan välittämistä varten, joista Napster oli ensimmäinen ohjelma joka toi tekniikan massojen tietoisuuteen 90-luvun loppupuolella.

P2P on verkkoarkkitehtuuri jossa ei ole yksittäisiä asiakkaita ja palvelimia, vaan jokainen tietokone on tasavertainen verkon solmupiste (peer node) ja toimii yhtäaikaisesti asiakkaana ja palvelimena muiden verkon solmupisteiden kanssa. P2P-verkossa ei siis ole kiinteää keskuspalvelinta, joka ylläpitäisi verkkoa, vaan jokainen verkon solmupiste samalla kasvattaa ja ylläpitää verkkoa (pure peer to peer) [11].

Kuitenkaan puhtaita vertaisverkkoja ei juuri ole olemassa koska yleensä verkkoon on liittynyt keskuspalvelin joka ohjaa verkkojen solmupisteiden osoitteita. Ja jokainen verkon asiakas ottaa yhteyden toisiin verkon pisteisiin tämän palvelimen kautta [11]. Esimerkkinä tästä napster ja direct connect. Molemmat mahdollistavat yhteyden asiakkaalta asiakkaalle vertaisverkon tapaan, mutta jokainen asiakas on yhteydessä keskuspalvelimeen joka ylläpitää listaa asiakkaista ja tiedostoista joita he jakavat.

Kolme Sukupolvea

P2P-tekniikka on kehittynyt kolmessa eri vaiheessa [10]. Napster ja tässä tutkielmassa esiteltävä BitTornado? ovat ensimmäisen vaiheen tekniikkaan perustuvia P2P-ohjelmia. Niissä asiakasohjelma ottaa yhteyden keskuspalvelimeen joka hoiti verkon asiakkaiden osoitteita ja ohjasi liikennettä asiakkaalta toiselle. Käytännössä toimiva verkkoarkkitehtuuri joka mahdollistaa nopean tiedon haun ja alhaisen verkon kuormituksen, mutta käyttäjämäärien lisääntyessä verkon edut heikkenevät niiden huonon skaalautuvuuden vuoksi. Ensimmäisen polven verkkojen tapauksessa verkon toiminta pysähtyi keskuspalvelimen kaaduttua tai sammutettaessa.

Toisen sukupolven vertaisverkko on täysin hajautettu, (esim.Gnutella) [9] jossa ei ole enää keskuspalvelinta vaan jokainen verkon solmupiste osallistuu verkon ylläpitämiseen. Verkon solmut siis toimivat samalla palvelimena (server) kuin myös asiakkaana (client) ja välittävät hakuja solmupisteeltä toiselle. Nodet, eli siis käyttäjät tai solmut, pitävät yllä listaa muista toimivista nodeista joihin ovat yhtedessä. Tätä listaa välitetään muille solmuille, jotka taas päivittävät omaa listaansa näiden perusteella. Alussa käyttäjän on siis saatava yhteys yhteen nodeen, jolta käyttäjä saa listan sen tuntemista nodeista. Yleensä pääteohjelmat sisältävät oletuksena tälläisen listan, jossa on kaikki tunnetut toimivat nodet, joihin käyttäjä ottaa yhteyden ensimmäisellä käyttökerrallaan. Käyttäjä voi määritellä maksimi määrän moneenko nodeen yhteys otetaan. Ensimmäisessä sukupolvessa lähetettiin yhdeltä asiakkaalta toiselle palvelimen kautta haku kun taas toisen sukupolven verkossa haku lähetetään kaikille nodeille , joihin on yhteyksissä. Nämä taas lähettävät haun eteenpäin niille keihin ovat yhteydessä. Tapahtumaa kutsutaan Query flooding:ksi. Haut sisältävät hakijan IP:n ja jos haettu tieto löytyy niin node vastaa suoraan haun lähettäjälle ja siirto voidaan aloittaa. Haku moninkertaistuu edetessään solmupisteestä toiselle ja hauista tulee siis melko paljon ylimääräistä liikennettä. Verkon kasvaessa suuremmaksi hakuajat pitenevät ja haun tarkkuus kärsii koska ei ole keskitettyä palvelinta joka ohjaisi liikennettä ja pitäisi yllä käyttäjien tiedostoista. Ensimmäiseen sukupolveen verrattuna toisen sukupolven vertaisverkkoa on mahdotonta sulkea, koska ei ole palvelinta joka hallitsee liikennettä. Käytännössä tämä tarkoittaa sitä että verkko pysyy kasassa niin kauan kuin verkkoon on liittyneenä solmupisteitä. Esimerkki toisen sukupolven vertaisverkosta on Fast track, jonka sovellutuksia ovat mm. KaZaa.

Kolmannen sukupolven vertaisverkossa on hyödynnetty ensimmäisen ja toisen sukupolven parhaita puolia ja kehitetty salausta ja asiakkaiden anonyymisyyttä. Käytännössä on haluttu suojata asiakkaan tiedot niin, että ladattaessa tiedostoa asiakkaalta ei voi millään selvittää keneltä kyseinen tiedosto tulee [10]. Kolmas sukupolvi tuo mukanaan uuden käsitteen (super – peer), joka on hierarkiassa tavallista verkon solmua ylempänä oleva supersolmu. Verkkoon liitytään jonkin supersolmun kautta (verkon nopeimmat ja tehokkaimmat yhteydet), jotka taas antavat listan sen hetkisten supersolmujen ip -osoitteista. Supersolmut siis toimivat tavallaan palvelimina jotka ohjaavat liikennettä verkossa ja tarjoavat automaattisesti hakupalveluja hitaimmille yhteyksille. Löydettyään halutun tiedon asiakas yhdistetään suoraan tiedoston haltijaan. Verkko ei kuormitu toisen sukupolven tapaan ja hakuajat ovat nopeutuneet uuden tekniikan, välitystoiminto (relay), avulla. Käytännössä välitystoiminto tarkoittaa sitä että jos solmupisteillä ei ole suoraa yhteyttä toisiinsa, välitetään yhteys supersolmun kautta. Tekniikka mahdollistaa myös NAT -muunnoksen takana olevien solmupisteiden kommunikoimisen verkon ulkopuolisten solmupisteiden kanssa [11] [12].

Kolmannen sukupolven kehityksen alussa suosiotaan kasvattivat ns.pienten yhteisöjen F2F (friend-to-friend)-verkot, joissa verkkoon pääsee vain luettaviksi tunnetut käyttäjät ovat yleistymässä. Luotettavuutta toimintaan pyritään hakemaan ip-pohjaisista listoista ja digitaalisista allekirjoituksista [2]. Tälläinen verkkojen pienentyminen syö kuitenkin pohjan koko P2P:n suosion peruskiveltä eli valtavilta tiedostomassoilta. Kolmannen sukupolven kehityttyä valmiiksi sovelluksiksi nämä F2F-verkot kuitenkin jäivät markinaalisiksi.

Kolmannen sukupolven sovellutuksia ovat esimerkiksi Direct Connect ++? ja Skype, joka käyttää P2P – verkkoa reaaliaikaisen datan siirtämiseen.

3. sukupolven jälkeen on puhuttu neljännestä sukupolvesta, jossa ei ole ollenkaan palvelimia ja sen sijaan että käyttäjät jakaisivat keskenään tiedostoja, välitetään tietoa tai dataa stream:inä käyttäjien välillä. Esimerkki neljännen sukupolven P2P-verkkoa hyödyntävästä sovelluksesta on youtube. [14] Neljättä sukupolvea hyödyntävä sovellus Tribler lupaa tuoda neljännen sukupolven teknologian myötä sellaisia palveluita kuin, tilausvideo, live-kuvaa, roskan eli spam:n estäminen ja helpon hakutoiminnon. Palvelun olisi tarkoitus toimia ilman palvelimia ja siten olla erittäin hyvin skaalautuva käyttäjämäärien kasvaessa.[15]

Ongelmat ja haitat

Käytössä riskinsä

Tietoturvallisesti P2P-verkot ovat melko ongelmallisia. P2P -tekniikassa on jokaisen asiakkaan mahdollista alkaa jakamaan mitä tahansa. Tämä on aiheuttanut suuria haittoja P2P:lle. P2P -verkoissa liikkuu paljon tiedostoja, jotka ovat jotain muuta kuin niiden tiedostonimien perusteella voitaisiin olettaa. Nämä tiedostot voivat sisältää esimerkiksi jonkun aivan eri tiedoston tai viruksia ja muita haittaohjelmia. On myös mahdollista että dataa muokataan ottamalla siitä toimivia osia pois ja sijoittamalla niiden tilalle osia, jotka saavat koko datan käyttökelvottomaksi. Johtuen myös P2P -verkoissa liikkuvista viruksista ja haittaohjelmista tietoruvaorganisaatio SANS Institute on nimennyt 15.11.2006 20 yleisintä tietoturvahyökkäysten kohdetta, joiden joukossa myös P2P-sovellukset ovat [13]. Muita syitä P2P:n huonoon tietoturvaan ovat SANS:in mielestä protokollan tai ohjelman koodin heikkouksien hyväksikäyttö, protokollan tukkiminen, palvelusta kieltäytyminen laittamalla verkko toimimaan hitaasti sekä verkon käyttäjiin kohdistuvat identiteettihyökkäykset.

Tiedostojen jako saattaa olla myös tietoturvariski. Ihmiset jakavat vahingossa tai osaamattomuuttaan koko kovalevynsä tiedot ja yrityksissä jopa koko verkko voidaan laittaa vahingossa jakoon. Tällöin yritykselle tärkeitä tietoja saattaa vuotaa verkoon. Useat yritykset ovatkin kieltäneet ja estäneet P2P-sovellusten käytön työpaikalla. Näiden ylimäärin jakavien vastakohtaa voidaan myöskin pitää yhtenä verkkojen ongelmana. P2P verkkojen yhtenä ajatuksena on tiedostojen jakaminen yhteisölle. Jokainen yhteisön jäsen jakaa tiedostoja ja pääsevät lataamaan muiden käyttäjien tiedostoja. Itsekkäät käyttäjät, jotka koittavat vain hyötyä verkosta tuomatta siihen itse mitään lisää voidaan nähdä yhtenä vertaisverkkojen ongelmana. Käyttäjät käyttävät esimerkiksi muokattuja asiakasohjelmistoja, missä jakaminen on estetty tai käytetään erillisiä ulosmenevän kaistan kuristamiseen tarkoitettuja ohjelmia. Useissa verkoissa näitä vastaan on tosin kehitetty ratio-malleja ja valvontaa pyritty järjestämään, jos vain mahdollista, väärinkäyttäjien karsimiseksi. Ratio-mallin taustalla on ajatus, että ladattuasi tiedoston, jäät jakamaan samaa tiedostoa niin kauan kunnes olet jakanut sitä tiedoston koon verran eteenpäin ja näin saavuttanut tiedoston jaossa ration 1/1. Jos esimerkiksi jätät jakamatta tiedostoa sen ladattuasi, laskee ratiosi ja jossain vaiheessa pääsysi muihin tiedostoihin estetään siksi aikaa kunnes olet taas jakanut sen verran mitä olet ladannut.

Laitonta materiaalia runsaasti jaossa

Todella suuri osa verkoissa liikkuvasta datasta on tekijänoikeuksien suojaamaa ja täten laitonta jaettavaksi. Monet ihmiset eivät tiedä, mitä on laillista jakaa tai eivät vain välitä. On myös paljon vanhempia, ketkä eivät yksinkertaisesti tiedä mitä heidän lapsensa tekevät tietokoneella ja mahdolliset seuraukset toiminnasta voivat tulla täysin yllätyksenä. Tätä varten on myös kehitetty ohjelma (Digital File Check) [7], jolla vanhemmat voivat estää lasten P2P-ohjelmien käytön.

Tekijänoikeuksien suojaamien tiedostojen levittäminen onkin herättänyt useat organisaatiot (esim. levy-yhtiöt, RIAA, MPAA) nostamaan oikeusjuttuja tiedostojen jako-ohjelmistoja kehittäviä yrityksiä, keskuspalvelimia ylläpitäjiä tahoja ja jopa yksittäisiä käyttäjiä vastaan. Nämä toimet ovat synnyttäneet paljon keskustelua, sillä itse ohjelmat eivät ole laittomia vaan, osa käyttäjistä käyttää niitä laittomaan tarkoitukseen.

Vertaisverkkoja vastustavat tahot ovat oikeusteiden lisäksi ruvenneet toimimaan myös itse vertaisverkoissa lähettämällä sinne runsaasti ns. valetiedostoja. Nämä valetiedostot ovat tiedostoja, jotka eivät sisällä mitään järkevää, eikä varsinkaan sitä mitä käyttäjä luuli kopioivansa. Toimilla pyritään saamaan verkosta vähemmän houkutteleva. Verkoissa missä on keskitetty indeksointi valetiedostoja voitu valvoa ja niitä levittäviä käyttäjiä poistaa. Täysin hajautetuissa verkoissa tämä on vaikeampaa ja joitakin verkkojan on saatukin lähes käyttökelvottomiksi (esim. KaZaa.)

Kopiosuojatun materiaalin tuottajien lisäksi myös verkko-operaattorit ovat olleet vähemmän innostuneita tiedostojen jako-ohjelmistojen suosion kasvusta. Suosio on tuonut lisää uusia asiakkaita, mutta toisaalta P2P-ohjelmat osaavat ottaa verkosta irti kaiken kaistan ja vastuu tietoliikenteen valvonnasta vaikeutuu. Nykyiset verkot ovat rakennettu ajatellen, että käyttäjät käyttävät täyttä kaistaa vain silloin tällöin ja normaali webin ja sähköpostin käyttö eivät kuluta paljoa kaistaa. Operaattoreiden verkot ruuhkautuvat ja lisäkaistan rakentaminen maksaa. Yritysten lailla internet-yhteyksiä tarjoavat oppilaitokset ovat ruvenneet suodattamaan P2P liikennettä tai sulkemaan yleisimpiä P2P-ohjelmien käyttämiä verkkoja. Tämä taas vaikeuttaa tai kokonaan estää myös täysin laillisen P2P-tekniikan käytön (esim. Skype.)

Oikeustoimilla uhkailu on pakkotanut usean tiedostojen jako-ohjelmistoa kehittävän yrityksen muuttamaan toimintatapaansa. Julkisuutta saanutta nimeä on käytetty hyväksi muutettaessa toiminta maksulliseksi ja jaettavat tiedostot laillisiksi. Tästä hyvänä esimerkkinä Napster, joka nykyisin myy musiikkia verkossa täysin laillisesti. Laillisten palveluiden kehittäminen tuntuukin olevan se paras tapa taistella laitonta levitystä vastaan. Tähän tarvitaan toki oikeasti toimiva DRM ja ennen kaikkea järkevä hinnoittelu.

Laittomien tiedostojen jakamisesta syntynyt kohu on sysännyt lailliset jaot taka-alalle. P2P-tekniikka on kuitenkin myös laillisen materiaalin jaossa suosittua tehokkuutensa ja vähäisten kustannusten takia. Tästä hyviä esimerkkejä mm. Linux distrot ja myös ns. kotimuusikoiden tekemä musiikki.

Testatut ohjelmat

Direct Connect ++?
Bit Tornado?

Lähteet

1. [Bittorrent |http://www.bittorrent.com] [Viitattu 27.12.2005]
2. [DigiToday: Tiedostonvaihtajat painuvat maan alle | http://www.digitoday.fi/showPage.php?page_id=14&news_id=50185] [Viitattu 27.12.2005]
3. [DigiToday: Vertaisverkko-ohjelmien käyttö räjähtänyt Suomessa | http://www.digitoday.fi/showPage.php?page_id=9&news_id=37422] [Viitattu 27.12.2005]
4. [FiCom: Peer-to-peer -verkot (P2P) eli vertaisverkot | http://www.ficom.fi/fi/t_tekniikka_r.html?Id=1057649741.html] [Viitattu 27.12.2005]
5. Tietokone 5/2005 s.26 Vaihtokauppaa verkossa.
6. [Tietokone: Salattu p2p vaikeuttaa operaattorien elämää | http://www.tietokone.fi/uutta/uutinen.asp?news_id=24579] [Viitattu 27.12.2005]
7. [Tietokone: Työkalu paljastaa p2p-ohjelmat | http://www.tietokone.fi/uutta/uutinen.asp?news_id=24779] [Viitattu 27.12.2005]
8. [Wikipedia: Fast track | http://en.wikipedia.org/wiki/FastTrack] [Viitattu 27.12.2005]
9. [Wikipedia: Gnutella | http://en.wikipedia.org/wiki/Gnutella] [Viitattu 27.12.2005]
10.[Wikipedia: P2P | http://fi.wikipedia.org/wiki/P2P] [Viitattu 27.12.2005]
11.[Wikipedia: Peer-to-peer | http://en.wikipedia.org/wiki/Peer-to-peer] [Viitattu 4.10.2009]
12.[Prosessori, Ylianttila Mika + muut, Sovellukset superverkoksi, | http://www.prosessori.fi/es04/ARKISTO/SUPERVERKOT.HTM] [Viitattu 4.10.2009]
13.[SysAdmin, Audit, Network Security, Top-20 Internet Security Attack Targets (2006 Annual Update) | http://www.sans.org/top20] [Viitattu 4.10.2009]
[14] Peer-to-peer File sharing, University of Galgary, http://www.ucalgary.ca/it/help/articles/security/awareness/p2p, luettu 16.11.2009
[15] Tribler, 4th generation P2P, http://www.tribler.org/trac/wiki/4thGenerationP2P, luettu 16.11.2009

Esiteltyjen ohjelmien viralliset kotisivut:

Direct Connect ++
Bit tornado ++

-- AnttiNiemela? - 16 Sep 2009
Print version |  PDF  | History: r7 < r6 < r5 < r4 | 
Topic revision: r7 - 20 Nov 2009 - 16:23:21 - AnttiNiemela?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback