Аппаратные отпечатки: Canvas
Последнее изменение:
Canvas - это API HTML5, которые используются для прорисовки 2D графики и анимации на веб-странице.
Помимо своего реального назначения, Canvas может также быть использован как дополнительная энтропия при снятии браузерных отпечатков. Согласно проведенному в 2016 году, Принстонским университетом исследованию (авторами которого являются Steven Englehardt и Arvind Narayanan), было доказано, что более 5% веб-сайтов используют Canvas для получения браузерных отпечатков.
В целом, получение отпечатков Canvas работает таким образом, что браузер запрашивает прорисовку скрытого Canvas изображения. Данное изображение будет слегка отличаться на разных ПК, но будет схожим если ПК идентичны. После прорисовки изображения, полученный результат конвертируется в хеш, который в дальнейшем применяется для идентификации устройства. Более детальное описание механизма получения Canvas отпечатков вы можете прочитать в блоге .
Вы можете проверить, какую информацию о canvas могут собирать сайты, на browserleaks.com.
Режимы canvas
Индиго позволяет вам контролировать Canvas отпечаток вашего браузера, предоставляя три различных режима: Добавить шум, Выключить и Блокировать.
Режим "Добавить шум"
Когда веб-сайт запрашивает данные Canvas функции из вашего браузера, режим "Добавить шум" перехватывает этот запрос и добавляет случайный, но постоянный шум к данным. Для лучшего понимания, приведём аналогию с модификатором голоса. Когда вы используете модификатор голоса, происходит изменение голоса, что делает его кардинально отличимым от первоначального, но изменённый голос всегда постоянный.
Поскольку добавляется случайный шум к данным, веб-сайт при использовании статистического анализа может заметить, что отпечаток уникальный на 100%.
Режим "Выключить" (по умолчанию)
В случае если маскировка Canvas установлена на режим "Выключить", веб-сайты могут видеть реальный Canvas хеш вашего ПК.
Установка режима "Выключить" может быть выгодна в тех случаях, когда веб-сайты плохо реагируют на 100% уникальный или блокированный Canvas.
На заметку! В реальном мире хеш Canvas отпечатка не уникален, поскольку по всему миру существует множество копий вашего ПК. В связи с этим, при раскрытии вашего Canvas отпечатка, вы просто сливаетесь с сегментом пользователей, у которых схожее железо. Более того, при подмене отпечатков вы повышаете энтропию, что приводит к тому, что ваши профили слишком выделяются из общего дистрибутива, привлекая внимание веб-сайтов.
Один из способов снизить уникальность и сделать отпечатки профилей неотличимыми от самых обычных и распространенных комбинаций — использовать Indigo на Mac-устройствах. Поскольку сборка Mac-устройств одинаковая, то и отпечатки Canvas практически идентичны (в большинстве случаев у одинаковых моделей мак-устройств одинаковые хеши Canvas).
Режим "Блокировать"
Режим "Блокировать" полностью отключает возможность веб-сайтам читать Canvas. Когда веб-сайт запросит прорисовку Canvas изображения у браузера, в котором Canvas установлен на "Блокировать", полученное значение будет пустым.
Как веб-сайт среагирует на данную ситуацию, полностью зависит от предусмотрительности самого веб-сайта. Однако, данная ситуация может возникнуть и не только с пользователями, которые тщательно пытаются скрыть свой Canvas отпечаток, но и в случаях, когда возникает ошибка на стороне браузера во время получения данных Canvas объекта.
Использование браузерных профилей на нескольких устройствах
Важно! Если вы создали браузерный профиль с Canvas установленным на "Добавить шум" и открываете его на разных ПК, с разным железом, веб-сайт увидит на своей стороне, что Canvas хеш не постоянен между запусками.
Добавляемый шум постоянный, но он добавляется как фильтр поверх существующего отпечатка ПК. Поэтому, если ПК сменился, то итоговое значение тоже меняется.
Хеш Canvas с добавленным шумом не постоянен
Ниже приведён пример. Один браузерный профиль открыт на двух разных ПК. Несмотря на то, что шум постоянный в данном профиле, результаты Canvas отпечатка отличаются.
Как получить постоянный отпечаток Canvas на нескольких устройствах?
Если вам нужны идентичные и не изменяемые отпечатки Canvas для безопасной работы с браузерным профилем на нескольких устройствах, можете попробовать следующие решения:
- Запускайте Indigo на идентично настроенных виртуальных машинах (VM) или же на VPS, с Canvas установленным на "Добавить шум". Поскольку данные машины будут настроены одинаково, подменённый Canvas отпечаток будет постоянным на нескольких устройствах.
- Запускайте Indigo на идентичных моделях ПК, с одинаковым железом, драйверами и ОС. Поскольку данные ПК будут иметь одинаковое железо, подменённые отпечатки будут постоянными между запусками сессий.
- Запускайте Indigo на схожих Mac компьютерах. Присутствует аналогичная логика, что в пункте номер 2, но использование Mac устройств позволяет эффективнее "слиться с пользователями в сети". Поскольку Mac устройства очень схожи по железу, их Canvas отпечатки не только очень похожи друг на друга, но и большинстве случаев хеш Canvas будет идентичным для Mac устройств одной модели.