Что такое трекер в браузере андроид
Мы недавно опубликовали исследование «Конфиденциальность и вопросы безопасности в Веб 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 года. Обратите внимание, что эти цифры являются нижней границей возможной передачи информации, так как мы могли не заметить какие-нибудь утечки.
Файлы cookie бывают собственными и сторонними (трекеры).
— это небольшие текстовые файлы, в которые браузер записывает данные с посещенных вами сайтов. Файлы cookie позволяют сайтам «запоминать» своих посетителей, например, чтобы каждый раз не переспрашивать их логин и пароль.
С помощью трекеров владелец сайта оценивает, сколько читателей его посещает, из каких регионов, с каких устройств. Эти данные позволят ему оптимизировать сайт под нужды аудитории.
Трекеры позволяют использовать на нескольких сайтах общий логин или виджет соцсети. Например, вы можете зарегистрироваться на Яндексе под теми же логином и паролем, что и Вконтакте. И войдя на сайт Яндекса, вы будете автоматически авторизовываться на всех его сервисах.
Трекеры от сайтов, которые вы посещали самостоятельно (например, социальные сети), с большой вероятностью используются добросовестно.
Примеры недобросовестного использования
Недобросовестные владельцы трекеров могут передавать и перепродавать сторонним компаниям введенные на сайте личные данные, такие как номер телефона или адрес электронной почты. В результате вы можете получать письма с нежелательной рекламой или раздражающие звонки от рекламодателей, которым не оставляли свой телефон.
Мы считаем недобросовестное использование данных трекерами нарушением вашей приватности. Чтобы защитить ее, мы разработали для Яндекс Браузера специальную технологию YTP, входящую в систему активной защиты Protect.
Что такое YTP
Технология Your Tracking Protection (YTP) ограничивает работу трекеров и позволяет вам выбирать, каким ресурсам доверять данные.
В основе YTP лежит простое правило: запускать трекеры разрешено только сайтам, которые вы посещали. Лишь они могут передавать друг другу ваши данные и показывать вам релевантные рекламные объявления. Если вы не заходили на сайт 45 дней, то Браузер начинает блокировать его трекеры.
Благодаря рекламе владельцы интернет-сайтов получают доход, а вам не приходится платить за просмотр сайтов. Яндекс ищет баланс между бесплатностью сервисов и ненавязчивой рекламой.
Таким образом, для вас интернет остается удобным (например, вы можете использовать общий логин для нескольких сайтов), а сайты могут поддерживать свое существование, не раздражая посетителей нерелевантной рекламой.
Кроме того, технология YTP позволяет посмотреть, какие трекеры работают на странице, и заблокировать те, которым вы не доверяете.
Блокировка трекеров на сайте
При загрузке страницы в Умной строке отображается значок с числом заблокированных трекеров:
Трекер будет заблокирован до следующего посещения сайта, которому он принадлежит.
Файлы cookie бывают собственными и сторонними (трекеры).
— это небольшие текстовые файлы, в которые браузер записывает данные с посещенных вами сайтов. Файлы cookie позволяют сайтам «запоминать» своих посетителей, например, чтобы каждый раз не переспрашивать их логин и пароль.
С помощью трекеров владелец сайта оценивает, сколько читателей его посещает, из каких регионов, с каких устройств. Эти данные позволят ему оптимизировать сайт под нужды аудитории.
Трекеры позволяют использовать на нескольких сайтах общий логин или виджет соцсети. Например, вы можете зарегистрироваться на Яндексе под теми же логином и паролем, что и Вконтакте. И войдя на сайт Яндекса, вы будете автоматически авторизовываться на всех его сервисах.
Трекеры от сайтов, которые вы посещали самостоятельно (например, социальные сети), с большой вероятностью используются добросовестно.
Примеры недобросовестного использования
Недобросовестные владельцы трекеров могут передавать и перепродавать сторонним компаниям введенные на сайте личные данные, такие как номер телефона или адрес электронной почты. В результате вы можете получать письма с нежелательной рекламой или раздражающие звонки от рекламодателей, которым не оставляли свой телефон.
Мы считаем недобросовестное использование данных трекерами нарушением вашей приватности. Чтобы защитить ее, мы разработали для Яндекс Браузера специальную технологию YTP, входящую в систему активной защиты Protect.
Что такое YTP
Технология Your Tracking Protection (YTP) ограничивает работу трекеров и позволяет вам выбирать, каким ресурсам доверять данные.
В основе YTP лежит простое правило: запускать трекеры разрешено только сайтам, которые вы посещали. Лишь они могут передавать друг другу ваши данные и показывать вам релевантные рекламные объявления. Если вы не заходили на сайт 45 дней, то Браузер начинает блокировать его трекеры.
Благодаря рекламе владельцы интернет-сайтов получают доход, а вам не приходится платить за просмотр сайтов. Яндекс ищет баланс между бесплатностью сервисов и ненавязчивой рекламой.
Таким образом, для вас интернет остается удобным (например, вы можете использовать общий логин для нескольких сайтов), а сайты могут поддерживать свое существование, не раздражая посетителей нерелевантной рекламой.
Кроме того, технология YTP позволяет посмотреть, какие трекеры работают на странице, и заблокировать те, которым вы не доверяете.
Блокировка трекеров на сайте
При загрузке страницы в Умной строке отображается значок с числом заблокированных трекеров:
Трекер будет заблокирован до следующего посещения сайта, которому он принадлежит.
Многие пользователи сталкиваются с отслеживанием в интернете повседневно. Одним из самых явных и крупных следствий является таргетированная реклама. Любой, кто хоть раз имел дело с такими гигантами как, например, 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. С их помощью мы с прикладного уровня получили доступ к сетевому, что позволило нам применить фильтр к входящим/исходящим пакетам. Фильтр мы основываем на черных списках доменов трекеров, доступных в сети интернет.
Вы когда-нибудь искали продукт и сталкивались с рекламой того же самого продукта на совершенно независимом веб-сайте?
Это пример того, как компании отслеживают вас в интернете и таргетированную рекламу в действии.
Таргетированная реклама — это то место, где рекламные сети отслеживают ваши действия в интернете.
Затем эти сети могут использовать эту информацию для нацеливания на вас очень конкретной персонализированной рекламы.
Таргетированная реклама в интернете начинает казаться слишком целевой?
Есть способы помешать этим сетям шпионить за каждым вашим шагом!
Здесь мы покажем вам, как заблокировать межсайтовое отслеживание в Safari, Chrome, Mozilla Firefox и Opera.
Что такое межсайтовое отслеживание?
Межсайтовое отслеживание — это организации, отслеживающие ваши перемещения по множеству веб-сайтов.
Затем эти сети могут использовать эти данные для создания профиля пользователя, который обычно включает все продукты, которые вы недавно просматривали в интернете.
Вот почему вы можете просмотреть продукт на одном веб-сайте, а затем встретить рекламу этого же продукта на совершенно другом веб-сайте.
Если вы начинаете чувствовать, что за вами наблюдают, вы можете предпринять шаги, чтобы уменьшить межсайтовое отслеживание.
В зависимости от вашего выбора веб-браузера и веб-сайтов, которые вы посещаете, эти методы могут не блокировать каждую рекламную сеть.
Однако они ограничивают объем информации, к которой имеют доступ эти рекламные сети, что может только положительно повлиять на вашу конфиденциальность в интернете.
Узнайте, кто именно вас отслеживает, с помощью отчета о конфиденциальности Safari
Браузер Apple Safari дает вам возможность заблокировать межсайтовое отслеживание.
Он также имеет «Отчет о конфиденциальности», в котором отображаются все сайты и агентства, которые собирают информацию о вас.
Прежде чем блокировать эти трекеры, вы можете узнать, какие именно сайты отслеживают вас в интернете и собирают информацию о вас.
Вооружившись этой информацией, вы можете решить, что межсайтовое отслеживание не является большой проблемой для ваших конкретных привычек просмотра, или вы можете решить полностью избегать определенных веб-сайтов.
Чтобы получить доступ к отчету о конфиденциальности Safari:
- Запустите веб-браузер Safari,
- На панели инструментов выберите «Safari — Отчет о конфиденциальности»,
- Выберите вкладку «Сайты». Это отобразит информацию обо всех веб-сайтах, которые профилируют вас,
- Выберите вкладку «Трекеры». Это отображает список всех трекеров, которые собирают информацию о вас. Сюда входят компании, создавшие эти трекеры и количество раз, когда Safari обнаруживал эти трекеры во время ваших сеансов просмотра.
Вы также можете проверить, насколько навязчивым является тот или иной веб-сайт, перейдя на соответствующий веб-сайт и выбрав значок щита, который появляется рядом с адресной строкой Safari.
Затем вы можете выбрать «Трекеры на этой веб-странице», и Safari отобразит список всех трекеров, которые активны на этой конкретной веб-странице.
После просмотра всех веб-сайтов и агентств, которые отслеживают вас, если вы хотите заблокировать эти трекеры:
- На панели инструментов Safari выберите «Safari — Настройки…»,
- Выберите вкладку «Конфиденциальность»,
- Установите следующий флажок: «Предотвратить межсайтовое отслеживание».
Safari теперь не позволит этим трекерам следить за вами во всемирной паутине.
Блокируйте трекеры с расширением Chrome Ghostery
Когда вы просматриваете веб-страницы, Chrome может отправлять веб-сайтам запрос не собирать и не отслеживать данные о ваших просмотрах.
Важно отметить, что это запрос, поэтому нет гарантии, что каждый веб-сайт выполнит его.
К сожалению, Chrome не предоставляет информацию о веб-сайтах, которые отслеживают вас в интернете.
Тем не менее, мы по-прежнему рекомендуем включить эту функцию, поскольку она может помочь минимизировать количество веб-сайтов, отслеживающих ваши перемещения в интернете:
- В правом верхнем углу Chrome выберите трехточечный значок меню, затем «Настройки»,
- В меню слева выберите «Конфиденциальность и безопасность»,
- Нажмите «Файлы cookie и другие данные сайта»,
- Найдите ползунок «Не отслеживать» и переведите его в положение «Вкл.».
Теперь Chrome будет отправлять запрос «Не отслеживать» на каждый посещаемый вами веб-сайт.
Поскольку это всего лишь запрос, вы можете предпринять дополнительные шаги для защиты своей конфиденциальности в интернете.
Ghostery — это расширение Chrome, которое позволяет просматривать и блокировать онлайн-трекеры.
После установки Ghostery вы можете просмотреть все трекеры, которые активны на определенном сайте:
- Перейдите на нужный сайт,
- Щелкните значок «Расширения» на панели инструментов Chrome,
- Выберите «Ghostery», чтобы увидеть список всех трекеров, обнаруженных этим расширением,
- Вы можете заблокировать все эти трекеры, выбрав вкладку «Подробно» и нажав «Ограничить сайт».
Повторите этот процесс для каждого сайта, который вы посещаете, и вы заметите значительное сокращение количества целевых объявлений.
Включите улучшенную защиту от отслеживания Mozilla Firefox
Firefox имеет функцию улучшенной защиты от отслеживания, которая может блокировать все межсайтовые трекеры, определенные функцией Disconnect.
Эта функция также может сохранить вашу конфиденциальность в интернете, блокируя трекеры социальных сетей, отпечатки пальцев и криптомайнеры, что делает ее отличным универсальным средством для пользователей интернета, заботящихся о безопасности.
Расширенная защита от отслеживания должна быть включена по умолчанию.
Однако вы можете проверить, активен ли он для вашей конкретной установки Firefox, перейдя на любой веб-сайт.
Если Enhanced Tracking Protection не включена, мы рекомендуем активировать ее:
- В правом верхнем углу Firefox выберите трехстрочный значок, затем «Настройки»,
- В меню слева выберите «Конфиденциальность и безопасность»,
- Теперь вы можете выбрать «Стандартный» или «Строгий». Обратите внимание, что «Строгий» может повлиять на функциональность определенных веб-сайтов, поэтому рекомендуется выбрать «Стандартный», если вам специально не требуется более высокий уровень защиты.
Подобно Chrome, Firefox может отправлять запрос «Не отслеживать».
Пока вы находитесь в меню «Конфиденциальность и безопасность», вы можете рассмотреть возможность активации функции Mozilla «Do Not Track».
Opera: как блокировать трекеры и делать исключения
Когда вы впервые установили Opera, у вас была возможность заблокировать трекеры.
Если вы не воспользовались предложением Opera тогда, вы можете начать блокировать трекеры сейчас:
- В левой части браузера Opera щелкните значок шестеренки. Это открывает настройки Opera,
- В меню слева выберите «Основные»,
- Найдите ползунок «Блокировать трекеры» и переведите его в положение «Вкл.»,
- Блокировка трекеров может повлиять на работу определенных веб-сайтов. Если вы начали замечать странное поведение на определенном веб-сайте, вы можете добавить этот сайт в свой список «Исключения». Разрешив этому сайту использовать трекеры, вы сможете решить любые возникающие у вас проблемы.
Чтобы сделать исключение для одного или нескольких веб-сайтов:
- Запустите настройки Opera, щелкнув маленький значок шестеренки,
- Перейдите к «Основные — Управление исключениями»,
- Нажмите «Добавить» и введите адрес сайта, на котором вы хотите разрешить трекеры.
Добавьте и повторите для всех сайтов, которые вы хотите добавить в список исключений.
И в заключении
Никто не любит чувствовать, что за ним наблюдают!
Теперь, когда вы знаете, кто отслеживает вас в интернете, вы можете приступить к этим действиям.
Вы также можете переключиться на эти ориентированные на конфиденциальность браузеры, чтобы защитить свою конфиденциальность.
Читайте также: