TL;DR

Мы внедряем новый мощный элемент защиты конфиденциальности пользователей — несвязываемую переадресацию. Она защищает ваш переход на небезопасный (или подозрительный) сайт, направляя запрос через новое временное хранилище (куки, localStorage, и т. д.). Это не позволяет сайту идентифицировать вас, связав этот визит с предыдущими, и при этом позволяет сайту функционировать ожидаемым образом. Это временное хранилище удаляется, как только вы покидаете подозрительный сайт, что не даёт ему заново идентифицировать вас при следующих посещениях. По сути, каждое посещение становится уникальным первым посещением сайта, что анонимизирует вас. 

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

Что такое переадресующий трекинг?

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

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

Как несвязываемая переадресация защищает от переадресующего трекинга

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

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

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

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

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

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

Как работает несвязываемая переадресация?

Она работает следующим образом:

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

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

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

  4. Вскоре после того, как вы покинете сайт, подозреваемый в переадресующем трекинге (то есть у вас не осталось ни одной открытой вкладки для этого сайта) временное хранилище очищается, что не позволит сайту заново идентифицировать вас, когда вы в следующий раз попадётесь на глаза трекеру.

Основные эфемерные хранилища: как мы будем развивать несвязываемую переадресацию

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

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

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

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

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


  1. azhinu
    15.04.2022 19:34

    А не поломает ли это различные сложные сайты? Вроде PWA приложений.


    1. BraveSoftware Автор
      15.04.2022 19:36

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


  1. olku
    15.04.2022 22:03

    Проверим. В свежеустановленной 1.37.116 Chromium: 100.0.4896.127 (Official Build) (64-bit) в brave://settings/shields ставим:

    • Trackers & ads blocking: Agressive

    • Cookie blocking: All

    • Fingerprinting blocking: Strict

    Закрываем приложение. Тест:

    • открываем браузер, создаем таб

    • идем на https://test.noleaks.eu/ - все Visits по 1

    • жмем F5 - Etag и Redirect по 2

    • удаляем таб, закрываем браузер

    • снова открываем браузер, создаем таб

    • идем на https://test.noleaks.eu/ - Etag и Redirect по 3

    Заявленной анонимизации не видно, CNAME-Cloaking tracking между test.noleaks.eu и tracker.noleaks.eu не блокируется. Что упускаю?


    1. BraveSoftware Автор
      15.04.2022 22:54

      Ваша проверка, к сожалению, не имеет ничего общего с описанным в статье.

      1.  CNAME-Cloaking tracking это вообще другой механизм

      2. Сайт-трекер определяется по спискам, noleaks.eu не вижу в списках.

      3. Если вы включили агрессивный режим, то переход на сайт-трекер будет заблокирован промежуточной страницей. Добавьте ||noleaks.eu^ в поле на странице brave://adblock и увидите (в агрессивном режиме)

      4. Защита срабатывает при переходе куда-то через следящий сайт. А не при установке кук самим сайтом

      5. Этот сайт вообще непонятно что проверяет, потому что идентификаторы, который он сохраняет принадлежат самому сайту. Они даже не кросс-сайтовые, т.е. в них нет криминала. Вас же не смущает что на music.yandex.ru есть кука от passport.yandex.ru? :)


      1. olku
        15.04.2022 23:17
        +1

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


        1. BraveSoftware Автор
          15.04.2022 23:21

          CNAME-cloaking мы режем (см статью https://brave.com/privacy-updates/6-cname-trickery/), но тестовый сайт тоже не про то.


    1. BraveSoftware Автор
      15.04.2022 23:11

      Правильный тест будет похож на https://dev-pages.bravesoftware.com/navigation-tracking/debouncing.html, только немного по-другому.

      1. Нужна ссылка на черепашки.рф, которая по факту ведет на трекер, который будет редиректить на черепашек

      2. Трекер должен быть в списках. Трекер должен выставлять куку или localStorage

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

      4. Профит