Преминаване към основното съдържание

Tor

Tor (съкратено от The Onion Router) е безплатна, децентрализирана мрежа от виртуални тунели, предназначена да осигури поверителност и анонимност на потребителите в интернет.

Това не е просто браузър (въпреки че най-често се използва чрез Tor Browser, базиран на Firefox), а цяла мрежа, която се поддържа от хиляди доброволчески сървъри по целия свят, наречени релета или възли.

Как работи Tor (Тор маршрутизиране) #

Tor използва техника, наречена “онион маршрутизиране” (onion routing), за да скрие самоличността и местоположението на потребителя, като обвива данните в множество слоеве криптиране, подобни на слоевете на лук.

Процесът работи по следния начин:

1. Криптиране в слоеве #

Вашият Tor клиент (напр. Tor Browser) взема интернет заявката ви и я криптира три пъти с публичните ключове на три последователни релета, които са избрани на случаен принцип във веригата.

2. Изграждане на веригата #

Трафикът се предава през тези три релета (възела) в мрежата Tor:

  • Входен възел (Guard Relay):

    • Това е първият възел, който получава вашата заявка.
    • Той може да види вашия истински IP адрес, но знае само адреса на следващия възел.
    • Премахва първия слой криптиране.
  • Среден възел (Middle Relay):

    • Получава трафика от входния възел.
    • Знае само адресите на входния и изходния възел.
    • Премахва втория слой криптиране.
  • Изходен възел (Exit Relay):

    • Това е последният възел в мрежата Tor.
    • Премахва последния слой криптиране и изпраща заявката към целевия уебсайт.
    • Не знае вашия истински IP адрес, но може да види съдържанието на заявката (ако не се използва HTTPS).

3. Дестинация #

Уебсайтът, който посещавате, вижда връзка, идваща от IP адреса на Изходния възел, а не от вашия реален IP адрес, като по този начин се постига анонимност.


Предимства и Недостатъци на Tor #

ПредимстваНедостатъци
Анонимност: Скрива вашия IP адрес и активност от ISP /Интернет доставчик/.Скорост: Значително по-бавен е поради многократното криптиране и преминаване през възли.
Заобикаляне на цензура: Позволява достъп до блокирани сайтове.Не е 100% сигурен: Уязвим е към напреднали атаки (напр. ако атакуващ контролира и входния, и изходния възел).
Защита от проследяване: Tor Browser е създаден да предотвратява “дигитално отпечатване” (fingerprinting) и изчиства данни като бисквитки след сесията.Изходни възли: Ако не използвате HTTPS, изходният възел може да види съдържанието на трафика ви.

Tor работи, като използва онион маршрутизиране (onion routing), за да прехвърли вашия трафик през три (или повече) доброволчески възела с един слой криптиране за всеки възел, използван във връзка. Всяка връзка използва набор от възли (верига), избрани на случаен принцип от потребителя. Това се прави така, че всеки прокси да знае само адреса на машината, която му е изпратила пакет, и на машината, на която препраща пакет.

Неща, които Tor НЕ прави: #

  • Не кара потребителите да действат като релета по подразбиране.
  • Не използва фиктивен трафик по време на онион маршрутизирането (Въпреки това, ИМА фиктивен трафик между клиента и защитния възел (guard node), за да се предотврати от наблюдатели да разкриват (fingerprinting) клиенти, които изпълняват онион услуги (onion services)).
  • Не предизвиква значително забавяне (latency) умишлено.
  • Не смесва пакетите заедно, за да бъдат изпратени в различен ред и/или пакетирани.

Неща, които Tor ПРАВИ: #

  • Допълва (Pads) всички пакети в мрежата до 512 байта. Единственият път, когато един пакет е по-малък от това, е когато излезе от мрежата. Имайте предвид, че тъй като трафикът на онион услуги никога не включва изходни възли, трафикът остава допълнен (padded) от край до край.
  • Прави всичко възможно, за да се защити срещу атаки с „анализ на трафика“ (traffic analysis), при които противниците се опитват да разберат кои части от мрежата трябва да атакуват, за да деанонимизират дадена цел.

Също така имайте предвид, че Tor: #

  • Има централизиран директорен орган (directory authority) (списък с рутери). (Обратно, това надеждно предотвратява Sybil атаки).
  • Не е създаден да се защитава срещу атаки за потвърждение (confirmation attacks).

Ясно е, че намерението на Tor при прилагането на мрежа за онион маршрутизиране с ниско забавяне (low-latency) е да бъде изключително бърза, като същевременно запазва поверителността и анонимността на потребителите срещу повечето противници. Тя превъзхожда това и, цитирайки NSA, “[Tor е] кралят на високосигурната анонимност с ниско забавяне. Няма чакащи претенденти за трона.

Как може да бъдете деанонимизирани при използване на Tor като нормален потребител (не-реле)? #

Има различни методи за това, но най-известните са следните:

  • Атаки по време / Атаки за потвърждение
  • Атаки върху трафика, излизащ от мрежата (MITM техники)
  • Изтичане на протоколни данни (метаданни на браузъра, P2P като BitTorrent и т.н.)

Оперативната сигурност (Operations security - OpSec) е лесна, ако имате основно ниво на интелигентност, а за сърфиране в мрежата трябва да избягвате използването на всичко друго освен Tor Browser, за да не изтекат метаданни. В идеалния случай може да се избегнат възможно най-много мрежови връзки и възможно най-голям обем трафик.

Най-мощният метод, с който разполагат глобалните противници, е Атаката за потвърждение (Confirmation Attack). Такива наблюдатели като NSA и свързаните с нея шпионски агенции се стремят да регистрират възможно най-много байтове, които преминават през интернет гръбнака (internet backbone). Използвайки тези записи, те могат да се опитат да наблюдават къде е влязъл трафикът в мрежата и къде са излезли подобни модели на трафик, и по този начин да се опитат да потвърдят подозрението, че две лица комуникират помежду си.

Ще отнеме множество времеви интервали, за да бъдете деанонимизирани с тази техника по различни причини. Първо, разберете естеството на това, което е необходимо за извършване на атака за потвърждение:

  • Противникът трябва да може да наблюдава както трафика клиент…защитен възел, така и трафика краен възел…сървър.
  • Ако противникът може да наблюдава трафика на $N$ възли от $M$ общо възли, вероятността да може да извърши атака за потвърждение върху произволна верига е $(N/M)^2$. Контролирайте/наблюдавайте 50% от възлите и можете да опитате атаки срещу най-много 25% от веригите.

Ако приемем, че даден противник се е поставил в позиция да стартира атака за потвърждение, има редица проблеми, които ще му попречат:

  • Обем на трафика. Има много потребители, които изпращат пакети в мрежата и извън нея едновременно с много различни и подобни модели, създавайки голям набор от анонимност (anonymity set).
  • Забавяне. Забавянето в Tor не е голямо, но по време на това забавяне има повече време други клиенти/възли да изпращат пакети и по този начин да допринесат за обема на трафика и общия набор от анонимност.
  • Допълване на трафика. Всички пакети, които влизат в мрежата и се изпращат между възлите, са допълнени до 512 байта и са неразличими.
  • Защитни възли (Guard nodes). Ако нямаше защитни възли или ако защитните възли се сменяха бързо, тогава в крайна сметка след преминаване през достатъчно вериги е почти сигурно ($\sim 100%$), че ще бъде избран злонамерен входен възел, така че Tor избира защитен възел да се използва за 2-3 месеца. Емпирични данни за това могат да бъдат намерени тук: https://blog.torproject.org/improving-tors-anonymity-changing-guard-parameters.
  • Онион услуги (Onion services). Когато използвате такава, вие създавате нова верига и трафикът ви ще премине през шест релета (две потребителски вериги, говорещи помежду си), и трафикът ви не напуска мрежата Tor. Това прави деанонимизирането на потребителите на онион услуги изключително трудно и малко вероятно. Самата онион услуга е по-застрашена тук, ако даден противник знае нейния .onion адрес, тъй като те съществуват дълго, противниците могат да се опитат да хакнат сървъра и умишлено да го залеят с трафик, за да предизвикат модели за атаки за потвърждение.

Като се каза това, ще бъде много по-трудно да бъдете проследени, ако вашата дейност е IRC връзка, а не стрийминг на видео или качване на 10 GB файл.

Заключение #

Никога няма да бъде възможно да се деанонимизират всички потребители на Tor през цялото време. Със сигурност има случаи, в които многомилиардната мощ на световните разузнавателни агенции ще може да свърже различни методи на атаки по време, експлойти на браузъра и клиента, провали в OpSec и старомоден социален инженеринг, за да подозира и потвърждава връзки между потребителите на Tor и техните кореспонденти.

Въпреки това, би било добре да не мислите за Tor като за панацея за онлайн анонимност, да комбинирате употребата му с различни други инструменти и техники и да разберете, че използването на мрежи с ниско забавяне като Tor за избягване на глобални противници е като да забивате пирон с гаечен ключ вместо с чук – бихте могли да го направите, ако искате, но това не е оптималният начин.

Въпреки всичко, защо да не го използвате? Вие защитавате личната си поверителност, драстично намалявате силата на правителствата и корпорациите да влияят на човешкото поведение и можете да бъдете анонимни, ако положите малко усилия, особено ако се придържате към комуникация в рамките на мрежата. Няма причина да не използвате Tor – съвършенството е враг на доброто.

TL;DR: Искате маршрутизиране с високо забавяне (Mix network), ако искате система, която лесно да устои на глобален пасивен противник, но Tor не е за пренебрегване. Поверителността не е бинарен превключвател за включване/изключване, а спектър на трудност. Анонимността се определя от набора от хора, от които сте неразличими.