Учимся следить за браузером Vivaldi

Автор оригинала: Ингве Петтерсен, Эксперт по безопасности, Vivaldi Software
  • Перевод


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

Он запускает сканер сетевой активности и с ужасом смотрит на множество автоматических подключений браузера к серверам Vivaldi или даже Google.

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

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

Скорее всего, такие любознательные пользователи получают неверные результаты мониторинга активности браузера (в конце статьи вы найдёте инструкции, как получить максимально достоверные результаты).

На самом деле, несмотря на то, что в браузере Vivaldi используется тот же движок, что и в Chrome, а также задействуются некоторые функции и компоненты безопасности от Google, все детали вашей работы в браузере остаются приватными — скрытыми как от разработчиков Vivaldi, так и от владельцев сторонних сервисов. Vivaldi не собирает детальную статистику вашей активности в сети, и, в отличие от некоторых других браузеров, даже не имеет информации о том, какие функции браузера вы предпочитаете использовать в ежедневной работе.

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

Содержание


  1. Запросы на серверы Google
    а. Загружаемые компоненты
    б. Данные для SafeBrowsing
    в. Защита загрузок
    г. Проверка орфографии
    д. Прочая активность
  2. Запросы на серверы Vivaldi
    а. Статистика числа пользователей
    б. Обращение к базе нежелательной рекламы
    в. Проверка автообновлений
  3. Запросы, генерируемые пользователями
    а. Синхронизация
    б. Уведомления с веб-сайтов
    в. Установленные расширения
  4. Почему сканеры сетевой активности не показывают полноценной картины

Запросы на серверы Google


Загружаемые компоненты


Некоторые функции Vivaldi зависят от независимо разрабатываемых и обновляемых компонентов, предоставляемых разработчиками Chromium/Google. Данные компоненты можно посмотреть на специальной внутренней странице браузера Vivaldi:

vivaldi://components

Данные компоненты являются теми кирпичиками, из которых и строится браузер. Они позволяют основанным на Chromium браузерам расширять свою функциональность за счёт добавления новых функций из кодовой базы.

Наиболее важные из них — это Certificate Assistant и CRLset, повышающие безопасность работы в сети, а также модуль Widevine, отвечающий за воспроизведение защищённого DRM онлайнового видео (например, с Netflix).

Эти компоненты загружаются и устанавливаются в браузер сразу после первого запуска Vivaldi на вашем компьютере. Браузер проверит актуальность версий и установит самые свежие на данный момент.

Начальный запрос на загрузку отправляется на серверы update.googleapis.com и clients2.google.com, но в дальнейшем данные могут поступать через или с серверов вроде redirector.gvt1.com или даже r3---sn-8xouxav-vnas.gvt1.com.

Cookies: Нет
Контроль: ComponentUpdatesEnabled policy в vivaldi://policy
Описание в сети: cs.chromium.org/chromium/src/components/update_client/net/network_impl.cc?l=24&rcl=17b2adf184fb218b6096a359b8a06a92be6d22d7

Данные для SafeBrowsing


Компонент SafeBrowsing используется для защиты пользователей от вредоносных сайтов, предлагающих, к примеру, загрузить некое программное обеспечение с вирусами и прочей заразой. Компонент работает со чёрным списком, создаваемым и поддерживаемым в актуальном состоянии компанией Google, а Vivaldi несколько раз в день обращается к этому списку на сервере safebrowsing.google.com server.

Ранее SafeBrowsing работал с так называемым Bloom фильтром, но теперь используется более простая система.

Сейчас система работает путём создания хэша (криптографической контрольной суммы) URL-адреса веб-сайта (а также частей URL-адреса), который вы собираетесь посетить. Этот хэш очень сложно расшифровать, чтобы определить собственно код, использованный для шифрования, также возможно, что использовалось несколько различных кодов для создания этого хэша (но найти их также очень сложно, в этом и смысл контрольной суммы). Система использует небольшой отрезок хэша для поиска в основном списке, чтобы узнать, может ли быть запись в черном списке для хотя бы одной части URL. В случае положительного срабатывания, запрос отправляется для каждого из совпадений и сервер отвечает списком всех полноразмерных хэшей, которые соответствуют любому из префиксов.

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

Так как только честь хэша URL-адреса (или его части) отправляется на сервер SafeBrowsing, сервис не будет видеть полный адрес посещаемого вами веб-сайта или какой полный хэш с ним совпадает.

Cookies: Некоторые режимы требуют cookies, но с изолированного хранилища cookie, не используемого совместно с другими веб-сайтами
Контроль: chrome://settings/syncSetup
Описание в сети: cs.chromium.org/chromium/src/chrome/browser/safe_browsing/client_side_model_loader.cc?l=125&rcl=2b5ee7a019262c57d80b2740925a5226abe97bb4
cs.chromium.org/chromium/src/components/safe_browsing/db/v4_get_hash_protocol_manager.cc?l=305&rcl=17b2adf184fb218b6096a359b8a06a92be6d22d7
cs.chromium.org/chromium/src/components/safe_browsing/db/v4_update_protocol_manager.cc?l=312&rcl=17b2adf184fb218b6096a359b8a06a92be6d22d7

Отключено по умолчанию: загружаются только подозрительные URL-адреса
Контроль: «Помогать улучшить просмотр страниц и поиск» опция в chrome://settings/syncSetup
Описание в сети: cs.chromium.org/chromium/src/components/safe_browsing/realtime/url_lookup_service.cc?l=54

Защита загрузок


Когда вы загружаете, например, установщик для Windows, это может оказаться программа, опасная для вашего компьютера, троян или другое злонамеренное ПО. В целях защиты пользователей от подобных «подарков», код SafeBrowsing в Chromium и собственно браузер Vivaldi проверяют URL-адреса на отсутствие их в чёрном списке или наличие в белых списках загрузок. Если локально проверить безопасность загружаемого файла не получается, более детальная информация отправляется на сервер SafeBrowsing — URL-адрес загружаемого файла, реферальная ссылка, хэш загружаемого файла, любая имеющаяся сертификационная информация, а в ответ с сервера приходит решение — является данный файл безопасным или нет.

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

Эта же система используется и в Mozilla Firefox.

Cookies: Разрешены из изолированного хранилища SafeBrowsing (для подсчёта уникальных пользователей)
Контроль: Настройки SafeBrowsing в chrome://settings/syncSetup
Описание в сети: cs.chromium.org/chromium/src/chrome/browser/safe_browsing/download_protection/check_client_download_request_base.cc?l=568&rcl=17b2adf184fb218b6096a359b8a06a92be6d22d7

Проверка орфографии


Vivaldi использует систему проверки орфографии, унаследованную от Chromium. Когда вы вводите текст, данная функция помогает вам избежать опечаток. Данная система загружает словари из сети с серверов Google для локальной проверки вводимого текста, используя серверы redirector.gvt1.com.

Cookies: Нет
Контроль: chrome://settings/languages
Описание в сети: cs.chromium.org/chromium/src/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc?rcl=95bfa1651b4e2e843fa06ead8506e22f178c00f8&l=282

Прочая активность


Код Chromium может, при определённых условиях, проводить тестирование сети, чтобы проверить, не находится ли он в «захваченном портале», вроде общедоступного сетевого портала WiFi, для которого требуется вход в систему или клик для принятия EULA.

Cookies: Нет
Контроль: chrome://settings/languages
Описание в сети: cs.chromium.org/chromium/src/chrome/browser/captive_portal/captive_portal_service.cc?rcl=ee1c95127800309d94e5457d41983d326fda1fcf&l=252

Запросы на серверы Vivaldi


Статистика числа пользователей


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

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

Обращение к базе нежелательной рекламы


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

Проверка автообновлений


Версии Vivaldi для Windows и Mac постоянно проверяют наши серверы на наличие обновлений браузера. Опция отключается в настройках при желании.

Запросы, генерируемые пользователями


Синхронизация


Когда вы активируете встроенную в Vivaldi синхронизацию, вы входите в свою учётную запись на сайте сообщества Vivaldi используя сервер login.vivaldi.net, а собственно синхронизация осуществляется через сервер bifrost.vivaldi.com.

Уведомления с веб-сайтов


Когда вы разрешаете сайту (например, сайту новостей) отправлять вам уведомления, сайт устанавливает в вашем браузере небольшой скрипт, который указывает, откуда получать уведомления. Для этого есть несколько поставщиков услуг, и веб-сайт решает, какой из них использовать. Одним из них является система Google Cloud Messaging (GCM), размещённая на mtalk.google.com. Соответствующие внутренние URL-адреса для этой системы:

chrome://settings/content/notifications
chrome://settings/siteData
vivaldi://gcm-internals

Установленные расширения


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

Почему сканеры сетевой активности не показывают полноценной картины


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

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

Весьма маловероятно, что вы получите полный список серверов, размещённых на данном IP-адресе основных ферм, используемых Google, Amazon или Microsoft, или что он будет содержать имя сервера, к которому клиент фактически подключен.

Лучший способ узнать, к каким серверам подключается клиент — это прослушивать DNS-запросы и ответы. Это точно скажет вам, к каким серверам подключается ваш браузер.

Еще лучший способ увидеть, что происходит — использовать информацию, предоставленную Vivaldi. Запустите Vivaldi с аргументом --enable-logging=stderr --v=1. В результате будет создан пакет данных, сохранённых в файле chrome_debug.log в установочном каталоге User Data, и среди представленных данных будут строки со следующим текстом: NetworkDelegate::NotifyBeforeURLRequest:. Здесь будет указано, какие URL-адреса запрашивались браузером.

В заключение, ни один из автоматических сервисов не отправляет данные или статистику о вашей активности в Интернете в Vivaldi или Google.

Фото Luca Bravo на Unsplash.

Читать подробнее:

Vivaldi: Built using Chromium, but different from Chrome

Vivaldi’s powerful privacy settings

How a browser protects your privacy

What’s Vivaldi’s business model?

Автор оригинальной статьи: Ингве Петтерсен, Эксперт по безопасности, Vivaldi Software
  • +13
  • 7,8k
  • 7
Vivaldi Technologies AS
108,05
Vivaldi — браузер для наших друзей
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 7

    +1
    Хорошо, что есть UnGoogled-Chromium, который вообще никуда не стучится
      +1
      Хорошо, что есть UnGoogled-Chromium, который вообще никуда не стучится

      Да, хорошо. А мы стучимся. Но строго по делу.

      0
      Эти компоненты загружаются и устанавливаются в браузер сразу после первого запуска Vivaldi на вашем компьютере. Браузер проверит актуальность версий и установит самые свежие на данный момент.

      То есть в любой момент наши заокеанские "партнеры" вставят туда какой-нибудь зонд, а браузер послушно его скачает? Почему нельзя включить эти плагины в браузер? А DRM засунуть в песочницу или отключить до первого захода на netflix.


      Контроль: «Помогать улучшить просмотр страниц и поиск»

      Максимально непонятное название. Почему не "проверять адреса посещаемых сайтов через сервер Safebrowsing"?


      Защита загрузок

      Можно было бы встроить проверку через virustotal, но они наверно захотят денег (( Ну тогда можно предложить пользователю самому купить там аккаунт и после этого проверять.

        +1
        наши заокеанские «партнеры»

        Так Vivaldi же тоже «оттуда».
        +1

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

          +1
          Осталось тёмным пятном место о "простой предварительной обработке" рекламных списков.

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

          0
          Интересно было бы проанализировать так же и, скажем, Epic Browser или ungoogled-chromium.

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

          Самое читаемое