В чем вообще заключается анонимизация?
Кроме нашумевшего на всех углах интернета мнения о сокрытии IP-адреса есть еще множество других деталей. По большому счету все методы и средства анонимности преследуют цель сокрытия провайдера. Через которого уже можно получить физически точное местоположение пользователя, обладая дополнительной информацией о нем (IP, «отпечатки» браузера, логи его активности в определенном сегменте сети и пр.). А также большинство методов и средств направлены на максимальное сокрытие/нераскрытие этой косвенной информации, по которой позже можно будет спрашивать у провайдера нужного юзера.
Какие есть способы анонимизации пребывания в сети?
Если говорить про обособленные единицы анонимизации (ведь есть еще схемы в виде комбинирования того или иного средства анонимности), то можно выделить следующие:
1) Прокси-серверы — бывают разных видов, со своими особенностями. По ним есть отдельный FAQ и другие топики на форуме;
2) VPN-сервисы — тоже работают по разным протоколам, которые предлагают провайдеры на выбор, их различия и особенности см. ниже;
3) SSH-туннели, изначально создавались (и функционируют по сей день) для других целей, но также используются для анонимизации. По принципу действия довольно схожи с VPN’ами, поэтому в данной теме все разговоры о VPN будут подразумевать и их тоже, но сравнение их все же будет позже;
4) Dedicated-серверы — самое основное преимущество в том, что пропадает проблема раскрытия истории запросов узла, с которого проводились действия (как это может быть в случае с VPN/SSH или прокси);
5) Великий и ужасный Tor;
6) I2P — анонимная, децентрализованная сеть, работающая поверх интернета, не использующая IP-адресацию (подробнее см. ниже);
7) Иные средства — анонимные сети, анонимайзеры и др. В силу пока недостаточной популярности они еще не изучены (а следовательно не имеют относительной гарантии надежности) сообществом, но достаточно перспективны, о них также см. ниже;
Что стоит скрывать, или какие есть деанонимизирующие данные и методы их получения?
Сразу отмечу, что все (основные по крайней мере) средства и методы для сокрытия данных в ниже представленном списке будут освещены в остальных вопросах этого FAQ’a. Еще хочу обратить внимание на один интересный ресурс, который посвящен вопросам, какую информацию мы оставляем о себе в сети, заходя в разных устройств;
1) IP-адрес, или самый популярный идентификатор в интернете. Дает возможность найти провайдера юзера и узнать у него точный адрес через тот же IP;
2) IP DNS провайдера, который можно «потерять» через метод, называемый DNS leaks (утечки DNS). Важно отметить, что эта утечка может произойти при связке HTTP/SOCKS4(5 в некоторых случаях) + Tor! Поэтому тут надо быть особенно внимательными;
3) Если большая часть траффика долго выходит в интернет через один узел, например, тот же Tor, то можно провести так называемое профилирование — отнести определенную активность к определенному псевдониму, который можно сдеанонить через другие каналы;
4) Прослушивание трафика на выходном узле или Mitm-атаки (man in the middle);
5) Одновременное подключение к анонимному и открытому каналам может в некоторых ситуациях создать непрятности, например, при обрывании соединения у клиента, оба канала перестанут функционировать, и на сервере можно будет определить нужный адрес, сопоставив время отсоединения пользователей (правда, это довольно геморный и далеко неточный способ деанонимизации);
6) Деанонимизирующая активность в анонимном сеансе — пользвоание публичными сервисами, особенно теми, на которых уже есть информация об этом пользователе;
7) MAC-адрес, который получает WiFi точка при подключении к ней (или он может быть бэкапнут коммутаторами одной из локальных сетей, через которую был осуществлен выход в интернет);
8) Информация из браузеров:
- Cookies — это текстовые файлы c какими-либо данными (как правило, уникальными для каждого пользователя), хранимые приложением (часто — браузером) для разных задач, например, аутентификации. Часто бывает, что клиент сначала посетил ресурс из открытого сеанса, браузер сохранил cookies, а потом клиент соединился из анонимного сеанса, тогда сервер может сопоставить cookies и вычислить клиента;
- Flash, Java, Adobe Reader — первые три плагина вообще можно выделить, как отдельные приложения на базе браузера. Они могут обходить прокси (DNS leaks), засвечивать IP (IP leaks), создавать свои подобия долгоживущих cookies и др. Также все три (в особенности этим грешит Flash) часто служат подспорищем для эксплуатации каких-нибудь 0-day или 1-day уязвимостей, позволяющих порой проникнуть в саму систему;
- JavaScript — исполняется на стороне клиента, не обладает таким широким спектром возможности в плане деанона, хотя может предоставить точную информацию об ОС, виде и версии браузера, а также имеет доступ к некоторым технологиям браузера, которые могут также, например, слить IP-адрес;
- Browser fingerprint или отпечаток браузера — совокупность данных, которые браузер постоянно предоставляет серверу при работе с ним, что может сформировать достаточно уникальный «цифровой отпечаток», по которому можно будет найти юзера даже в анонимном сеансе или позже, по выходу из него;
Чем VPN отличается от прокси?
1) Трафик между клиентом и прокси передается в открытом виде, при использовании VPN уже идет шифрование;
2) Стабильность — при создании VPN соединения как правило постоянная, редко создаются разъединения, у прокси они происходят относительно чаще. Но все зависит от провайдера;
3) Кроме шифрования соединения VPN предоставляет более анонимный сервис в том плане, что используются DNS сервера VPN сервиса и не может произойти раскрытия приватных данных типа DNS leak, что ни чуть не хуже, чем раскрытие IP-адресаю Правда у SOCKS5 и SOCKS4a-прокси есть такая же возможность переложить DNS сервис на прокси-сервер;
4) VPN сервисы не ведут журналов или ведут на очень короткие сроки и неподробно (по крайней мере они так говорят), большинство прокси-серверов не дают таких обещаний;
Насколько эффективна цепочка из прокси-серверов?
Скорее она неэффективна, если ориентироваться по соотношению прироста времени деанонимизации на уменьшение скорости соединения от конечного ресурса к клиенту. К тому же, почти все недостатки деанонимизации, присущие прокси-серверам не исчезают при построении из них подобных цепочек. Поэтому можно сделать вывод, что данным методом при достижении анонимности лучше не пользоваться.
В FAQ’e про прокси-серверы не сказано о SOCKS4a, зачем он нужен?
Это промежуточная версия между 4 и 5 SOCKS’ами, в которой все функционирует аналогично 4, за исключением того, что SOCKS4a принимает только доменное имя вместо IP-адреса ресурса и сам его резолвит.
Можно поподробнее об особенностях, плюсах и минусах аренды dedicated-серверов?
Выделенный сервер предназначается далеко не для анонимизации, а для хостинга приложений, сервисов и всего другого, чегу заказчик посчитает нужным. Важно отметить, что арендатору предоставляется отдельная физическая машина, что дает ему некий гарант полного контроля этого узла и созадет важное преимущество для анонимности — уверенность в том, что история запросов никуда не утечет.
Учитывая вышесказанное и другие моменты можно выделить ряд преимуществ данного средства с точки зрения анонимизации:
1) Настройка HTTP/SOCKS-прокси или SSH/VPN-соединения на выбор;
2) Контроль истории запросов;
3) Спасает при атаке через Flash, Java, JavaScript, если использовать удаленный браузер;
Ну и недостатки тоже присутствуют:
1) Сильно дорогой метод;
2) В некоторых странах априори не может предоставлять анонимность, потому что арендатор обязан предоставить о себе данные: паспорт, кредитка и др;
3) Все соединения с выделенныем сервером логируются у его провайдера, так что тут возникает доверенность немного другого плана;