Неодинокое «одиночество в Сети» — как рекламные агентства и сайты следят за вами

Даже самых хладнокровных пользователей рано или поздно обеспокоит навязчивость системы Google AdSense, которая любит предлагать контекстную рекламу в зависимости от старых запросов в поисковике.

Казалось бы, с момента поиска прошло немало времени, кэш браузера неоднократно зачищали, файлы сookies несколько удалялись – тем не менее, настырная программа всё равно помнит, чем вы там интересовались год назад. Как же происходит отслеживание пользователя? На самом деле, инструментов для этого предостаточно.

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

3512-000027

Простые истины

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

Помимо cookies, это могут быть некоторые плагины – Local Shared Objects во Flash, или Isolated Storage в Silverlight. Протокол HTML5 тоже включает в себя несколько механизмов хранения на стороне клиента. Кроме того, уникальные маркеры можно хранить в кэшированных ресурсах локальной машины или метаданных кэша. Пользователя также можно идентифицировать по «отпечаткам», полученным из Origin Bound сертификатов, которые сгенерировал браузер для SSL-соединений, данным, содержащимся в SDCH-словарях, и метаданным этих словарей.

«Печеньки»

Файлы cookies используют для хранения какого-то небольшого объёма данных на стороне клиента. Сервер устанавливает уникальный идентификатор для нового пользователя, сохраняя его в cookies-файлах — при последующих запросах клиент будет отправлять его серверу.

Несмотря на то, что все популярные браузеры давно оснащены удобным интерфейсом по управлению (или отключению) cookies, их всё равно продолжают активно использовать для отслеживания пользователей. Дело в том, что пользователи чрезвычайно редко просматривают и чистят их. В отличие от большинства других механизмов для слежения, cookies можно хранить предельно прозрачно и легально, а для того чтобы «пометить» пользователя, даже необязательно хранить уникальный идентификатор в отдельном файле – он может собираться из значений нескольких cookies либо храниться в метаданных.

Предательство во Flash

Файлы Local Shared Objects (LSO) – это, грубо говоря, те же cookies для Adobe Flash. Впрочем, LSO может хранить не только короткие фрагменты текстовых данных. Работу этих файлов можно контролировать непосредственно через контрольную панель.

Большинство современных браузеров достаточно хорошо интегрированы с технологиями Flash, так что при удалении cookies и других данных сайтов будут заодно стёрты и LSO.

Computer Code HTML

«Серебряный свет»

Если вы используете программную платформу Silverlight, то должны знать о механизме Isolated Storage. В отличие от cookies, настройки приватности здесь никак не связаны с браузером, так что даже в случае полной очистки cookies и кэша браузера данные, сохранённые в Isolated Storage, всё равно останутся.

Учитывая, что достучаться до этого механизма через настройки браузера пока нельзя, он не получил такого широкого распространения в качестве хранилища для уникальных идентификаторов. Одним словом, на счёт Silverlight беспокоиться не стоит – вы всё равно не можете особо ни на что повлиять.

Кэш с маслом

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

Этот механизм можно превратить в хранилище с произвольным доступом — сервер может вернуть пользователю JavaScript-документ с уникальным идентификатором внутри его тела и установить в заголовках Expires / max-age= далекое будущее.

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

Особая магия Google

Алгоритм SDCH – это созданная Google система компрессии, основывающаяся на использованиипредоставляемых сервером словарей. Алгоритм обеспечивает более высокий уровень сжатия данных, поскольку в обычной жизни web-сервер отдаёт слишком много повторяющейся информации.

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

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

computerhackerspy2

«Железный» капут

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

Такую слежку гораздо сложнее распознать и предотвратить. Кроме того, данная техника мониторинга позволяет идентифицировать пользователя, сидящего под разными браузерами или использующего приватный режим. Контрмер от такой слежки, по сути нет – разве что регулярно обновлять техническую «начинку» своей системы.

«Отпечатки» браузера

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

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

Все вместе они превращаются в подробное досье на вашу систему, которой присваивается уникальный идентификатор. Каков шанс встретить два идентичных компьютера в интернете?

Тот, кто сидит перед экраном

Наконец, один из самых надёжных вариантов – отслеживать не характеристики компьютера, а его владельца. Например, выяснить предпочитаемый язык пользователя, его кодировку по умолчанию и часовой пояс – всё это находится в HTTP-заголовках и доступно из JavaScript.

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

И на всё это совершенно невозможно повлиять. Всё ещё верите в анонимность в интернете?Думаем, вы поняли, что вопрос носит сугубо риторический характер.

Читайте также:

Лучшие бесплатные VPN-2017 по версии Techradar

Тарас Полищук, TripMyDream: «В Украине до 90% людей ездят по путёвкам, хотим это изменить»

Глазами Tesla — как «видит» дорогу система беспилотника

Как разработчик шпионских приложений NSO Group зарабатывает миллионы