Как стать автором
Обновить
113.73
Cloud4Y
#1 Корпоративный облачный провайдер

Я тебя найду по JS, или какие возможности для фингерпринтинга дают современные web-технологии

Время на прочтение6 мин
Количество просмотров14K

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

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

Возможно, вы уже замечали, что вскоре после прочтения статьи о новой модели телефона все рекламные модули в интернете начинают предлагать новый телефон по выгодной цене. ИТ-гиганты давно поняли ценность сбора данных о пользователях, но общество забило тревогу относительно недавно. Как следствие, на сайтах появились уведомления о пользовательском соглашении на обработку персональных данных. В РФ это обязательное требование, закреплённое в Федеральном законе «О персональных данных» от 27.07.2006 N 152-ФЗ.

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

Что же сайты про нас знают

В качестве тестового стенда мы используем виртуальную машину, запущенную в облачном сервисе Cloud4Y в демо-режиме (бесплатном). Операционную систему будем использовать из Linux семейства — Parrot OS. В качестве дополнительного ПО понадобится Ngrok и модуль Bigbro из фреймворка OsintSAN.

С помощью Bigbro поднимаем уже готовую веб-страницу из списка:

А с помощью Ngrok будем перенаправлять наш локальный трафик через порт 8080 на внешний IP-адрес. И тем самым получим доступ нашего локального веб-сервиса в интернет.

Теперь нужно обратиться со своего устройства по указанному в командной строке Ngrok пути (адрес в этой программе генерируется сложный, но можно использовать любой сокращатель ссылок, чтобы упростить ввод).

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

Вот сколько данных на нас есть! Казалось бы, сведения о конфигурации нашего устройства ничего не дают владельцу сайта. Как бы не так. Эти данные позволяют идентифицировать пользователя даже за VPN или при работе с другого браузера.

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

Далее у нас параметр местонахождения. Мы видим, что место, с которого мы вышли в сеть, определено с точностью до 25 метров. Когда я прошёл по ссылке «Google карты», то убедился, что местонахождение устройства определено действительно точно. И вас можно легко вычислить, особенно если вы находитесь на территории с низкой плотностью населения (например, в деревне).

А вот такие данные можно получить в новой версии тестируемой программы:

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

Неанонимная анонимность

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

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

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

Добавим сюда неудобства при работе с сайтами, так как средства анонимизации могут как замедлять работу с сервисами, так и урезать их функционал.

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

Другими словами, чем больше анонимности вы хотите, тем менее комфортно пользоваться интернетом.

Что делать

Как тогда быть? Я отвечу на этот вопрос так: стать полностью анонимным в настоящее время невозможно, так что в этом направлении должна быть разумная грань.

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

Как скрывать? Отказываться от технологий вроде Java Scripts - плохая идея. Лучше выбрать иной путь – подменять свой отпечаток. Это можно делать с помощью браузеров (например, Sphere) и плагинов (Privacy Badge или Ghostery). Подменить IP можно с помощью VPN. И обязательно чистите куки в браузере.

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

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

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

Вместо заключения

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

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

Здесь уместно упомянуть слова профессора Бостонского университета и автора книги «Всё, что происходит в Вегасе, остаётся в сети» Эрика Куалмана: из-за обилия постоянно сохраняющихся данных о пользователях, вести себя в сети надо так, словно за вами наблюдают ваши мама, босс, тренер и враги.

Спасибо за внимание.


Что ещё интересного есть в блоге Cloud4Y

→ Частые ошибки в настройках Nginx, из-за которых веб-сервер становится уязвимым

→ Пароль как крестраж: ещё один способ защитить свои учётные данные

→ Тим Бернерс-Ли предлагает хранить персональные данные в подах

→ Подготовка шаблона vApp тестовой среды VMware vCenter + ESXi

→ Создание группы доступности AlwaysON на основе кластера Failover

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

Теги:
Хабы:
+17
Комментарии13

Публикации

Информация

Сайт
www.cloud4y.ru
Дата регистрации
Дата основания
2009
Численность
51–100 человек
Местоположение
Россия