Перейти к содержимому

Сравнение

Согласие частей одного отпечатка

Площадка редко читает одно значение. Она читает несколько разом и спрашивает, могут ли они принадлежать одной машине, поэтому одно подменённое показание слышно сильнее, чем отсутствие подмены.

Что площадка читает разом

Отпечаток это не один ответ, а набор ответов. Площадка спрашивает не о том, какое значение редкое, а о том, складываются ли эти значения в одну машину.

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

Пары обязаны сходиться

  • Видеокарта и архитектура

    Карта, которую ставят к одному семейству процессоров, рядом с подсказкой архитектуры другого.

  • Экран и плотность пикселей

    Перемножьте одно на другое: должна получиться панель, которую кто-то и правда делает.

  • Задержка и вид связи

    Браузер выводит вид связи из задержки, поэтому спорящая пара пришла со стороны.

  • Заявленная память и предел кучи

    Предел, который читает страница, браузер считает от памяти, о которой сообщила машина.

Откуда берётся набор

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

Части подобраны друг под друга, а не поодиночке. Ядра и память профиль берёт у того семейства, к которому принадлежит его видеокарта, а у телефонного профиля экран, коэффициент, карта и шрифты приходят от одного аппарата.

Значения по правилам самого браузера

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

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

  • Время отклика и скорость

    Огрублены и срезаны так, как это делает сам движок, а не так, как выглядит правдоподобно.

  • Вид связи

    Профиль выводит его из задержки, а не тянет жребием: настоящий браузер делает так же.

Восемь способов по одной оси

Таблица читается как границы работы, а не как оценка. Способ не становится хуже оттого, что не трогает того, чего не обещал.

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

Что меняется в показанияхКто держит части в согласииГде такой набор спорит сам с собой
Обычный браузер как естьНичегоСама машинаНигде: это одна честная машина
Режим инкогнитоНичего в показаниях устройстваСама машинаНигде в устройстве
Отдельные профили того же браузераНичего в показаниях устройстваСама машинаНигде в устройстве
Расширение, подменяющее значения в страницеСвойства из его собственного спискаТот, кто писал этот списокТам, где ту же вещь читают второй дорогой
VPNТолько адрес выходаНикто: устройство не тронутоМежду страной выхода и часами машины
Виртуальная машина на аккаунтВся гостевая системаСама гостевая системаВнутри гостя они сходятся, а гость это одна машина на все свои аккаунты
Отдельное железо на аккаунтНичего: это вторая машинаСама машинаНигде
Браузер с правкой самого движкаВесь набор, выведенный из номера профиляГенератор собирает устройство как одну машинуПроверяется связями, а не значениями

Чтение обратно в браузере

Согласие на бумаге это ещё не согласие в окне. Каждое значение мы читаем обратно в настоящем профиле, в том числе из невидимого кадра и из фонового потока, и без этого сборка к вам не выходит.

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

Экран «Движок» в ARMANOS: выбор между «Встроенным движком» и установленным ARMANOS Browser, рядом номера версий и путь к найденному файлу
Профили стартуют на том движке, который отмечен здесь, и значения читают обратно с него же.

Чего это сравнение не утверждает

  • Не утверждает, что согласованное устройство сохранит аккаунт. Поведение, платёжные данные и история аккаунта читаются тоже, и их не трогает ни один браузер.
  • Не описывает ни одного названного изделия. Здесь сравниваются способы работы, а мерить чужую сборку мы не берёмся.
  • Не утверждает, что знает проверки каждой площадки. Этого никто не печатает, а пары выше просто те, которые браузер обязан держать в согласии сам.
  • Не каждое показание отвечает сегодня изнутри движка. Чего сборка не объявила, то по-прежнему поправляется из страницы.
  • Числа приёмки сняты на одной сборке и одной машине. Другая сборка и другая машина дадут другие строки.

Как это проверить

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

Всё устройство выводится из номера профиля, и части тянутся друг за другом
packages/shared/src/index.js
Согласие проверяется прогоном генератора по сотням профилей, а не чтением исходника
apps/desktop/test/fingerprint-consistency.js
Каждое значение читается обратно в запущенном браузере, в том числе из кадра и из потока
apps/desktop/src/lib/fpAudit.js · apps/desktop/test/audit-on-builtin.js · apps/desktop/test/fingerprint-realms.js
Отчёт приёмки собранного движка хранит и ожидаемое, и прочитанное
engine/приёмка-отчёт.json

Вопросы

Почему одно подменённое значение бывает хуже, чем ни одного?
Потому что подмена обязана сойтись со всем, чего не тронули. Значение, которого настоящий браузер не отдаёт, или вторая дорога к той же картинке, спорящая с первой, это уже ответ, а не догадка.
Получит ли профиль новое устройство после обновления?
Нет. Профиль остаётся в том поколении, в котором заведён, а более широкий набор машин предлагается новым профилям.
Что происходит со значением, выбранным рукой?
Оно сильнее жребия. Значение, которое выбранному шаблону не принадлежит, программа отбросит и назовёт вам отброшенное, а не оставит на экране закрепление, которое уже не работает.
Можно ли сперва посмотреть свои значения?
Да. Проверка на этом сайте снимает 12 показаний прямо в вашем браузере и никуда их не отправляет.

Сперва прочтите свои значения

Проверка снимает 12 показаний в вашем браузере и никуда их не отправляет.