Tor

Tor

вирусолог

Tor  —  это браузер построенный на базе мозиллы, как система proxy-серверов, позволяющая устанавливать анонимное сетевое соединение. Рассматривается как анонимная сеть виртуальных туннелей, предоставляющая передачу данных в зашифрованном виде. Написана преимущественно на языках программирования C, C++ и Python.

TOR шифрует данные пользователя, в том числе и реальный IP адрес назначения, многократно перенаправляя его через свои виртуальные серверы, которые выбираются в случайном порядке. Каждый отдельный сервер передает в последующий сервер зашифрованные данные. Конечный результат получается таким, что пользователь соединяется с сайтом не напрямую, а через сеть TOR. Преимущество данного метода заключается в том, что ваш реальный IP-адрес скрыт от сайтов, которые вы посещаете, соединение перенаправляется от сервера к серверу случайным образом и по сути, теряет след в просторах интернета.

Tor берет свое начало с 2000 года. Он был создан в «Центре высокопроизводительных вычислительных систем» Исследовательской лаборатории Военно-морских сил США в рамках проекта Free Haven совместно с DARPA по федеральному заказу. Исходный код был опубликован под свободной лицензией, чтобы все желающие могли провести проверку на отсутствие ошибок.

О поддержке проекта объявила правозащитная организация Electronic Frontier Foundation, которая начала активно продвигать данную сеть. Существенную финансовую помощь Tor оказывали Министерство обороны и Государственный департамент США, а также Национальный научный фонд. В 2011 году проект Tor был удостоен премии общественной значимости Фонда свободного программного обеспечения, а в 2012 году — награды EFF Pioneer Award. Также по данным Tor Metrics, в июле 2014 года Россия вошла в тройку стран, наиболее активно использующих Tor.


Но на сколько Tor анонимен?!

Для представления полной картины надо знать, что в сети есть охранные узлы, промежуточные узлы и выходные узлы. Клиент общается с охранным узлом, который в свою очередь передает трафик промежуточным узлам и только они уже отдают все на выходные узлы, которые общаются с интернетом. Благодаря подобным маршрутам отслеживание владельцев пакетов становится крайне сложным: каждый узел имеет информацию только о том, от куда пришли данные и куда они их надо направить. Те ни один из узлов не имеет информацию для компрометации пользователя. Самое опасное звено - выходная нода. Она является доверенной, и даже если на всех остальных узлах данные зашифрованы и не могут быть прочитаны посредником, в случае, если целевой протокол не предусматривает шифрование трафика(http, ftp и тд), то выходная нода может встать по середине и мониторить или подменять трафик.

Ну, пока все довольно безопасно, да?!

Но самая главная угроза для анонимности - это сам пользователь. Как бы хорошо tor не старался скрыть ваши данные, любая оплошность, допущенная пользователем, может стать серьезной угрозой анонимности. Например, по ошибке можно машинально ввести куда-то свой реальный e-mail. Даже если заметить эту ошибку до отправки формы, на странице может находиться скрипт, который служит для проверки e-mail по базе сайта, отправляя содержимое формы на сервер при любом его изменении. В таком случае анонимность при продолжении использования этой конфигурации сети уже под очевидным сомнением.

Но помимо очевидных признаков оплошности самого юзера существует ещё не мало менее очевидных существуют еще уникальные идентификаторы системы, по которым и происходит поиск.

Уникальными параметрами может являться системное время, часовой пояс, установленные плагины и т.п.

Также могут производится различные сборы данных, к примеру:

CPU benchmark - запуск ресурсоемких операций в браузере и измерение времени их выполнения. Разные компьютеры имеют разное железо, настройки производительности и т.п., поэтому результаты на разных машинах и показатели будут отличаться.

getClientRects - с помощью этой функции можно узнать данные, которые зависят от многих настроек браузера и системы.


Помимо использования технических параметров для слежки могут отмечаться и поведенческие особенности. Например, характерные черты в перемещении курсора, поведение в сети, стиль письма и тд.

Каждый уникальный параметр по отдельности имеет низкую точность при идентификации пользователя, но в комбинации могут достигаться высокие показатели узнаваемости. Зачастую при детальном изучении нетрудно идентифицировать все действия одного пользователя, даже если использовались разные аккаунты и менял выходные ноды tor'а.


p.s. Будь умнее и не перекладывай всю ответственность за свою безопасность на железяки.