Что такое трекеры в браузере

Обновлено: 04.07.2024

Когда вы выходите в интернет или используете приложение, множество компаний спокойно отслеживают каждое ваше действие. Некоторые, такие как Newrelic, достаточно невинны, они отслеживают ошибки пользователей и чтобы быстрее на них реагировать. Но другие, такие как Facebook Audience Network, собирают огромное количество данных как с ваших собственных устройств, так и с устройств в вашей сети.

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

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


Статья переведена при поддержке компании EDISON Software, которая разрабатывает приложения и сайты, а также инвестирует в стартапы.

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

Я использую AdGuard более года, и разница поразительна: и Twitter, и Instagram постоянно предлагают мне не релевантную рекламу нездоровой пищи, а не обычную целевую рекламу. Совершенно очевидно, что у них нет хороших данных для работы. Более того, веб-сайты, которые я загружаю дома, не имеют баннерной рекламы: серый пробел заполняет пространство, где они должны быть.

image

Самым большим недостатком сетевого блокировщика рекламы является его настройка. Если у вас есть Raspberry Pi, AdGuard необходимо установить с помощью командной строки, прежде чем он отобразит удобный веб-интерфейс со статистикой и конфигурацией. Затем, как только сервер запущен, вам нужно обновить DNS сервер вашего маршрутизатора с того, на который настроена ваша интернет-компания, на IP адрес вашего Raspberry Pi, чтобы он мог перехватывать запросы независимо от того, какое устройство вы используете.

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

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

image

В моей собственной сети самые частые нарушители меня удивили: Adguard за неделю заблокировал сотни тысяч попыток медиаплеера Roku подключиться к серверам компании — скорей всего он пытался посылать данные о моих привычках при просмотре видео. Службы треккинга Netflix и Facebook также были очень активными.

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

image

Некоторые VPN-сервисы — это просто скрытые способы сбора других данных от вас, но Adguard и Weblock обрабатывают эти данные на вашем телефоне, а не в облаке. Apple, однако, расправилась с этими вариантами, сделав ограниченный выбор на iOS.

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

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

Владелец трекера может использовать эту информацию по-разному:

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

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

Примеры недобросовестного использования

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

Мы считаем недобросовестное использование данных трекерами нарушением вашей приватности. Чтобы защитить ее, Яндекс.Браузер разработал специальную технологию YTP, входящую в систему активной защиты Protect.

Что такое YTP?

В основе YTP лежит простое правило — запускать трекеры разрешено только сайтам, которые вы уже посещали. Только эти сайты могут передавать от сайта к сайту ваши данные, показывать вам релевантные рекламные объявления и использовать другие возможности кросс-сайтового взаимодействия. Если вы не посещали сайт в течение 45 дней, то браузер начинает блокировать его трекеры.

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

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

Кроме того, технология YTP позволяет вам посмотреть, какие именно трекеры работают на странице, и заблокировать те из них, которым вы не доверяете.

Блокировка трекеров для отдельного сайта

При загрузке страницы в Умной строке отображается значок  с числом заблокированных трекеров:

Справа от трекера нажмите   → Отозвать разрешение .

Трекер будет заблокирован до следующего посещения сайта, которому он принадлежит.

Справа от трекера нажмите   → Заблокировать навсегда .

Трекер будет заблокирован до момента, когда вы сами отмените блокировку.

Если сайт не работает

Некоторые сайты не могут нормально функционировать без использования сторонних cookie. Если\nсайт сломался, попробуйте полностью отключить блокировку трекеров:

В блоке Блокировка отслеживаний нажмите ссылку  Сайт не работает? В открывшемся окне нажмите кнопку Разрешить файлы cookie .

Чтобы включить защиту от трекеров обратно:

Если вы не нашли информацию в Справке или у вас возникает проблема в работе Яндекс.Браузера, опишите все свои действия по шагам. По возможности сделайте скриншот. Это поможет специалистам службы поддержки быстрее разобраться в ситуации.

Примечание. Для решения проблем в работе сервисов Яндекса обращайтесь в службу поддержки этих сервисов: О проблемах Яндекс.Браузера на компьютере пишите прямо из браузера: &nbsp;→ Дополнительно &nbsp;→ Сообщить о проблеме или через форму. О проблемах в работе приложения Яндекс&nbsp;— с Алисой пишите через форму. Если вопрос касается главной страницы Яндекса (изменить тему оформления, настроить блоки главной страницы или иконки сервисов и т.&nbsp;д.), пишите через форму. Выберите опцию Вопрос о главной странице Яндекса . По вопросам работы Почты (отключить рекламу, настроить сбор писем с других ящиков, восстановить удаленные письма, найти письма, попавшие в спам и т.&nbsp;д.) пишите через форму. По вопросам работы Поиска и выдачи (ранжирование сайта в результатах поиска, некорректные результаты поиска и т.&nbsp;д.) пишите через форму. ","lang":>,"extra_meta":[>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>],"title":"Блокировка трекеров - Яндекс.Браузер для смартфонов с Android. Справка","productName":"Яндекс.Браузер для смартфонов с Android","extra_js":[[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>],[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>],[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>]],"extra_css":[[],[,"mods":,"__func69":true,"__func68":true,"bem":false,"tag":"link","attrs":>],[,"mods":,"__func69":true,"__func68":true,"bem":false,"tag":"link","attrs":>]],"csp":<"script-src":[]>,"lang":"ru">>>'>

Что такое трекеры?

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

Владелец трекера может использовать эту информацию по-разному:

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

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

Примеры недобросовестного использования

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

Мы считаем недобросовестное использование данных трекерами нарушением вашей приватности. Чтобы защитить ее, Яндекс.Браузер разработал специальную технологию YTP, входящую в систему активной защиты Protect.

Что такое YTP?

В основе YTP лежит простое правило — запускать трекеры разрешено только сайтам, которые вы уже посещали. Только эти сайты могут передавать от сайта к сайту ваши данные, показывать вам релевантные рекламные объявления и использовать другие возможности кросс-сайтового взаимодействия. Если вы не посещали сайт в течение 45 дней, то браузер начинает блокировать его трекеры.

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

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

Кроме того, технология YTP позволяет вам посмотреть, какие именно трекеры работают на странице, и заблокировать те из них, которым вы не доверяете.

Блокировка трекеров для отдельного сайта


При загрузке страницы в Умной строке отображается значок с числом заблокированных трекеров:


Нажмите значок в Умной строке.


Справа от трекера нажмите → Отозвать разрешение .

Трекер будет заблокирован до следующего посещения сайта, которому он принадлежит.


Нажмите значок в Умной строке.


Справа от трекера нажмите → Заблокировать навсегда .

Трекер будет заблокирован до момента, когда вы сами отмените блокировку.


Нажмите значок в Умной строке.


Справа от трекера нажмите → Разблокировать .

Если сайт не работает

Некоторые сайты не могут нормально функционировать без использования сторонних cookie. Если сайт сломался, попробуйте полностью отключить блокировку трекеров:


Нажмите значок в Умной строке. В блоке Блокировка отслеживаний нажмите ссылку Сайт не работает? В открывшемся окне нажмите кнопку Разрешить файлы cookie .

Чтобы включить защиту от трекеров обратно:


Нажмите значок в Умной строке.

Если вы не нашли информацию в Справке или у вас возникает проблема в работе Яндекс.Браузера, опишите все свои действия по шагам. По возможности сделайте скриншот. Это поможет специалистам службы поддержки быстрее разобраться в ситуации.

Примечание. Для решения проблем в работе сервисов Яндекса обращайтесь в службу поддержки этих сервисов:


О проблемах Яндекс.Браузера на компьютере пишите прямо из браузера: → Дополнительно → Сообщить о проблеме или через форму.

Мы недавно опубликовали исследование «Конфиденциальность и вопросы безопасности в Веб 3.0» на сайте arXiv, и хотим вкратце описать наши выводы и рассказать, что они значат для пользователей Brave.

Децентрализованные финансы (DeFi) напоминают финансовый Дикий Запад: новые сайты появляются и исчезают каждый день, люди зарабатывают и теряют огромные деньги, а гарантии безопасности и вообще какой бы то ни было осмысленный контроль за происходящим отсутствуют. Какую роль безопасность и конфиденциальность играют во всём этом? Мы решили разобраться.

Трекеры повсюду

Мы начали с того, что собрали список из 78 сайтов, занимающихся децентрализованными финансами (DeFi), включая топ-50 по общей стоимости заблокированных активов (TVL), и написали краулер, который анализировал безопасность и конфиденциальность этих сайтов (полный список в конце поста).

Мы обнаружили, что, несмотря на их легковесные фронтэнды, некоторые DeFi-сайты пользуются сторонними скриптами и иногда даже передают им ваш Ethereum-адрес (в основном для API и провайдеров аналитики). Особенно опасной проблемой является передача вашего Ethereum-адреса Гуглу, так как он уже знает информацию, по которой может идентифицировать вас лично, а потому может соотнести её с вашим Ethereum-адресом, что может дать ему возможность узнать вашу историю транзакций в блокчейне. Гуглу, как рекламному монстру, выгодно монетизировать эту информацию.

Ещё мы обнаружили, что многие сайты включают сторонние скрипты, что всегда является угрозой безопасности, но эта угроза особенно сильна для DeFi, так как речь идёт о финансах, а сторонние скрипты могут обмануть пользователя (например, используя фишинг), инициировав мошенническую транзакцию, а манипулируя DOM DeFi-сайта повысить вероятность того, что пользователь примет эту мошенническую транзакцию. Из исследованных нами 78 DeFi-сайтов 48 (66%) содержали как минимум один сторонний скрипт (всего мы насчитали 34 провайдера внешних скриптов). Как и ожидалось, следы Гугла были повсюду: 41 DeFi-сайт (56%) содержал как минимум один скрипт, предоставленный Гуглом.

Детально ознакомиться с полученными данными можно в таблице под этим постом.

Что это значит для пользователей Brave?

Пользователи Brave защищены от присутствия Гугла на DeFi-сайтах, так как Brave блокирует Google Analytics по умолчанию. Это значит, что Гугл не узнает, какие DeFi-сайты вы посещаете, равно как и ваш Ethereum-адрес — по крайней мере, посредством скриптов. Это же касается и других трекеров (например, от Hotjar или Facebook), которые мы обнаружили на некоторых DeFi-сайтах.

Контрмеры

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

В рамках нашего проекта мы написали патч для MetaMask (мы выбрали именно его из-за его популярности), который доказывает принципиальную возможность именно этого. После того, как вы нажимаете на кнопку «подключить кошелёк», патч заменяет «реальный» Ethereum-адрес пользователя детерминированным и адаптированным под конкретный сайт адресом, который вычисляется на основе вашего реального адреса (если вам интересны детали, обратитесь к секции 5 оригинальной статьи).

Ваш реальный Ethereum-адрес может быть 0x123…def, но наш патч заставляет Uniswap видеть 0x321…789, а Compound, например, 0xabc…987. Это сильно мешает (хоть и не делает полностью невозможным!) DeFi-сайтам и третьим сторонам узнать ваш настоящий Ethereum-адрес или связать ваши действия в браузере с вашими действиями на DeFi-сайте.

Чтобы схема взлетела, её нужно доработать напильником. Например, если мы передадим подложные адреса DeFi-сайту, то он будет показывать неверные балансы, а транзакции будут невалидны. Наш патч обходит эту проблему, прозрачно заменяя балансы кошельков и Ethereum-адреса, что позволяет DeFi-сайтам нормально работать. Проиллюстрируем это картинкой: пользователь заходит на example.finance, и расширение MetaMask передаёт сайту производный Ethereum-адрес, но при этом показывает корректный баланс. Наш патч переписывает транзакции так, что они содержат настоящий Ethereum-адрес до того, как быть записанными в блокчейн.


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

Выводы

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

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

Приложение

Таблица ниже показывает подмножество из 53 DeFi-сайтов, которые включают в себя как минимум один внешний скрипт (второй столбец) или передают Ethereum-адрес как минимум одной третьей стороне (третий столбец). Данные были собраны 27 августа 2021 года. Обратите внимание, что эти цифры являются нижней границей возможной передачи информации, так как мы могли не заметить какие-нибудь утечки.

Многие пользователи сталкиваются с отслеживанием в интернете повседневно. Одним из самых явных и крупных следствий является таргетированная реклама. Любой, кто хоть раз имел дело с такими гигантами как, например, Google AdWords, знает насколько обширны настройки целевой аудитории, доступные рекламодателю.


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

Как происходит отслеживание пользователей

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


Есть только один способ избежать идентификацию в целях таргетированной рекламы — перехватить обращение к стороннему сервису.

Идентификация трекеров

Для идентификации трекера можно использовать существующие списки доменов (disconnectme). При отправке пакетов с устройства проверять адрес назначения, и блокировать пакеты если они должны были попасть на трекер.

Есть сложные решения (Pi-hole и другие), но нам преимущественно интересны Android и iOS.

Фильтрация трафика на Android

Один из способов – конвертировать доменные имена трекеров в IP-адреса и блокировать их с помощью iptables. Принципиальная проблема такого подхода – необходимость root-прав для выполнения, так как Android не дает прав на модификацию параметров брандмауэра. Но есть способ обойти это ограничение без root.

Если выделить весь трафик в отдельный виртуальный слой позволяющий фильтрацию на уровне приложения. Такой способ существует. С помощью VpnService можно создать локальный VPN, посредством которого можно фильтровать трафик по необходимым параметрам. Для реализации мы можем создать три очереди: сеть-устройство, устройство-сеть-tcp, устройство-сеть-udp. Сырой входящий/исходящий трафик записывается в очереди. Посредством четырех объектов TcpIn, TcpOut, UdpIn, UdpOut обрабатывать пакеты, в том числе утилизируя не проходящие проверку. Пример реализации можно посмотреть на Github (LocalVPN).

Фильтрация трафика на iOS

Для фильтрации трафика будем использовать NetworkExtension.
Как и на Android, ОС не дает нам прямого доступа к настройке брандмауэра. Но при этом есть возможность задать фильтр для сетевого контента из коробки посредством NEFilterControlProvider и NEFilterDataProvider. Мы данный вариант рассматривать не будем, так как Content Filter Providers работают только в контролируемом (supervised) режиме, из-за чего публикация такого приложения в AppStore становится невозможной. Если же такой подход интересен можно рассмотреть пример рабочего приложения на Github (sift-ios, FilterControlProvider, FilterDataProvider).

Для нашего решения мы также будем использовать локальный VPN. В NetworkExtension есть три варианта работы с VPN.

Personal VPN. Использует только встроенные протоколы. Нам это не подходит, так как необходим пользовательский протокол.

App Proxy Provider. Используется для создания пользовательского потокоориентированного VPN протокола. Для нас важна фильтрация отдельных пакетов, что приводит нас к.
Packet Tunnel Provider. Используется для создания пользовательского пакетоориентированного VPN протокола. Мы будем использовать именно его.

Проблема приватности, при использовании удаленного VPN

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

Несколько слов в заключение

Сегодня мы рассмотрели способы реализации фильтров трафика для ОС Android и iOS. Рассмотрели самый не ограничивающий способ – локальный VPN и основы его реализации с примерами готовых продуктов и примеров. Для этого мы воспользовались возможностью создания пользовательских протоколов VPN. С их помощью мы с прикладного уровня получили доступ к сетевому, что позволило нам применить фильтр к входящим/исходящим пакетам. Фильтр мы основываем на черных списках доменов трекеров, доступных в сети интернет.

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