Маскируем Tor трафик через обфусцированный мост. Всё больше интернет-провайдеров используют DPI (Deep Packet Inspection) для распознавания и фильтраци/блокировки различного вида трафика, в т.ч. и Tor трафика, но выход есть...
Государство не любит, когда его граждане могут что-то от него скрывать, при этом само часто действует исподтишка. Авторитарные и полицейские государства, в которых львиная часть бюджета уходит на контроль населения, научились определять и блокировать Tor трафик, в т.ч. и на уровне TCP пакетов.
Хорошая новость в том, что Tor трафик научились маскировать (обфусцировать).
Как определить Tor трафик
Определить Tor трафик не так просто ибо он практически не отличается от обычного HTTPS (SSL) трафика, но всё же есть способ определения. Например утилита CapLoader способна идентифицировать Tor трафик независимо от используемого порта (PIPI - Port Independent Protocol Identification):
Какие именно отличия между TCP пакетами обычного HTTPS (SSL) и Tor HTTPS (SSL) трафика? Не имею ни малейшего представления потому, что не занимался их подробным анализом, но, очевидно, что какие-то отличия (метка) должны быть.
Из обычных подручных средств для идентификации Tor трафика можно использовать стандартную утилиту nslookup:
>nslookup 85.10.211.53 Server: localhost Address: 127.0.0.1 Name: anonymous-tor-proxy Address: 85.10.211.53
Обычно в именах хостов (hostname) присутствует префикс/суфикс "tor". Можно воспользоваться веб-сервисом ipinfo.io:
curl ipinfo.io/85.10.211.53 { "ip": "85.10.211.53", "hostname": "anonymous-tor-proxy", "city": "Nurnberg", "region": "Bayern", "country": "DE", "loc": "49.4478,11.068299999999994", "org": "AS24940 Hetzner Online AG", "tor": true }
Можно запросить список Tor узлов через "Tor Bulk Exit List exporting tool", где в поле "IP" ввести любой левый ИП адрес, например ИП адрес Яндекса "213.180.193.3", а можете ввести свой собственный, от этого список результата не особо то и меняется.
Большинство пытаются блокировать Tor трафик по ИП адресам, но это всё равно, что в воду пукать. DPI (Deep Packet Inspection) является более продвинутым методом определения и блокировки, который, вероятно, как и CapLoader определяют Tor трафик по отпечаткам аномалий в TLS/SSL.
Больше подробностей, про аномалии TLS/SSL в Tor трафике, можно нарыть в документе: "Identifying TLS abnormalities in Tor".
- Tor Project: Abuse FAQ - I want to ban the Tor network from my service.
- Tor Bulk Exit List exporting tool
Обфускация (маскировка) Tor трафика
Из приведённого выше нам теперь в общих чертах стало ясно, что Tor трафик можно определить по различным параметрам, в т.ч. и по отпечаткам аномалий в TLS/SSL Tor трафика, а это значит, что при желании нас могут заблокировать либо пометить как потенциального кандидата на выигрыш путёвки в Гуантанамо
В Гуантанамо мы не хотим, да и блокировка нам никчему, а значит нам нужно скрыть (замаскировать) факт использования Tor сети. Благо, а кому горе, есть такая страна, как Иран, где большая часть ISP начала фильтровать TLS/SSL Tor трафик.
Разработчики Tor предположили несколько вариантов блокировки, среди которых DPI, блокировка трафика по IP-адресам и TCP-портам, по ключевым словам. Специально для угнетённого народа Ирана был разработан "Tor Project: obfsproxy", для того чтобы помочь Иранцам получить доступ к сети Интернет.
obfsproxy работает по принципу клиент-сервер, на стороне клиента Tor трафик обфусцируется (маскируется) в obfsproxy и уже потом отправляется в направлении т.з. моста, где также стоит obfsproxy который снимает с трафика маскировку и шлёт его уже в Tor сеть.
Таким образом скрывается факт использования Tor сети и повышается безопасность TLS/SSL трафика за счет его дополнительной модификации (обфускации). Для использования возможности маскировки Tor трафика специально создана сборка "Pluggable Transports Tor Browser Bundle" с предустановленным списком обфусцированных мостов в файле конфигурации ..\Data\Tor\torrc, программа не требует установки, достаточно распаковать в нужный каталог и запустить исполняемый файл "Start Tor Browser.exe".
"Start Tor Browser.exe" запускает дополнительный процесс "vidalia.exe", который является фронтендом (конфигуратор) для клиента/сервера сети tor. "vidalia.exe" время от времени очень сильно загружет ЦП, поэтому лучше запускать только сам Tor сервер.
Для запуска одного Tor сервера в обход "vidalia.exe" не нужно ничего дополнительно загружать или устанавливать, для этого достаточно в каталоге ..\App\ создать .bat файл с командой запуска, например torrc-main.bat и отдельным файлом конфига (скопировать ..\Data\Tor\torrc в ..\Data\Tor\torrc-main):
..\App\torrc-main.bat :: START Tor Pluggable Transports tor -f ..\Data\Tor\torrc-main --- ..\Data\Tor\torrc-main # If non-zero, try to write to disk less frequently than we would otherwise. AvoidDiskWrites 1 # Store working data, state, keys, and caches here. DataDirectory ..\Data\Tor GeoIPFile ..\Data\Tor\geoip GeoIPv6File ..\Data\Tor\geoip6 # Where to send logging messages. Format is minSeverity[-maxSeverity] # (stderr|stdout|syslog|file FILENAME). Log notice stdout # Bind to this address to listen to connections from SOCKS-speaking # applications. SocksListenAddress 127.0.0.1 SocksPort 9150 ControlPort 9151 UseBridges 1 # The address and port are ignored by the client transport plugin. Bridge flashproxy 0.0.1.0:1 # unable to connect # https://bridges.torproject.org/ Bridge obfs2 ip:port Bridge obfs3 ip:port Bridge obfs3 ip:port LearnCircuitBuildTimeout 0 CircuitBuildTimeout 60 # Change the second number here (9000) to the number of a port that can # receive connections from the Internet (the port for which you # configured port forwarding). ClientTransportPlugin flashproxy exec ..\App\flashproxy-client --register :0 :9000 ClientTransportPlugin obfs2,obfs3 exec ..\App\obfsproxy managed
Где ip:port - это ИП адрес и порт моста, например 60.63.97.221:443. Списки приватных обфусцированных мостов не указываются в общем каталоге Tor узлов (нодов), а выдаются только по запросу из определённого сегмента сети на сайте https://bridges.torproject.org/ или по электронной почте. При запросе списка мостов по электронной почте, нужно отправить письмо на адрес [email protected], в теле письма которого указать "get bridges", но в таком случае письмо должно быть выслано с gmail аккаунта.
После запуска только самого сервера просто настраиваем нужное нам ПО на тот порт (SOCK 5), который указали в нашем конфиге.
Кому нужен Tor
Tor будет полезен различным активистам, угнетенным народам, журналистам, да и просто обычным людям, которые хотят сохранить анонимность в сети Интернет. Кроме Tor сетей существует множество различных альтернатив, например I2P, но лучше TOR-a, кажись, пока ничего ещё не придумали.
Власти же никак не хотят, не могут или просто делают вид, что не понимают (бабло же надо на чём-то пилить) того факта, что Интернет нереально поставить на колени, одеть на него ошейник и сделать полностью управляемым.
Те кто пишут, что вычислить анонимного пользователя для спецслужб как два пальца обосцфальт, откровенно лукавят. Технические возможности спецслужб в основном заключаются в способности склонять к неформальному сотрудничеству администраторов сайта и интернет-провайдеров, путём подкупа или же запугивания гиеной огненной.
В первую очередь анонимность зависит от уровня технической грамотности пользователя. Следует помнить, что для сохранения анонимности любых анонимных сетей или анонимизаторов желательно отключать (или настраивать на их активацию по согласию) в своём браузере такие плагины, как Flash, Java, RealPlayer, Quicktime - иначе существует риск деанонимизации!
Анонимусу также будет полезно взять на вооружение виртуальные шифрованные диски, а при помощи символьных ссылок (aka symlink) перенаправить туда профили рабочих программ или же ещё шифровать и весь жесткий диск вместе с ОС, на подходах к компу наставить растяжек, а системник обложить капканами. Или вот идея для террористов: закладываем в системник 100-200 гр. пластида, под жесткий диск, с направлением взрыва в центр жесткого диска, а провода детонатора незаметно выводим на самую главную (та, что самая большая) клавишу "Enter" и цепи, цепи стальные литые/калённые вокруг системника - вот это я понимаю защита конфиденциальности :)))
Разумеется, что полная 100%-я анонимность, как и полная 100%-я независимость - это 100%-й миф! Вопрос лишь в том, для кого конкретно ты анонимен и от кого именно ты независим в данный момент времени!
Ссылки по теме Tor
- Tor: Hidden Service Protocol
- Tor Project: Hidden Service Configuration Instructions
- Tor — Википедия
- Whonix — Википедия
- Deep packet inspection — Википедия
- Анонимные сети — Википедия