Отпечатки пальцев браузера: основы и варианты защиты

Отпечатки пальцев браузера отличаются не только своей уникальностью, но и 80-процентной успешностью при распознавании веб-пользователей — и это без использования cookies… По этой причине маркетологи и владельцы веб-сайтов все чаще прибегают к отслеживанию браузера, чтобы использовать результаты для оптимизации сайта или разработки целевой рекламы.

Содержание
  1. Что такое отпечатки пальцев браузера?
  2. Как отслеживаются пассивные цифровые отпечатки пальцев?
  3. Низкое использование IP и номеров портов для отпечатков браузера
  4. Данные заголовка HTTP предоставляют соответствующую информацию
  5. Как работает «отпечаток пальца» браузера?
  6. Активный отпечаток браузера с помощью элементов JavaScript
  7. Извлекаемая информация о браузере
  8. Отслеживаемая информация об экране
  9. Определение часовых поясов и системных цветов 
  10. Активные отпечатки пальцев браузера: проверка применяемых плагинов
  11. Adobe Shockwave Flash
  12. Microsoft Silverlight
  13. Проверка всех установленных плагинов и поддерживаемых форматов файлов
  14. Определение установленных шрифтов с помощью Flash-приложений
  15. Статус входа в систему для социальных сетей с помощью элемента HTML DOM
  16. Тест отпечатков пальцев: как проверить отпечаток пальца вашего браузера
  17. Как можно предотвратить «отпечатки пальцев» браузеров?

Что такое отпечатки пальцев браузера?

Для того чтобы получить доступ к содержимому сервера, вам необходимо клиентское программное обеспечение. Именно так можно получить доступ к почтовому клиенту и получить сообщения с почтового сервера. Доступ к веб-серверам осуществляется с помощью популярных веб-браузеров, таких как Mozilla Firefox, Safari или Google Chrome. Используя протокол HTTP, эти приложения запрашивают данные с веб-сайтов, а затем отображают их в удобном для пользователя виде. Передача содержимого происходит через IP-пакеты, которые содержат информацию о клиенте (в дополнение к данным пользователя) и могут быть использованы на стороне сервера для определения отпечатков браузера.

В основном существует два типа «отпечатков пальцев» браузера:

  • Пассивный фингерпринтинг: так называемый пассивный фингерпринтинг — это сбор информации о браузере без использования специального приложения. Эта информация по умолчанию часто содержится в данных заголовка IP-пакета. Она всегда достигает веб-сервера. Она может включать IP-адрес, используемый порт и тип браузера. Однако основные настройки, такие как желаемые типы данных (HTML, XHTML, XML), наборы символов (например, UTF-8) или языки (обычно язык браузера или операционной системы), также включаются. В некоторых случаях HTTP-заголовок также содержит информацию об операционной системе и используемой исходной странице.
  • Активный фингерпринтинг: при активном фингерпринтинге браузер специально запрашивает информацию, которая не предоставляется автоматически при обращении к веб-ресурсу. Этот запрос может осуществляться с помощью приложений JavaScript или плагинов, расширяющих функциональность браузера (особенно Adobe Flash и Microsoft Silverlight). Помимо прочего, это позволяет получить от браузера дополнительную информацию, в том числе сведения об операционной системе, а также данные об экране пользователя (ширина, высота, разрешение). Дополнительная информация включает в себя установленные шрифты или часовой пояс, в котором находится пользователь.

Как отслеживаются пассивные цифровые отпечатки пальцев?

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

Низкое использование IP и номеров портов для отпечатков браузера

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

1. Динамическое распределение адресов: при подключении к Интернету ваш провайдер доступа не получает фиксированный и постоянный IP-адрес. Он каждый раз получает новый, динамический IP-адрес из пула доступных адресов. Конкретный IP-адрес может быть выделен только одному устройству на определенный период времени. Только пользователь и его провайдер знают, когда устройство получает новый интернет-адрес.

2. Трансляция сетевых адресов (NAT): еще более проблематично, когда используется NAT. При этом методе несколько устройств подключаются к Интернету под общим, публичным IP-адресом, который используется многими пользователями. Он используется, например, маршрутизаторами, объединяющими частные дома в локальную сеть, а также провайдерами, контролирующими технологии, в частности, сектор мобильной радиосвязи. Благодаря этому мобильные устройства двух разных пользователей имеют один и тот же IP-адрес.

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

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

Данные заголовка HTTP предоставляют соответствующую информацию

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

  • ‘Referer’: когда пользователь переходит на сайт A с сайта B, URL сайта A передается в качестве referrer на сервер сайта B. Некоторые пользователи могут попасть на сайт назначения с определенного сайта-источника, что также полезно для создания отпечатков пальцев, как и GET-параметры, содержащиеся в URL.
  • ‘User agent’: с каждым HTTP-запросом соответствующий клиент обычно также предоставляет описание себя в поле ‘user agent’. Помимо имени и номера версии, заголовок HTTP также предоставляет место для комментария, в котором многие браузеры указывают базовую платформу или операционную систему.
  • ‘Accept’: используя поле accept, браузер сообщает серверу, какие типы содержимого он может обрабатывать и, следовательно, какие форматы вывода он предпочитает. В дополнение к HTML требуются XHTML (расширяемый язык разметки гипертекста) и XML (расширяемый язык разметки). Если поле отсутствует, это означает, что клиент поддерживает все типы содержимого.
  • ‘Accept-Charset’: в дополнение к формату вывода клиент может определить желаемый набор символов, который будет использоваться сервером в ответе. В основном это UTF-8 и стандарт ISO/IEC 8859-1.
  • ‘Accept-Encoding’: чтобы оптимизировать время загрузки веб-проекта, обычно перед отправкой веб-содержимое сжимается. Затем браузер должен распаковать сжатые данные, чтобы отобразить их. Поле ‘accept-encoding’ сообщает обратившемуся серверу, какой формат сжатия он поддерживает. Список возможных процедур, созданный IANA, включает gzip, deflate, exi и br.
  • ‘Accept-Language’: используя HTTP-запись ‘accept-language’, клиенты сообщают, какую языковую версию они предпочитают. Если этот язык доступен для сайта, к которому осуществляется доступ, веб-сервер предоставит его. Язык зависит от языка браузера или используемой операционной системы. Некоторые браузеры также позволяют указать другие языки в настройках.

Как работает «отпечаток пальца» браузера?

Активный fingerprinting, как следует из названия, требует от оператора веб-проекта активного запроса информации о клиенте. Запрашиваемые свойства и данные — это характеристики, которые не содержатся в заголовочных данных клиентских пакетов. Поскольку приложения должны выполняться через браузер, пользователь теоретически может в любой момент проверить отпечатки пальцев, проанализировав исходящие пакеты данных или исходный код HTML или JavaScript. Однако в большинстве случаев этот процесс остается скрытым для посетителей, как и другие сопоставимые методы отслеживания.

Активный отпечаток браузера с помощью элементов JavaScript

Для беспрепятственного и быстрого обмена данными между клиентом и сервером принято реализовывать активный фингерпринтинг браузера с помощью элементов AJAX (Asynchronous JavaScript and XML). Эта техника позволяет посетителям взаимодействовать с веб-сайтом без необходимости его полной перезагрузки при каждом HTTP-запросе. Для этого в фоновом режиме загружаются только запрашиваемые ресурсы, в то время как пользователь может видеть и использовать все остальные элементы. Информацию, которую можно получить с помощью соответствующих скриптов, можно разделить на две категории: информация о браузере и информация об экране. Кроме того, отпечаток браузера может быть расширен с помощью JavaScript и включать информацию о часовом поясе и настроенных цветах системы.

Извлекаемая информация о браузере

Свойства, извлекаемые через браузер пользователя, аналогичны свойствам, получаемым при пассивном дактилоскопировании. Отслеживание осуществляется с помощью объекта navigator, который является возможным свойством для объектов Window — другими словами, окна, которое открывается в браузере. Несмотря на то, что объект navigator не имеет общепринятого значения по умолчанию, он поддерживается всеми популярными браузерами. Он передает веб-серверу следующую информацию:

  • navigator.appName: передает имя браузера, например, ‘Opera’ или ‘Netscape’.
  • navigator.appVersion: информирует сервер о версии браузера и, в некоторых случаях, об операционной системе или даже типе процессора. Например, возможной записью может быть ‘5.0 (Windows)’.
  • navigator.cookieEnabled: используйте свойство cookieEnabled, чтобы проверить, поддерживает ли браузер cookies («true») или пользователь отключил их («false»).
  • navigator.language: это свойство используется для определения языка браузера. Оно поддерживается всеми популярными браузерами (Internet Explorer версии 11.0 и выше, Firefox версии 1.0 и выше) и примерно соответствует HTTP-записи ‘accept language’. Примеры допустимых кодов: ‘en’ и ‘en-US’.
  • navigator.platform: указывает используемую платформу. Возможные значения: Win32, MacIntel, Linux i686, iPhone, Android и SunOS.
  • navigator.userAgent: при активном отпечатке браузера можно увидеть подробный идентификатор браузера. Свойство userAgent не отличается от информации HTTP-заголовка и предоставляет такие значения, как имя, версия и платформа браузера в кратком изложении. Следующий пример показывает возможную сводку: «Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0».

Отслеживаемая информация об экране

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

  • screen.width: значение указывает на общую ширину (в пикселях) экрана пользователя
  • screen.height: свойство ‘height’ сообщает серверу общую высоту (в пикселях) экрана пользователя
  • screen.availWidth: указывает фактическую ширину дисплея (в пикселях), доступную пользователю. Для этого из общего значения вычитается ширина элементов интерфейса, таких как панель задач Windows.
  • screen.availHeight: определяет фактическую доступную высоту дисплея (в пикселях), которая доступна пользователю. Как и в случае с доступной шириной, размеры элементов интерфейса вычитаются из общего значения
  • screen.colorDepth: свойство colorDepth сообщает веб-серверу глубину цвета (биты на пиксель), доступную пользователю для отображения изображений. ColorDepth эквивалентно свойству pixelDepth, которое также возвращает значение глубины цвета, но поддерживается не всеми браузерами.

Определение часовых поясов и системных цветов 

Часовой пояс пользователя можно определить с помощью метода JavaScript: getTimezoneOffset(). Строго говоря, это разница во времени между UTC (универсальным координированным временем) и местным временем в минутах. В качестве опорных значений используются настройки операционной системы. Простое диалоговое окно JavaScript, реализующее этот метод и представляющее разницу, выглядит следующим образом:

var d = new Date();
alert(d.getTimezoneOffset());

При отслеживании системных цветов необходимо обращаться к настройкам операционной системы. Однако для того, чтобы необходимая функция JavaScript getComputedStyle() записала оптику (выбранную пользователем) для оконных рамок, кнопок и т.д., она зависит от поддержки CSS (Cascading Style Sheets). Язык таблиц стилей позволяет создавать элементы сайта, которые автоматически принимают системные цветовые настройки посетителя. Вот выбор цвета для этих системных элементов в деталях:

  • Рамка активного окна (ActiveBorder)
  • Текст заголовка активного окна (ActiveCaption)
  • Фон рабочего стола (Background)
  • Текст на кнопках (ButtonText)
  • Граница 3D-элементов (ThreeDHighlight).

Затем веб-сервер получает соответствующие значения цветов или названия системных цветов и может использовать их при создании отпечатка.

Примечание

Также можно использовать CSS-свойство font-family для указания нескольких возможных шрифтов для отображения текстового блока. Вы можете добавить метод JavaScript для проверки того, какие из заданных шрифтов могут быть воспроизведены браузером, и тогда вы увидите, установлены ли соответствующие шрифты в системе пользователя или нет.

Активные отпечатки пальцев браузера: проверка применяемых плагинов

Интернет-браузеры были разработаны в первую очередь для отображения простых HTML-документов, включая отдельные изображения. Однако со временем требования к клиентским программам возросли, поскольку веб-проекты стали более сложными: наряду с медиаформатами, такими как аудио- и видеофайлы, появились интерактивные элементы. Для того чтобы браузеры могли воспроизводить различный контент, разработчикам пришлось расширить функциональность приложений. Это было сделано с помощью плагинов, которые и сегодня используются с той же целью. С помощью JavaScript установленные плагины можно использовать для определения «отпечатка пальца» браузера.

Adobe Shockwave Flash

Самым распространенным в мире плагином является Adobe Shockwave Flash, который необходим для воспроизведения Flash-анимации. Кроме того, Flash был самым распространенным видеоформатом во Всемирной паутине. Это означает, что расширение — включая Flash Player — является обязательным. Несмотря на то, что HTML5 сегодня является серьезной и более безопасной альтернативой для предоставления и воспроизведения видеоконтента, плагин все еще установлен в различных браузерах. Исключение составляют большинство стандартных браузеров на мобильных устройствах, которые не предлагают соответствующего расширения.

Однако сканирование после установки Adobe Flash (включая номер версии) является важным элементом в определении цифрового отпечатка браузера. Возможный сценарий, использующий команду ‘try…catch’, который можно использовать в любом месте веб-сайта, выглядит следующим образом:

try {
  var obj = new ActiveXObject(’ShockwaveFlash.ShockwaveFlash .6’);
  alert(new ActiveXObject(’ShockwaveFlash.ShockwaveFlash ’).
    GetVariable(’$version ’).replace (/D+/g, ’.’).match
    (/^.?(.+) ,?$/)[1]);
  } catch(e) {
try {

  if(navigator.mimeTypes["application/x-shockwave -flash"].enabledPlugin) {
    alert(( navigator.plugins["Shockwave Flash 2.0"] ||
    navigator.plugins["Shockwave Flash"]).description.
    replace (/D+/g, ".").match (/^.?(.+) ,?$/)[1]);
    }
  } catch(e) {}
}

На первом этапе приложение JavaScript пытается создать новый объект ActiveX (работает только в Internet Explorer), который определяет и в случае успеха пересылает номер версии. Если это не удалось, сценарий обращается к объекту mimetype, который подчинен уже указанному объекту navigator. Он также способен определить все поддерживаемые браузером форматы файлов и плагины воспроизведения (navigator.plugins). В соответствии с используемым здесь сценарием, при столкновении с Shockwave Flash или Shockwave Flash 2.0 происходит ответная реакция.

Microsoft Silverlight

Расширение Silverlight от Microsoft добавляет функции, аналогичные функциям Shockwave Flash. Плагин для поддержки интерактивных элементов в целом менее распространен, чем Adobe Flash, а также больше не поддерживается многими популярными браузерами. Это может оказаться очень ценным для отпечатка пальца браузера, поскольку браузер, в котором установлен этот плагин, четко отличается от многих других браузеров. В этом контексте, однако, можно использовать сценарий проверки отпечатков пальцев, состоящий из двух частей, который в данном случае пытается инстанцировать объект ActiveX и проверяет объект navigator.plugins в случае неудачи.

if (window.ActiveXObject) {
  try {
    var obj = new ActiveXObject(’AgControl.AgControl ’);
    var v = new Array(’ 5.1.50906.0 ’, ’5.1.50905.0 ’, ’5.1.50901.0 ’);
    var i = -1;
    var b = false;
    
    do {
      i++;
      b = obj.isVersionSupported(v[i]);
    } while (!b && i < v.length);

    if (b) {
      alert(v[i]);
    }
  } catch (e) {}
} else {
  var b = false;
  for (var i = 0; i < navigator.plugins.length; i++) {
    if (navigator.plugins[i].name.indexOf(’Silverlight ’) != -1)
    {
    alert(navigator.plugins[i].description);
    b = true;
    }
  }
}

Как упоминалось ранее, первая часть сценария пытается использовать объект ActiveX для проверки Microsoft Silverlight. Для этого три текущие версии (по состоянию на май 2017 года) плагина перечисляются в массиве ‘v’. Коллекция является основой для функции ‘isVersionSupported’, которая возвращает значение ‘true’ или ‘false’, в зависимости от того, поддерживает ли проверяемый клиент или нет. Если элементы ActiveX не поддерживаются, сценарий выполняет поиск в объекте navigator.plugins.

Проверка всех установленных плагинов и поддерживаемых форматов файлов

Два существующих сценария подходят для получения двух наиболее важных плагинов и являются единственным способом для пользователя Internet Explorer определить эти расширения. Однако для всех браузеров, поддерживающих объект navigator.plugins, существует другой способ добавить в отпечаток браузера не только информацию о Shockwave Flash и Microsoft Silverlight, но и обо всех установленных плагинах браузера — с помощью инструкции ‘try…catch’:

var a = new Array();

try {
  for (var i = 0; i < navigator.plugins.length; i++) {
    a.push(navigator.plugins[i].name + ’: ’ + navigator.plugins[i].description 
    + ’ (’ + navigator.plugins[i].filename +’)’);
  }
  alert (a.toString ());
} catch (e) {}

Подобъект навигатора ‘plugins’ сканируется с помощью этого сценария на наличие установленных плагинов, включая имя (‘name’), описание (‘description’) и имя файла (‘filename’).

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

var a = new Array();

try {
  for (var i = 0; i < navigator.mimeTypes.length; i++) {
    a.push(navigator.mimeTypes[i].type + ’: ’ + navigator.mimeTypes[i].description );
  }
  alert (a.toString ());
} catch (e) {}

Определение установленных шрифтов с помощью Flash-приложений

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

  • определение программного обеспечения, с помощью которого был установлен соответствующий шрифт (шрифты), например, Microsoft Office или Adobe Creative Cloud
  • определение программного обеспечения, с помощью которого был создан отдельный шрифт (например, личный почерк)
  • Выводы о предпочтениях и интересах пользователя-клиента, например, на основе партийных шрифтов, логотипов или тематических наборов символов.

Этот краткий список показывает, что подобные шрифты полезны не только для определения отпечатков пальцев, но и могут быть полезны для создания целевых рекламных кампаний. Конечно, чем больше известных установленных шрифтов, тем точнее будут результаты анализа. В то время как с помощью CSS можно определить только отдельные шрифты, Flash-приложение (.swf) и функция JavaScript receiveFonts() позволяют получить и перечислить весь арсенал шрифтов. Необходимый код для объекта Flash (ActionScript) выглядит следующим образом:

var user_fonts = TextField.getFontList();
getRL(’javascript:receiveFonts ("’ + escape(user_fonts) + ’")’,’_self ’);

Добавив этот код в область body, можно интегрировать в HTML-документ.

<object id="flashFont" name="flashFont" type="application/x-shockwave -flash" 
width="1" height="1" data="bfp.swf">
<param name="movie" value="bfp.swf" />
</object >

Статус входа в систему для социальных сетей с помощью элемента HTML DOM

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

Тип элемента имеет второстепенное значение, поскольку важнейшие компоненты, onload() и onerror(), могут использоваться в многочисленных компонентах HTML, таких как <img />, <frame /> или <script />. Они срабатывают, когда связанный ресурс загружается или не может быть загружен, при этом веб-сервер получает соответствующее уведомление. Например, элемент <img>, проверяющий статус входа в Twitter, создается с помощью следующей строки кода, но следует помнить, что URL может измениться в любой момент.

<img src="https://twitter.com/login?redirect_after_login =%2Fimages %2Fspinner.gif"
onload="alert(’Eingeloggt .’)"
onerror="alert(’Nicht eingeloggt .’)"
style="visibility:hidden" />

Тест отпечатков пальцев: как проверить отпечаток пальца вашего браузера

Это руководство показывает, какие широкие возможности отслеживания предоставляет хорошо продуманная система отпечатков пальцев браузера — и, следовательно, как быстро вас можно распознать и отследить как пользователя даже без cookies. Не сразу можно понять, насколько уникален «отпечаток пальца» вашего браузера. Существуют различные веб-инструменты, такие как AmIUnique или Panopticklick, которые позволяют проверить уникальность отпечатка вашего браузера одним щелчком мыши.

Например, если вы хотите проверить свой браузер с помощью AmIUnique, просто введите адрес amiunique.org и нажмите на кнопку «Посмотреть отпечаток моего браузера». Далее последует быстрая проверка вашего браузера, сравнение его с более чем 370 000 других браузеров (по состоянию на май 2017 года).

Примечание:

Поставщик услуг (Инженерная школа INSA Rennes) сообщил, что собирает только анонимные данные и сохраняет в браузере файл cookie, который действует в течение четырех месяцев. Это делается для того, чтобы можно было определить любые изменения, если вы решите повторить тест позже.

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

  • один и тот же тип браузера
  • одна и та же версия браузера
  • одна и та же операционная система
  • один и тот же язык браузера (основной язык)
  • и одинаковым назначенным часовым поясом.

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

Как можно предотвратить «отпечатки пальцев» браузеров?

Невозможно полностью предотвратить обнаружение цифрового отпечатка вашего интернет-браузера. В случае пассивного дактилоскопирования оператор веб-сервера получает характеристики, автоматически передаваемые в заголовке HTTP. Однако вы можете попытаться сделать так, чтобы значение распознавания вашего клиента было как можно меньше, чтобы отпечаток не был уникальным и не мог быть использован для отслеживания. Самое простое решение — использовать расширение браузера, которое автоматически блокирует активное содержимое, например, приложения JavaScript, Flash или Silverlight, которые не способны логически доставлять информацию на сервер.

Эти плагины, к которым относятся NoScript для Firefox или ScriptBlock для Chrome, также обеспечивают оптимальную защиту от постоянно растущего использования Canvas fingerprinting. Этот подтип отпечатков пальцев браузера пытается отследить клиента через использование элементов холста. Дело в том, что рендеринг текстов в этих элементах сильно варьируется в зависимости от операционной системы, браузера, видеокарты, драйверов и шрифтов.

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

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

Оцените статью
cdelat.ru
Добавить комментарий