Article deals with P2P networks and detailed description of services running on the BitTorrent protocol such as sharing networks based on "torrent" files. History is described such as reason for the creation of this protocol, algorithms for file transfers, a detailed preview of the torrent files from different servers (trackers) that mediate these files and detecting transfer of music files and compressed files (ZIP and RAR). This article is focused on private music servers and universal server.
Keywords: BitTorrent, Sharing and WireShark
Protokol BitTorrent byl navržen pro přenos velkých souborů v rámci Internetu. Autorem tohoto protokolu je Bram Cohen, který uvolnil jeho specifikaci v dubnu roku 2001 [1]. Samotný protokol si získával stále větší oblibu, proto dnes tvoří jeho přenos významnou část celosvětového přenosu dat (trafic). Princip peer-to-peer, tedy rovný s rovným, díky absenci serveru umožňuje značnou úlevu například webovým uložištím, které pracují na modelu klient - server. Původní návrh pro přenos velkých souborů se zalíbil i dalším majitelům webových stránek, kteří na něm prakticky založili své podnikání. Typickým příkladem za všechny je server The Pirate Bay [2]. Stránka nabízí nespočetné množství tzv. torrent souborů, které v sobě obsahují důležitá data pro stažení souboru. Podle průzkumu uskutečněného 9. ledna 2012 využívalo BitTorrent protokol asi 150 milionů aktivních uživatelů [3].
Původní návrh pro přenos velkých souborů po Internetu se stával oblíbenější a oblíbenější. Pro již zmíněné uvolnění přenosové kapacity v modelu klient - server. BitTorrent protokol definuje 3 základní role:
Tracker – jedná se o server, jehož úkolem je maximálně koordinovat funkci BitTorrent protokolu a snažit se pomoci najít klientovi další leechry se zájmem ve stejném torrentu. Server také ukládá informace o klientech, zejména na soukromých serverech, kde je důležité uchovávat poměr stažených/odeslaných dat (ratio). Klienti stahující torrent soubor oznamují v pravidelných intervalech trackeru, které části mají stažené [4].
Leech – jde o označení klienta, který právě stahuje daný torrent soubor (nemá ho tedy ještě kompletně stažen), případně klienta, který dokončil stahování torrent souboru, ale nepodílí se dále na jeho distribuci.
Seed – je pravý opak leech. Klient má stažen celý soubor a nyní jej pouze distribuuje dalším klientům (leechům), kteří mají zájem o jeho stažení.
Protokol BitTorrent pracuje na bázi dělení velkých souborů do menších v závislosti na celkové velikosti souboru, řádově od kB po maximálně 4 MB. Díky tomuto protokolu lze přenášet nejen legální či nelegální soubory, ale možno jej využít také například k distribuci aktualizací do her [5]. Systém pracující s protokolem BitTorrent umožňuje:
vytvoření (obvykle pomocí aplikace), publikování (na webu tzv. trackeru), stahování (po částech) a sdílení kompletního torrent souboru.
Obsah torrent souboru
V síti Internet lze nalézt mnoho serverů, které jsou založeny na principu výměnného protokolu BitTorrent, ať už se jedná o stránky soukromé nebo veřejné (např. The Pirate Bay). Článku popisuje pouze ty soukromé servery, které jsou známé také jako „privátní trackery“. Konkrétně půjde o hudební trackery SatClubbing Music Tracker, TranceTraffic a všeobecný tracker SceneAccess.
Obsah torrent souboru se různí podle stránky, ze které pochází. Na všech stránkách, ze kterých byl torrent soubor stažen, byly nejčastěji nalezeny tyto společné informace:
Adresa oznámení – v BitTorrent terminologii označovaná jako adresa announce.
Názvy souborů – soubory obsahující torrent soubor.
Délky a počet částí – velikost a počet dílčích souborů, které tvoří celek stahovaného souboru.
Druh torrent souboru – v tomto případě vždy „privátní“.
Aplikace použita pro vytvoření torrent souboru.
Pouze torrent soubor pocházející ze stránky SatClubbing obsahoval i přezdívku uživatele, který torrent vytvořil a jeho přesné identifikační číslo s odkazem na jeho profil na trackeru.
Komunikace s trackerem
Server, častěji označován jako tracker, slouží v BitTorrent sítích jako pomocný prvek při komunikaci koncových uzlů - klientů. Při stahování je zpočátku zapotřebí, aby klient získal základní informace, které mu pomohou úspěšně započít stahování (informace o dostupnosti daného souboru, počet klientů s kompletním souborem, počet klientů stahující soubor apod.). Server při komunikaci s klientem využívá výhradně protokol HTTP (Hyper Text Transfer Protocol), přičemž klient zná adresu trackeru z torrent souboru. Adresa je označována jako announce - oznámení.
V průběhu stahování souboru klient oznamuje, které části souboru má stažené a může je tudíž nabídnout dalším klientům. Příklad oznámení (zachycen pomocí programu Wireshark [6]) vlastněných částí demonstruje obrázek 1.
Obrázek 1: Příklad oznámení vlastněných částí souboru.
Obrázek 2: Princip stahování souborů pomocí BitTorrent protokolu.
Pro stahování torrent souborů z jednotlivých serverů byla zvolena aplikace - klient µTorrent. Aplikace disponuje jednoduchým grafickým uživatelským rozhraním a kvalitním logováním (logování nebude v tomto článku použito). Veškerá komunikace a stahování probíhalo ve virtuálním operačním systému Microsoft Windows XP Home Edition SP3. Zachycení přenášených paketů bylo realizováno pomocí aplikace Wireshark.
K odhalení paketů, které přenášejí nelegální data (zvukové soubory nebo komprimované soubory), bude využito prvního přeneseného paketu přesněji jeho hlavičky, která nese hexadecimální hodnotu přenášeného souboru. Zkrácený přehled na hexadecimální hodnoty přenášených v hlavičkách zobrazuje tabulka 1.
Tabulka 1: Výčet základních typů souborů a hodnot hlavičky v paketech [8].
Obrázek 3: Výčet informací obsahující soubor nfo.
Obrázek 4: Informace o stahovaném souboru z prvního paketu.
Obrázek 5: Informace nesoucí soubor nfo.
Obrázek 6: Detaily z hlavičky prvního paketu, který informuje o obsahu souboru.
Obrázek 7: Zachycené informace přenášené v souboru nfo.
Obrázek 8: Detekce komprimovaného souboru.
Nárůst oblíbenosti trackerů na principu rovný s rovným (peer-to-peer) má za následek uzavření serveru Megaupload FBI (19.1.2012). Reakce ostatních majitelů serverů na sebe nenechaly dlouho čekat. Servery Filesonic, Fileserve nebo Wupload byly uzavřeny svými majiteli, kteří měli obavy z žalob a povinných náhrad škod vlastníkům autorských práv. Všechny tyto servery měly jednu klíčovou skutečnost společnou. Jednalo se o vyplácení odměn za nahrávání oblíbených souborů (zpravidla nelegálních).
Sítě založené na principu rovný s rovným nenabízejí žádné finanční odměny uploaderům torrent souborů. Nabízí však komfort a uzavřenou komunitu. Na server se nelze dostat bez pozvánky, zároveň nemusí uploader zveřejnit odkaz na internetu, protože tracker umožňuje procházení torrent souborů. Umístění odkazu, přes který lze stáhnout nelegální soubor, je protiprávní jednání, byť autor umístěného souboru není ten, kdo soubor nahrál.
Stahování souborů pomocí serverů nabízí značnou výhodu - šifrování. V rámci výměnných sítí lze nalézt velmi málo bezpečných - šifrovaných - torrentů (šifrování musí mít povoleny obě strany). Pouze šifrování však nepřináší uživateli anonymitu. Uživatele jde totiž snadno vypátrat pomocí využívaných portů. Mnoho uživatelů vlastní tzv. seedbox (server, na kterém běží klient na stahování torrent souborů). Ze serveru jsou pak data stahována pomocí zabezpečeného přenosu například sftp. Druhým fenoménem je umísťování tzv. magnet odkazů. Tyto magnet odkazy jsou dnes nejhojněji využívány serverem The Pirate Bay. Nedochází tedy ke stahování torrent souborů, nýbrž důležitá data jsou rovnou načtena v klientu - aplikaci.
S rostoucí oblíbeností se někteří poskytovatelé služeb (ISP) dobrovolně podílejí na monitorování BitTorrent přenosů [10].
Článek vznikl za podpory projektu CZ.1.05/2.1.00/03.0072.
[1] BitTorrent: a new P2P app [online]. 2001 [cit. 2013-02-17]. Dostupné z: http://finance.groups.yahoo.com/group/decentralization/message/3160
[2] The Pirate Bay [online]. ©2013 [cit. 2013-02-17]. Dostupné z: https://thepiratebay.se/
[3] Prensa: BitTorrent [online]. ©2013 [cit. 2013-02-17]. Dostupné z: http://www.bittorrent.com/intl/es/company/about/ces_2012_150m_users
[4] COHEN, Bram. Incentives Build Robustness in BitTorrent. BT: description [online]. 2003 [cit. 2013-02-25]. Dostupné z: http://www.ittc.ku.edu/~niehaus/classes/750-s06/documents/BT-description.pdf
[5] Blizzard Downloader [online]. © 2006-2013, 12.2.2011 [cit. 2013-02-25]. Dostupné z: http://www.wowpedia.org/Blizzard_Downloader
[6] Wireshark: Go deep [online]. ©2013 [cit. 2013-03-01]. Dostupné z: http://www.wireshark.org/
[7] Scenerules [online]. ©2013 [cit. 2013-03-01]. Dostupné z: http://scenerules.irc.gs/
[8] File Signatures [online]. ©2002-2013 [cit. 2013-03-02]. Dostupné z: http://www.garykessler.net/library/file_sigs.html
[9] MP3Kingz: Scene Releases PreDB [online]. ©2005- [cit. 2013-03-03]. Dostupné z: http://www.mp3kingz.org/
[10]ISPs in the USA to start monitoring customers’ downloads starting July 1, 2012 [online]. 2012 [cit. 2013-03-04]. Dostupné z: http://dottech.org/28447/isps-in-the-usa-to-start-monitoring-customers-downloads-starting-july-1-2012/