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

Методика

Когда речь идет о веб-серфинге, следует различать два принципиально разных типа сбора данных: тот, что выполняет сам браузер, и тот, что производят скрипты на сайтах. О втором аспекте ты можешь почитать в статье «Тотальная слежка в интернете — как за тобой следят и как положить этому конец», а здесь мы сосредоточимся на первом.

Определиться с кругом основных подозреваемых нам помогла статистика OpenStat. Мы отобрали самые популярные в России браузеры, выделив из них версии для настольных компьютеров с Windows. Самыми распространенными оказались Google Chrome (его доля составляет почти половину), «Яндекс.Браузер», назойливо устанавливающийся за компанию с другими программами, Mozilla Firefox и Opera.

В список OpenStat входит и браузер Apple Safari, но его версия для Windows перестала обновляться в 2012 году и почти не используется. Предустановленный же в Windows 10 браузер Edge едва набрал полтора процента поклонников, но именно от него мы больше всего ожидали проявлений «шпионской активности». От Edge и его старшего брата Internet Explorer, популярность которого всегда оказывается завышенной благодаря умению разных программ идентифицировать себя как IE.

Рейтинг популярности браузеров
Рейтинг популярности браузеров

Оценивали «шпионское» поведение браузеров в несколько этапов. Сначала мы скачивали последние версии дистрибутивов с официальных сайтов, устанавливали их в чистых ОС и запускали с настройками по умолчанию. Затем меняли начальную страницу на пустую и повторяли эксперимент. На финальном этапе устраивали час сидения в засаде, во время которого браузер просто был открыт с пустой страничкой (about:blank) и не должен был выполнять никаких сетевых запросов, кроме проверок доступности собственных обновлений.

Все тесты проводились в виртуальных машинах. Нам пришлось использовать как Windows 10, так и старую Windows XP для того, чтобы отсеять весь фоновый трафик. Как ты можешь помнить из статьи, где мы подобным образом исследовали Windows 10, эта ОС сама очень пристально следит за пользователем и отсылает на серверы Microsoft все данные, которые технически может собрать. В этом потоке трафика активность браузера просто теряется, потому что Edge (и, как выяснилось, не только он) умеет отсылать часть запросов от имени системных процессов, используя их в качестве посредников. Поэтому простые средства (например, установка веб-прокси и фильтрация трафика по именам процессов) не гарантировали возможность отловить весь интересующий нас трафик.

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

Львиная доля трафика отправляется браузерами в зашифрованном виде. Поэтому при помощи MakeCert мы сгенерировали и установили в систему левый сертификат безопасности, благодаря которому расшифровали весь перехваченный HTTPS-трафик.

В отдельных случаях потребовалось использовать утилиту AppContainer Loopback Exemption, чтобы обойти встроенную в Windows 10 технологию изоляции приложений и гарантированно перехватывать трафик средствами Fiddler. В первую очередь это было необходимо сделать для Edge и Internet Explorer.

Перенаправляем трафик Edge на локальный прокси в обход защиты Windows
Перенаправляем трафик Edge на локальный прокси в обход защиты Windows

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

Перечисленные программы уже стали стандартом де-факто для выполнения тестов. Однако работу программ ограничивает операционная система. Браузеры Internet Explorer и Edge так тесно интегрированы в Windows 10, что могут использовать ее компоненты для отправки данных обходными путями. Поэтому для гарантии того, что ни один пакет не ушел незамеченным, мы дополнительно использовали аппаратный сниффер.

Промежуточный роутер как сниффер
Промежуточный роутер как сниффер

Им стал портативный роутер TP-Link MR3040 v. 2.5, который мы перепрошили последней версией OpenWrt и подключили «в разрыв», выбрав режим WISP. Весь трафик от тестовых систем шел через него. Роутер показывал все сетевые соединения в реальном времени и вел подробный лог.

Все соединения в реальном времени (фрагмент списка)
Все соединения в реальном времени (фрагмент списка)
 

Узаконенная слежка

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

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

Google знает обо всех контактах, адресах своих пользователей и их состоянии здоровья. Microsoft — еще и почерк идентифицирует по «образцам рукописного ввода». Бесплатные антивирусы (да и многие платные тоже) вообще могут законно отправить своим разработчикам любой файл в качестве подозрительного. Браузеры на этом фоне выглядят не шпионами, а относительно безобидными вуайеристами. Однако и от их подглядываний могут быть ощутимые последствия. Посмотрим, что и куда они отправляют.

 

Google Chrome

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

Подключения Chrome при запуске браузера
Подключения Chrome при запуске браузера

Одна из подсетей находится в России и обслуживается провайдером «Ростелеком».

Chrome всегда соединяется с этими IP-адресами
Chrome всегда соединяется с этими IP-адресами

В подсеть 173.194.44.0/24 браузер отправляет сведения о своей версии, версии ОС и недавней сетевой активности пользователя. Если ее не было (первый запуск Google Chrome), то в логе появляется запись «No recent network activity».

Chrome отправляет лог своей активности
Chrome отправляет лог своей активности

В подсеть 46.61.155.0/24 отправляется запрос сертификата для проверки подлинности сайта Google.com и десятков его зеркал (включая сайты сбора статистики *.gstatic.com, google-analytics.com и другие). По ходу дальнейшей работы браузера с ними периодически устанавливаются отдельные соединения.

Если ты авторизовался в Google через браузер, то дополнительный трафик пойдет в подсеть 74.125.232.0/24 и на серверы с адресами вида http://clients#.google.com, где # — порядковый номер пула. Аналогичные соединения Chrome устанавливает и с подсетью 46.61.155.0/24 — вероятно, чтобы распределить нагрузку.

При открытии новой вкладки Chrome всегда устанавливал соединения с серверами из тех же самых подсетей.

Подключения Chrome при создании новой вкладки
Подключения Chrome при создании новой вкладки

При этом браузер генерирует уникальный идентификатор вида X-Client-Data: CJC2yPGIprbJAQjBtskBCK2KygEIwcdKAQj6nMoBCKmdygE=, а сайт google.ru дополнительно использует куки с идентификатором NID=. Все открытые в одном браузере вкладки получают общий идентификатор X-Client-Data.

Время от времени Chrome устанавливал подключение к серверу storage.mds.yandex.net, однако в нашем тесте, кроме пустых пакетов с заголовком connection keep alive, на него ничего не отправлялось. Остальной трафик, не связанный с действиями пользователя в Chrome, был обусловлен работой антифишинговой системы Google SafeBrowsing и проверкой доступности обновлений.

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


11 комментарий

Подпишитесь на ][, чтобы участвовать в обсуждении

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

Check Also

Windows 10 против шифровальщиков. Как устроена защита в обновленной Windows 10

Этой осенью Windows 10 обновилась до версии 1709 с кодовым названием Fall Creators Update …