В статья известный в определенных кругах Ховав Шакам И Китон Мауэри с 2012 года был описан новый на тот момент метод создание идентификатора браузера и системы непосредственно из JavaScript — Отпечатки пальцев на холсте.
Метод позволил отличить, среди прочего, оборудование.
Статья
Суть метода в том, что на разных системах в разных браузерах текст (и не только текст) отображается по-разному, так как за это отвечает множество разных компонентов на разных уровнях, которые могут иметь разные настройки компонентов на базовом уровне.
- Просто могут быть разные (с другим набором символов, с немного другими глифами, с разными лигатурами и кернингом.
) шрифты.
- Разные параметры вызова библиотечных функций в разных браузерах.
- Различные версии libfreetype и другие библиотеки рендеринга.
- Разные реализации в ОС и разные настройки ОС (например, разные версии ClearType и разные разрешения экрана).
- Различные графические драйверы.
- Различное графическое оборудование.
Также рассматривается использование ВебГЛ : 3D-сцены в разных системах отображаются по-разному.
В статье рекомендовалось использовать чисто программный рендеринг, без использования компонентов ОС и другого программного обеспечения, установленного на ПК, шумоподавления и других приемов защиты.
Проект Tor исправил возможность создания отпечатков пальцев, запросив разрешение на getImageData и заменив случайные шрифты запасным шрифтом (поэтому мы проводим измерения 10 раз).
Дефект по конструкции Существуют и другие API, предоставляющие информацию.
Например, API измерения текста.
Если текст отображается по-другому, то и размеры должны немного отличаться.
Давайте проверим эту гипотезу с помощью API мератекст для того же холста и API getBoundingClientRect из ДОМ.
Клонировать репозиторий , запустите последнюю (или не последнюю) версию на своем компьютере TBB , откройте в нем HTML-файл из репозитория, напишите результат в комментариях, а еще лучше сделайте пиар .
Вы также можете пойти в скрипка или в полноэкранный режим .
В принципе, можно было бы и не делать хешей, это дало бы больше возможностей для интеллектуального анализа данных, но даже в сжатом виде полный набор информации о каждом шрифте занимает много места.
Поэтому обойдемся хешами.
Тот, кто хочет копнуть глубже, может раскомментировать несколько строк в исходнике.
Результаты
Различные браузеры
Для начала давайте запустим стабильную и ночную версии Firefox. Firefox 35.0 и Firefox Nightly 37.0a1 @ Windows 8.1 Теги: #JavaScript #HTML #информационная безопасность #анонимность #Tor #отпечатки пальцев #canvas #конфиденциальность #конфиденциальность #атаки #отпечатки пальцев #деанонимизация #информационная безопасность-
Купите Квадрокоптер И Попрощайтесь С Ним
19 Oct, 24 -
Выпуск Firefox 30
19 Oct, 24 -
Локализация Rc (C++, Mfc, Win32)
19 Oct, 24