BitTorrent anonymně a skrytě před poskytovatelem

21. 1. 2011
Doba čtení: 6 minut

Sdílet

Uživatelé, ISP a zástupci zájmových skupin mezi sebou hrají hru na kočku a na myš, kdy jedna skupina přijde s revolučním opatřením proti kopírování, aby jej druhá skupina mohla překonat a zařídit se mnohem lépe. BitTorrent je jednou z nejnapadanějších technologií a nikomu se zatím nepodařilo ho odstavit.

Protokolů na sdílení velkých objemů dat se za posledních deset let vystřídala celá řada a tím nejhouževnatějším se ukázal být protokol BitTorrent. Jeho přežití je závislé na decentralizaci, kdy existuje velké množství bodů, tzv. trackerů, které řídí komunikaci mezi peery, tedy jednotlivými klienty. S principem, na kterém BitTorrent funguje, je prakticky nemožné stát se jeho zcela anonymním uživatelem. Buď použijete proxy, která bude vždy o něco pomalejší, nebo se smíříte s tím, že anonymní prostě nebudete.

Momentálně se odhaduje, že BitTorrent tvoří celosvětově něco kolem 30 až 40 % všech přenosů dat. To samozřejmě dělá vrásky poskytovatelům připojení, protože konkurence tlačí přidělenou rychlost ke každému uživateli výš a cenu níž. Nedá se říct, že kdyby nebylo BitTorrentu, tak by internetem tekla polovina dat, ale jelikož jde zrovna o sdílení dat, objevily se snahy o jeho omezování. V našich končinách se většina poskytovatelů o podobné prakticky nesnaží a spíše používají FUP, kdy se po překročení určitého množství stažených a odeslaných dat sníží rychlost připojení. V zahraničí je situace jiná a i velcí poskytovatelé připojení odstřihávají komunikaci s BitTorrent trackery nebo trackery samotné.

Identifikace protokolu a jeho zabití

V kontextů s blokací BitTorrentu se mluví o síťové neutralitě. Tou by se měly řídit všechny subjekty na síti a v rámci ní by neměly omezovat provoz na základě jeho povahy. To znamená, že správně by nemělo docházet ke změně priority protokolu HTTP před protokolem BitTorrent a podobně. Úplně nepřijatelný je pak zvyk některé konkrétní protokoly uživatelům odstřihávat úplně.

U BitTorrentu na to existuje několik postupů, ale žádný není stoprocentní a postupem času se do klientů podařilo dostat funkce, které ty techniky znesnadní nebo je dovolují úplně obejít. Nakonec se mohou důsledky dotknout všech uživatelů a ne jen těch, kteří „nehezké“ protokoly používají. Velmi dobře je tato problematika popsána na baert.ulys­sis.be.

Prvním způsobem je snaha o identifikaci paketů, patřící k protokolu BitTorrent. ISP prochází každý váš paket a projíždí ho algoritmy na rozpoznávání obsahu. Když se obsah podobá BitTorrent protokolu, dostane se do firewallu, který komunikaci zahodí nebo si s ním poradí nějaký shapper na omezování toku. Tohle je výpočetně velmi náročný úkol a když už se ho někomu podaří nasadit, jednoduše se mu může stát, že to odnese ještě jiný protokol a to už pocítí i uživatelé/zá­kazníci, kteří s BitTorrentem nemají nic společného. Navíc se dá proti této technice velmi efektivně bránit úpravou identifikovatelných částí komunikace.

Identifikace paketů by se dala přirovnat k ochranám multimédií a softwaru distribuovaných fyzickou cestou na optických médiích. Společnosti zde investují ohromné množství peněz na technologii, která je během pár hodin po prodání prvních médií překonána nebo ještě hůř, najde se jiný kanál, kde daný produkt koluje bez ochran.

Druhou možností jak se BitTorrentu zbavit, je zakázat komunikaci s populárními trackery. Když se uživatel nepřipojí k trackeru, nenajde další peery a nezačne s nimi komunikovat a následně stahovat.

Třetí možnost je nejsnazší: zakázat přístup na webové stránky s torrenty, čímž bude uživatel odtržen od jejich zdroje. Jde ale o velmi neefektivní způsob, .torrent se dá sehnat jednoduše všelijak.

Jak se bránit

Uvedené způsoby nemají se síťovou neutralitou mnoho společného. Navíc blokování stránek a prohlížení paketů by mohl někdo vnímat jako útok na vlastní soukromí. To je v boji proti pirátství často skloňované téma a je to asi jediný důvod, proč ještě nebyly zavedeny mnohem invazivnější techniky.

Snaha umístit uživatele do kolejí jde ruku v ruce se snahou tomu zabránit. U BitTorrentu to dnes vypadá tak, že komunikace je často šifrována a když si uděláte pět minut času, zakryjete i svoji komunikaci s trackerem. Pak sítí procházejí pakety, obsahující podivný binární obsah a není možné zjistit, jestli někdo telefonuje přes Skype, komunikuje s firemní sítí nebo si vyměňuje film Big Buck Bunny přes BitTorrent.

Když si stáhnete z nějaké stránky .torrent soubor, najdete v něm adresu trackeru a nějaké informace o tom, co se bude stahovat. BitTorrent klient se připojí k trackeru, řekne mu o sobě a tracker zase předá seznam peerů, ke kterým se může připojit. Klient si pak vybere pár peerů a připojí se k nim. Obě strany si vymění informace o kusech souboru, které se jim už podařilo stáhnout a vymění si chybějící. Komunikace s trackerem je jiná než s peery, je centralizovaná, je to jediný bod, který je stálý a na kterém vše stojí. I když je komunikace s ním šifrovaná přes HTTPS, je podle adresy snadno identifikovatelná. Prvním krokem tedy je protlačit komunikaci s trackerem přes jiný kanál. To může obstarat proxy server a nebo v lepším případě anonymizér Tor.

Druhá část komunikace probíhá se samotnými peery. Zatímco komunikace s trackerem není nijak náročná na objem přenesených dat a je tak víc než vhodná pro použití Toru, s peery si klient vyměňuje samotná data a tady se Tor použít nedá. Krom toho, že to je proti jeho filozofii, stejně dosáhnete mizerné rychlosti a ještě horší odezvy. Šifrování komunikace mezi peery je dostačující a snadná metoda a pokud ji podporuje klient, stačí ji v nastavení zapnout.

Tím bychom měli vyřešeného poskytovatele, který nemá šanci přijít na to, co přes něj teče.

Praktická ukázka

Jak na to si ukážeme na klientovi Transmissiondistribuci Ubuntu. Klient je na šifrované spojení s peery i trackerem vybavený a navíc je v Ubuntu nainstalován jako výchozí BitTorrent klient. Ubuntu ale musíme vylepšit o Tor, který není v oficiálních repositářích. Návod na instalaci najdeme třeba na webupd8.org. Nejdříve si přidáme PPA a klíč:

$ echo "deb http://deb.torproject.org/torproject.org experimental-lucid main" | sudo tee -a /etc/apt/sources.list
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 886DDD89 

A pak nainstalujeme Tor:

$ sudo apt-get update
$ sudo apt-get install tor 

Žádná další konfigurace není nutná, ledaže byste chtěli kromě využití Toru také zpřístupnit vlastní počítač jako jeho nod pro ostatní uživatele. Pokud tedy nic neměníte, naslouchá Tor SOCKS5 proxy hned po instalaci na localhostu na portu 9050.

Tor si můžete otestovat pomocí anonymního resolveru:

$ tor-resolve root.cz
91.213.160.118 

Spustíme si tedy Transmission a použijeme menu Úpravy → Nastavení → Proxy. Tam zaškrtneme „Připojit se k trackeru přes proxy“, do položky „Server proxy“ vyplníme 127.0.0.1, do „Port proxy“ 9050 a v „Typ proxy“ nastavíme SOCKS5. Pak přejdeme do záložky „Soukromí“ a v „Režim šifrování“ dáme „Vyžadovat šifrování“. Tím je komunikace přes ISP schována maximální možnou mírou a pokud nevlastní nějaké velmi drahé zařízení, vaše stahování neovlivní, aniž by tím nepotopil i zbytek protokolů. Jak přesně nastavení vypadá, se můžete podívat ještě na následujících obrázcích.

bitcoin_skoleni

Nastavení SOCKS5 proxy

Nastavení šifrování mezi peery

Než stahování začne, bude to trvat o mnoho déle, než jste byli doposud zvyklí. U mě začalo po patnácti až třiceti sekundách.

Závěr

I když jste se pro vašeho ISP přiblížili síťovému stínu, nejde o anonymizaci celého procesu. Ostatní peeři mají pořád vaši IP adresu a IP adresa koluje i na trackeru. Pokud chcete opravdu anonymní přístup, pomohou jedině komerční VPN nebo proxy, které zaručují rychlost i anonymitu. Poskytovatelů je celá řada, ale jejich využití může být kontraproduktivní, protože vám nikdo nezaručí, že informace o vás nebudou nikomu předány. Navíc jich bude mít tento poskytovatel ještě více. Důvěryhodně se tváří třeba ipredator.se, který poskytují lidé z PirateBay.

Autor článku

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.