Понимание фингерпринта браузера

Фнгерпринтинг браузера - это систематический сбор информации о веб-браузере, позволяющий сделать обоснованные предположения о его идентичности или характеристиках. Настройки и функции каждого браузера создают "фингерпринт" браузера. Большинство браузеров непреднамеренно создают уникальный фингерпринт для каждого пользователя, который можно отследить по всему интернету. Более подробную информацию об фингерпринтинге браузера можно найти в этих статьях в блоге Tor: "Browser Fingerprinting: An Introduction and the Challenges Ahead" и Tor Browser: a legacy of advancing private browsing innovation.

Почему "фингерпринтинг" браузеров угрожают конфиденциальности в Интернете?

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

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

Как браузер Tor защищает от фингерпринтинга

Браузер Tor специально разработан для минимизации уникальности фингерпринтов каждого пользователя по различным параметрам. Хотя практически невозможно сделать всех пользователей браузера Tor одинаковыми, цель состоит в том, чтобы уменьшить количество различимых групп для каждой метрики. Такой подход затрудняет эффективное отслеживание отдельных пользователей.

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

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

Функции защиты от фингерпринтинга в браузере Tor

Letterboxing

Чтобы предотвратить фингерпринтинг на основе размеров экрана, Tor Browser начинает работу с окном, округленным до размера, кратного 200px x 100px. Стратегия заключается в том, чтобы объединить всех пользователей в несколько групп, чтобы их было сложнее выделить. Это работает до тех пор, пока пользователи не начинают изменять размеры своих окон (например, увеличивая их или переходя в полноэкранный режим). Браузер Tor поставляется с защитой от фингерпринтинга и для этих сценариев, эта защита называется Letterboxing, она разработана Mozilla и представленна в 2019 году. Он работает путем добавления полей к окну браузера, чтобы окно было как можно ближе к желаемому размеру, в то время как пользователи все еще находятся в нескольких группах размеров экрана, что не позволяет выделить их с помощью размеров экрана.

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

letterboxing

User-Agent and Operating System spoofing

The User-Agent string is a value websites can use to identify details about your browser, operating system (OS), CPU architecture, vendor, and version. Since this information can reveal which OS or device a user is using, it has been a vector for browser fingerprinting, allowing websites or trackers to potentially single out users.

Tor Browser addresses this by spoofing the User-Agent. Users cannot choose a specific operating system or attempt to imitate every possible platform. Instead, Tor Browser standardizes User-Agent values to reduce uniqueness and avoid creating a false sense of privacy:

  • All Windows appear as Windows 10.
  • All macOS appear as OS X 10.15.
  • All Android as Android 10.
  • All other systems like all Linux distributions (including Tails and Qubes), *BSD and other operating systems are grouped together and reported as "Linux running X11".
  • All the other details (such as the architecture) are also normalized per-platform.

In this case, the fingerprint resistance strategy in Tor Browser is to protect real values of the User-Agent by spoofing, but also have a large enough user set.

User-Agent is sent to websites as an HTTP header, and it is available to JavaScript as navigator.userAgent. Inconsistencies in these values can trigger anti-bot and anti-fraud systems into categorizing Tor users as a bot, and deny their requests, which in turn affects usability for Tor Browser users.

Some privacy tools or users suggest that making all users appear as Windows would offer the best cover. However, perfectly spoofing across all browser contexts is not possible and active fingerprinting methods (using fonts, features, behavior, with or without JavaScript, etc.) can often be used to infer aspects of the hardware or operating system.

Tor Browser does not let users select which OS they appear to be. This is intentional: any option to choose would only make users more unique and thus easier to fingerprint. The small set of standardized options is key to keeping users blended together, maximizing privacy for everyone.

Другие функции защиты от фингерпринтинга

Помимо letterboxing, в браузере Tor реализовано множество других функций, позволяющих снизить вероятность фингерпринтинга браузера и защитить конфиденциальность пользователя. These features include Canvas image extraction blocking, NoScript integration, and first-party isolation. Полный список возможностей можно найти в документе "Документ о проектировании и разработке браузера Tor".