Методы деанонимизации пользователей сайтов

Люди, далёкие от мира информационных технологий, думают, что для анонимного сёрфинга в сети Интернет достаточно лишь сменить свой IP-адрес, настроив свой браузер на использование высоко-анонимного прокси. Они заходят на страницу проверки своего IP-адреса, видят, что он изменён, а в HTTP-заголовках отсутствует информация как об их настоящем IP, так и о самом факте использования прокси, и думают, что теперь они инкогнито находятся в сети. Но, это не так.

Далее мы расскажем о некоторых методах деанонимизации посетителей веб-сайтов кратко и «простыми словами». Подразумевая под «деанонимизацией» не полное раскрытие личности посетителя, включая его персональные данные, и даже не раскрытие его настоящего IP, но, получение каких-либо данных о нём, имеющих высокую степень достоверности.

Cookie-файлы

Что это такое?

Cookie («куки») представляет собой небольшой фрагмент данных, отправленный веб-сервером для сохранения на компьютере пользователя в виде текстового файла. При повторном посещении сайта, сохранившего cookie, браузер пользователя пересылает этот фрагмент данных обратно веб-серверу.

Cookie придуманы для удобства пользователей, и на практике обычно используются для аутентификации, хранения персональных предпочтений и настроек пользователей. Например, после ввода пользователем логина и пароля на странице авторизации, cookie позволяют веб-серверу запомнить, что данный пользователь уже авторизован, и при просмотре следующей страницы ему не придётся снова вводить логин и пароль.

Как работает отслеживание?

Использование cookie-файлов – самый простой и очевидный способ для идентификации пользователя, сменившего свой IP-адрес. Собственно, это одно из предназначений cookie. Многим пользователям их Интернет-провайдер выдаёт не статический IP-адрес (постоянный), а динамический, который периодически меняется. Таким пользователям было бы крайне неудобно пользоваться многими Интернет-сайтами без технологии cookie, не имея возможности запомнить авторизацию и персональные настройки сайтов.

Работает это просто, Интернет-сайт генерирует для каждого нового посетителя, у которого ещё нет соответствующего cookie, уникальный идентификатор и сохраняет его на компьютере пользователя в виде cookie-файла. Даже сменив IP, при посещении того-же сайта с использованием того-же браузера, данные cookie с идентификатором пользователя будут отправлены обратно на веб-сервер, который, после их получения сможет идентифицировать пользователя, добавив к истории его активности использование нового IP адреса, в случае если такая история ведётся.

Как противодействовать?

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

Кэшированные файлы

Какие файлы и зачем кэшируются?

Для снижения нагрузки на веб сайты и ускорения доступа пользователей к ним, браузеры могут кэшировать (сохранять) на компьютере пользователя различные данные, успешно полученные от веб-сервера. Такие данные могут включать различные медиа-файлы: CSS-стили, JavaScript, изображения, шрифты, которые редко изменяются, а значит не имеет смысла загружать их при каждом открытии страницы сайта. Веб-сервер может управлять кэшированием, используя специальные HTTP-заголовки в своих ответах, в том числе, указывать время актуальности кэша. Получая такие заголовки браузер пользователя принимает решение о загрузке данных с веб-сервера, или использовании сохранённых данных, ранее успешно полученных от веб-сервера на тот же самый запрос, в случае их наличия и актуальности.

Как работает отслеживание?

Веб-сайт предлагает браузеру пользователя загрузить некий ресурс, факт обращения к которому отслеживается веб-сервером. Например, это может быть внедрённое в HTML-код страницы изображение, генерируемое скриптом, который после обращения к нему запоминает это для конкретного пользователя. При ответе на запрос данного ресурса, веб-сервер также отправляет HTTP-заголовки, говорящие браузеру о том, что ресурс может быть кэширован на 30 дней.

Браузер пользователя, впервые запросивший такой ресурс при первом посещении сайта - загрузит его. Но, если имеется кэшированная копия ресурса, и она актуальна, то есть была загружена не позднее 30 дней назад, браузер не будет загружать ресурс, предоставив пользователю его кэшированную копию. Таким образом, если пользователь обращается к сайту, не запрашивая отслеживаемый ресурс, можно с большой долей вероятности предположить, что пользователь использует анонимизацию и ранее уже посещал этот сайт не позднее 30 дней назад.

Как противодействовать?

Предотвратить отслеживание с использованием кэшированных файлов можно удалив их, в отсутствие кэша, браузер будет загружать с сервера все необходимые ресурсы. Инструкции по настройке прокси в популярных браузерах из нашей базы знаний включают в себя описание процесса удаления кэшированных файлов.

«Утечка» DNS

Что такое и как работает служба DNS?

В сети Интернет, для обеспечения возможности обмена информацией между её участниками, у каждого устройства есть свой уникальный адрес, так называемый IP-адрес. Однако, для человека, обращение к сетевому ресурсу по IP адресу не очень удобно, поскольку его сложно запомнить и можно допустить ошибку при вводе. Представьте, если бы вместо best-proxies.ru в адресной строке браузера Вам приходилось бы набирать IP адрес, например, 192.168.0.1. Поэтому, для облегчения доступа к ресурсам в сети, была придумана служба имён DNS (Domain Name System), позволяющая связать сетевое имя (домен) с IP адресом, подобно списку контактов смартфона, в котором связаны имена абонентов с их телефонными номерами.

Рассмотрим подробнее процесс запроса пользователем страницы сайта best-proxies.ru:

  1. Браузер отправляет запрос на получение IP-адреса домена к кэширующему DNS-серверу своего провайдера (DNS-резолверу);
  2. Если DNS-сервер провайдера не нашёл записи для искомого домена в своём кэше, или такая запись есть, срок её актуальности истёк, он пытается разрешить имя, отправляя запрос на получение DNS-сервера, обслуживающего домен первого уровня (зона «RU») к корневому DNS-серверу;
  3. Получив успешный ответ, DNS-сервер провайдера обращается в DNS-серверу, обслуживающему зону «RU» для получения DNS-сервера, обслуживающего домен второго, искомого уровня (зона «BEST-PROXIES.RU»);
  4. Получив успешный ответ, DNS-сервер провайдера обращается в DNS-серверу, обслуживающему искомый домен «BEST-PROXIES.RU» для получения его IP адреса;
  5. Получив адрес, DNS-сервер провайдера возвращает его в ответе на запрос пользователя;
  6. Браузер пользователя, зная IP-адрес запрашиваемого сайта, обращается к нему;
  7. Сайт возвращает пользователю запрошенную страницу.

Схема работы службы DNS

Что такое «утечка» DNS?

Интернет-провайдеры используют собственные кэширующие DNS-серверы для ускорения разрешения имён своими абонентами и экономии трафика. Под утечкой DNS подразумевается ситуация, когда сайт, к которому обращается пользователь, может определить IP адреса его DNS-серверов, узнав таким образом, какая организация является Интернет-провайдером пользователя. Поскольку работа любых сетевых служб протоколируется, включая DNS-сервер Интернет-провайдера, найти уже реального человека, который в указанное время посещал указанный домен (уникальный, читайте далее, почему) не составит труда, например, по запросу Интернет-провайдеру из правоохранительных органов.

Получить список DNS-серверов пользователя могут сайты, имеющие свои собственные DNS-серверы. Получение списка происходит следующим образом. В код страницы сайта внедряется загрузка ресурса, например, изображения, с домена третьего уровня, где третий уровень представляет собой случайную и уникальную строку, например: id976df97guer2234886dfgyu2.best-proxies.ru. Такого домена не существует, и внедрение кода загрузки ресурса необходимо лишь для того, чтобы DNS-серверы пользователя попытались разрешить его имя, обратившись к DNS-серверу сайта. Когда такое обращение поступает, DNS-сервер сайта получает IP-адрес DNS-сервера пользователя.

Содержание собственных DNS-серверов - это дополнительные усилия и затраты. Для обслуживания доменной зоны, нужны, как минимум, два сервера, желательно, расположенные в разных дата-центрах, для обеспечения отказоустойчивости, ведь если пользователи не смогут разрешить имя домена сайта в IP-адрес, они не смогут им воспользоваться. Поэтому, на практике, подавляющее большинство Интернет-сайтов, не содержат своих собственных DNS-серверов, делегируя обслуживание доменной зоны своим хостинг-провайдерам. Таким образом, не имея доступа к DNS-серверу, обслуживающему их доменную зону, такие сайты не могут получить список DNS-серверов их пользователей.

Как противодействовать?

Используйте сторонние открытые DNS-серверы, которым Вы доверяете. Инструкции по настройке прокси в популярных браузерах из нашей базы знаний включают в себя описание процесса настройки альтернативных DNS. Вы также можете настроить системный DNS на вашем устройстве, чтобы не настраивать каждое приложение отдельно, или можете настроить DNS на своём домашнем роутере, чтобы все приложения на всех устройствах домашней сети использовали их.

Список открытых DNS

В таблице ниже приведён список быстрых бесплатных открытых DNS-серверов от известных IT-компаний мира, которые может использовать любой желающий. В сети можно найти дополнительные открытые DNS, в том числе, платные.

IP-адреса Название/Поставщик Расположение Описание
1.1.1.1
1.0.0.1
CloudFlare
Австралия
Один из самых быстрых открытых DNS, по завялению поставщика службы, логи хранятся на сервере в течение 24-х часов в целях отладки, после чего удаляются.
80.80.80.80
80.80.81.81
Freenom World
Нидерланды
Как заявлено на сайте поставщика, Freenom не хранит никаких IP-адресов в лог-файлах. Файлы журнала хранятся только в статистических целях и не включают IP-адреса или другую личную информацию. Дополнительно имеется защита от несуществующих доменов и рекламы.
199.85.126.10
199.85.127.10
Norton ConnectSafe Basic
США
Дополнительно предоставляет защиту от мошеннических и вредоносных сайтов.
77.88.8.88
77.88.8.2
Яндекс.DNS Безопасный
Россия
Дополнительно предоставляет защиту от мошеннических и вредоносных сайтов.
77.88.8.7
77.88.8.3
Яндекс.DNS Семейный
Россия
Дополнительно предоставляет защиту от мошеннических и вредоносных сайтов, а также блокирует сайты для взрослых.

Большой обновляемый список публичных DNS-серверов доступен здесь .

Как проверить наличие «утечки» DNS?

После того, как использование открытого DNS сервера настроено, необходимо проверить отсутствие утечки DNS, чтобы сделать это:

  1. Перейдите на сайт https://www.dnsleaktest.com/ ;
  2. Выберите стандартное («Standard test») или углублённое («Extended test», длится дольше, поскольку выполняет большее количество попыток разрешить имя, чтобы убедиться, что все DNS-серверы пользователя обнаружены) исследование, нажав на соответствующую кнопку;
  3. Дождитесь окончания тестирования и убедитесь, что список обнаруженных DNS-серверов не содержит принадлежащих Вашему Интернет-провайдеру.