TTY / Tietoturvallisuuden jatkokurssi / Harjoitustyö 2011

Ville Tyrväinen

P2P?-verkostojen tietoturvaongelmat yksityisille käyttäjille tiedostojen "warettamisen" näkökulmasta

Johdanto

P2P? -verkostot ovat nykyään arkipäivää, ja niiden suosio on jo valtaisa, niissä jaetaan niin laitonta kuin laillistakin materiaalia. Tässä raportissa pohditaan!P2P? :een liittyviä tietoturvaongelmia yksityisten käyttäjien näkökulmasta keskittyen tiedonsiirtoon ja erityisesti torrenttien tai arkikielisemmin ”waretuksen” näkökulmasta, joissa pääasiallisesti lienee käytettänee Bittorrenttia ja vastaavia!P2P? –sovelluksia, jotka toimivat vertaisverkoissa.

P2P? (Peer To Peer) -verkostot ovat laajassa käytössä, ja niiden kautta levitetään käsittämättömät määrät tietoa ja ennen kaikkea tiedostoja. Jotta voisimme ymmärtää millaisia tietoturvaongelmia!P2P? :hen liittyy, on meidän ymmärrettävä!P2P? :sen toimintaperiaate, tiedostojen jakamisen näkökulmasta, koska vertaisverkkoja voi käyttää myös mm. internet-puheluihin ja pikaviestintään..

Miten P2P toimii?

Vertaisverkkojen valtava kapasiteetti perustuu faktaan, että P2P?? -verkoissa ei ole kiinteitä palvelimia, jossain tietyssä sijainnissa, vaan jokaisen P2P?? :n käyttäjän tietokone toimii palvelimena sovelluksen käytön ajan (Wikipedia, 2011) (pahimmissa tapauksissa aina, jos käyttäjä ei ole tietoinen sovelluksen toimintaperiaatteista). Näin ollen, jos verkostossa on käyttäjiä esimerkiksi miljoona, on ”palvelimien” kapasiteetti valtava verrattuna muutamaan kiinteään palvelimeen samassa paikassa. Samalla kaikki toki toimivat asiakkaina toisilleen, eli kaikilla on asiakas-palvelin –suhde kaikkien verkossa sijaitsevien koneiden kanssa teoriatasolla verkon toimiessa ideaalisesti, mutta käytännössä jokainen käyttäjä on yhteydessä vain osaan verkossa olevista koneista, mitkä sovellus pyrkii valitsemaan sille laadittujen algoritmien mukaan, esim. lähimmät koneet. Vertaisverkkoja voidaan jaotella, mutta en perehdy niihin vielä harjoitustyön tässä vaiheessa.

Tiedostojen jakamiseen liittyy useimmiten P2P?? -sovellus, kuten esimerkiksi Bittorrent ja tämän kaltaiset sovellukset käyttävät torrentteja, joiden avulla tiedostojen jakaminen saadaan suoritettua tehokkaammin. Tämä perustuu siihen, että jokainen käyttäjä lataa pienia palasia haluamastaan tiedostosta kaikilta verkossa olevilta (ja tiedoston omistavilta) käyttäjiltä (Gil, 2011). Tämän luulisi olevan tehotonta, mutta todellisuudessa pienten palasten lataaminen kaikilta poistaa pullonkaula-riskin, jolloin keino on todellisuudessa tehokkaampi kuin yhdestä lähteestä lataaminen. Toki tähän vaikuttaa myös verkon käyttäjien yhteyksien kapasiteetit, jos vain yhdellä on nopea ja muilla hitaat yhteydet, niin nopea yhteys ei pääse hyödyntämään yhteyttään, koska muiden käyttäjien upload-kapasiteetti ei pysty tyydyttämään nopean yhteyden omistavan download-kapasiteettia, mutta tämän todennäköisyys on erittäin pieni nykyisessä tietoyhteiskunnassa, jossa nopeat yhteydet ympäri maata ovat normaalia.

Bittorrentin käyttöön liittyy seuraavat tekijät (TLT-2626): staattinen metadata, WWW-serveri; jossa torrentit julkaistaan, trackeri, jakajan (peer), WWW-selain; jolla löydetään torrentit ja sovellus; joka pystyy käsittelemään torrentteja ja operoimaan niitä. Käytännössä torrentin lataamisprosessi etenee yksinkertaistettuna seuraavasti:

1. Käyttäjä avaa selaimen, ja etsii WWW-serverin, jonne torrentit on julkaistu.

2. Käyttäjä lataa haluamansa torrentin WWW-selaimen avulla.

3. Käyttäjä avaa sovelluksen avulla torrentin.

4. Sovellus löytää torrent-filen ja trackerin avulla haluamansa torrentin tiedostot (ja samalla pyrkii varmistamaan ne oikeiksi), ja aloittaa latauksen. Tiedosto on jaettu yleensä SHA-1 tiivisteiksi, jotka ovat 256KB osissa.

5. Peerit kommentoivat keskenään Bittorrent protokollan avulla, ja samasta torrentista kiinnostuneet peerit muodostavat yhteisen tiivisteen.

6. Kun jakaja (peer) on saanut tiedoston ladattua se voi jatkaa sen jakamista (seed) tai lopettaa sen (leave).

Mitä tietoturvaongelmia liittyy P2P?:ssä liikkuviin tiedostoihin ja itse sovelluksiin?

Tiedoston lataus/siirto

P2P :ssa liikkuviin tiedostoihin liittyy merkittäviä tietoturvaongelmia. Oikein käytettynä P2P on tehokas ja helppo keino jakaa tiedostoja, mutta sen avoimuus tuo myös riskejä sen käyttämiseen. Kuka tahansa käyttäjä voi laittaa tiedoston jakoon, joten kukaan paitsi itse tiedoston lisääjä ei voi olla täysin varma tiedoston oikeellisuudesta, esim. onko Batman-movie.avi todellakin se batman elokuva vai todellisuudessa joku haittaohjelma/virus. Ensimmäinen riski siis on, että verkon käyttäjät eivät voi olla varmoja lataamansa tiedoston oikeellisuudesta, eli esimerkiksi. torrentin liikkeellalaittaja on voinut laittaa siihen tarkoituksellisesti viruksen mukaan.

Toinen on tahaton kaistan tuhlaaminen eli käyttäjä levittää esimerkiksi videota nurmikon kasvusta suositun elokuvan nimellä saadakseen muut käyttämään turhaa kaistaansa lataamiseen (tämä nyt ei ole varsinainen tietoturvaongelma, mutta tekee haittaa käyttäjille).

Merkittävä ongelma on myös ”kopiotorrenttien” luominen. Toisin sanoen originaalia torrenttia voidaan modifioida niin, että sitä luullaan originaaliksi vaikka todellisuudessa torrentin luoja on voinut piilottaa siihen viruksen tai muun haittaohjelman (Wikipedia, 2011). Modifioimalla suosittua torrenttia ”hyökkäyksen” tekijä saa keinotekoisesti kasvatettua oman torrenttinsa jakajia / lataajia, mikä taas innostaa uhreja lataamaan hyökkääjän torrentin alkuperäisen sijasta torrentin sijasta. Muita samankaltaisia tietoturvauhkia ovat originaali torrentin tiedostojen jakaminen, mutta niiden yhteyteen lisätään liitetiedosto, joka sisältää haittaohjelman, esimerkiksi kuvanäyte elokuvasta tai vastaava, jonka lataaja avaa tiedoston lataamisen jälkeen koneellaan tarkistaakseen kuvan laadun, jolloin hyökkäys pääsee tapahtumaan.

Sovellukset

Sovellusten käyttöön taas vastaavasti liittyy myös lukuisia ongelmia. Ensimmäisenä mieleen tulee, että kuka tahansa käyttäjä voi selvittää suoraa ohjelman avulla IP:si (useimmat ohjelmat antavat sinulle suoran listan, mitkä kaikki IP:t lataavat sinulta / keiltä lataat), jolloin pahantahtoinen käyttäjä voi halutessaan katsoa IP:si (ellet käytä proxyä), ja aloittaa suoran hyökkäyksen omaan IP:hesi. Myös sovellukset voivat olla huijaussovelluksia, jotka eivät todellisuudessakaan kytke sinua P2P -verkostoon, vaan esimerkiksi osaksi botnet-verkkoa, tosin itse en tiedä tuttavapiiristäni yhtään tällaista tapausta. Toisaalta tällaiset tapaukset ovat vaikeita havaita, jos botnetin halitija osaa olla käyttämättä liikaa koneen omistajan resursseja, jolloin kone vaikuttaa ulkoisesti käyttäjän näkökulmasta toimivan normaalisti.

Toinen sovellusongelma mikä P2P-ohjelmissa, kuten Bittorrent on havaittavissa myös ongelma, joka liittyy ohjelman käytön lopettamiseen. Kun käyttäjä käynnistää Bittorrentin, avaa sovellus sen käyttöön tietyt portit, joiden kautta se ottaa yhteyden muihin p2p-verkon koneisiin, jotka jakavat torrentteja, jotka käyttäjä on laittanut latauslistalle. Jos käyttäjä ei ole kuitenkaan rajannut asetuksia porteista, joita P2P-sovellus saa käyttää, esimerkiksi ulkoisella palomuurilla, voi sovelluksen sammuttaessa sen käyttämät portit jäädä auki ulkomaailmalle, jolloin edes palomuuri ei varoita näiden porttien kautta koneeseen kohdistuvasta hyökkäyksestä. Edellä mainittu porttien auki jääminen ulkomaailmalle ei tosin ole ainoastaan P2P-ohjelmien ongelma, vaan liittyy kaikkiin ohjelmiin, jotka kommunikoivat ulkomaailman kanssa. Sama tapahtuu myös, jos latauksen jälkeen käyttäjä jättää P2P?-ohjelman "seedaamaan" valmiiksi ladattuja tiedostoja muille.

Lisäksi porttien auki jäämisen lisäksi on mahdollista, että torrentin kautta ladattu virus jättää takaportin toimiessaan, jolloin sen löytyessä esimerkiksi viruksen torjunnan kautta, jää takaportti vielä todennäköisesti auki. Tämä taas mahdollistaa uudet hyökkäykset jatkossa käyttäjän konetta vastaan ilman, että palomuuri tai muut torjuntaohjelmat huomaavat asiaa.

Miten P2P?:n tietoturvaa voisi parantaa?

Ratkaisut

Tietoturvassa on monta parannuskohtaa, esimerkiksi anonymiteetti (laillisesta näkökulmasta hieman eettisesti epäilyttävää), jotta käyttäjien IP:tä ei olisi niin helppoa selvittää. Tämä ehtäisi henkilökohtaiset omaa IP:tä kohtaan suunnatut hyökkäykset. Täytyy tosin muistaa, että kaikissa internetissä suoritettavissa kontakteissa osapuolet luovuttavat toisilleen tietyt tiedot itselleen, jotta ne pystyvät kommunikoimaan ja lähettämään paketteja keskenään, joten tämä ehdotus ei sinänsä tekisi järkä ellei koko IP-arkkitehtuuria ja järjestelmiä muutettaisi niin, että esimerkiksi IP:n, Bittorrentin version ja käyttöjärjestelmän perusteella ei voisi suorittaa hyökkäystä.

Toisaalta P2P -sovelluksia voisi kehittää eteenpäin niin, että sovellukset pyrkisivät jo torrentin käsittelyvaiheessa tunnistamaan onko sitä modifioitu originaalista eroavaksi, jolloin ohjelma varottaisi asiasta ja keskeyttäisi ko. torrentin käsittelyn.

Muut

Lisäksi tietoturvaa voitaisiin parantaa kasvattamalla sovellusten käyttäjien tietoisuutta ohjelmista ja niissä käytettävistä torrenteista, koska kokematon käyttäjä voi erehtyä helpostikin lataamaan ”vääriä” torrentteja, jotka eivät sisällä tiedostoja, jotka käyttäjä on halunnut. Sen sijaan koneelle päätyy haittaohjelmia käyttäjän tietämättä. Toinen vaihtoehto olisi, että kaikkiin sovelluksiin tulisi vakiona jonkin sortin ohjelma, joka mahdollistaisi sen, että mahdolliset virukset olisi mahdollista tunnistaa jo latausvaiheessa. Näin käyttäjä tietäisi keskeyttää latauksen ja välttyisi viruksen sisältämän tiedoston avaamiselta. Tällaisia sovelluksia tosin on jo tarjolla, mutta harvat niistä ovat toimivia ja myös niitä ladattaessa on riski, että kyseessä on huijaus. Toisaalta olisi mietittävä onko eettisesti oikein tehdä tällaisia sovelluksia, koska tässä käytännössä tuettaisiin epäsuoraa tiedostojen warettamista, josta suurin osa kuitenkin on laitonta latausmateriaalin sisällön vuoksi, koska vain harva ladattava torrentti on laillinen, esimerkkinä mainittakoon Linux-käyttöjärjestelmän torrentti.

Yhteenveto

P2P:n ja sovellusten warettamiseen käytön rooli on jatkuvasti kasvavassa roolissa, ja niiden suosion kasvun esteenä voi olla vain niiden käytön rajoittaminen niissä enimmäkseen liikkuvan laittoman materiaalin johdosta. Sovellusten käyttöön ja tiedonsiirtoon liittyy paljon riskejä, joista yleisimmät tulivat mielestäni käsitellyksi esseen sanamäärään riittävällä tasolla. Näihin kaikkiin ongelmiin ei ole vielä ratkaisuja, mutta tilannetta voidaan helpottaa esseessä esitellyillä ratkaisumalleilla, ainakin osittain. Saattaa olla kuitenkin, että warettaminen tulee jatkumaan kielloista huolimatta, koska maailmasta löytyy mm. paljon private-trackereita, joista viranomaiset eivät ole vielä edes tietoisia, ja käyttäjät löytävät aina keinoja harhauttaa virkavaltaa, vaikka laiton lataaminen saattakin nähdä loppunsa jonain päivänä, jolloin vertaisverkkojen ja ohjelmien käyttöön liitettäisiin positiivinen kuva.

Lähteet

Gil Paul, 2011. Viitattu: 3.11.2011 Saatavissa: http://netforbeginners.about.com/od/peersharing/a/torrenthandbook.htm

Wikipedia, 2011. Viitattu: 3.11.2011 Saatavissa: http://fi.wikipedia.org/wiki/Vertaisverkko

Wikipedia, 2011. Viitattu: 1.12.2011 Saatavissa: http://en.wikipedia.org/wiki/Peer-to-peer#Advantages_and_weaknesses

TLT-2626, Peer-To-Peer Networks - lecture 7. Saatavissa: http://www.cs.tut.fi/kurssit/TLT-2626/

SivuTiedotLaajennettu edit

Vaativuus Jatko
Valmius Valmisteilla
Tyyppi Ydin
Luokitus Uhkat
Mitä Luottamuksellisuus
Miltä Ihmisetön uhka
Missä Organisaatio
Kuka Titu-ammattilainen
Milloin Ennakolta
Miksi Hyvä tapa
Print version |  PDF  | History: r3 < r2 < r1 | 
Topic revision: r3 - 01 Dec 2011 - 23:21:45 - VilleTyrvainen?
 

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