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