Группа исследователей из Австралии, Франции и Израиля описала новый способ слежки за пользователями в сети. В его основе — не привычные признаки браузера, а особенности графического процессора. Техника получила название DrawnApart и, по словам авторов, «опознаёт устройство по уникальным свойствам его GPU».
Идея в том, что даже одинаковые с виду видеокарты не идентичны. Из-за особенностей производства вычислительные блоки внутри GPU работают с чуть разной скоростью. Эти отклонения стабильны и достаточно заметны, чтобы служить надёжной «подписью» устройства. Самое неприятное — снять такую подпись можно обычным JavaScript, без каких-либо привилегий.
Чем это отличается от привычного фингерпринтинга
Отпечаток устройства — это набор данных, которые удалённо собираются о железе, установленном софте, браузере и его расширениях, чтобы однозначно опознать машину. У такого подхода две стороны. С одной, алгоритм отпечатка помогает, например, банку распознать мошенничество и кражу личности. С другой — тот же механизм используют, чтобы годами вести историю посещений человека ради таргетированной рекламы. Особенно это актуально сейчас, когда контроль над сторонними cookie ужесточается.
Классический браузерный фингерпринтинг собирает отпечаток из множества мелочей: версия браузера, ОС, часовой пояс, экран, язык, список шрифтов и даже то, как браузер отрисовывает текст и графику. Но у него есть слабое место — со временем эти признаки меняются, и следить за пользователем долго становится трудно. Здесь и вступает в игру DrawnApart.
Это первый метод, который целенаправленно эксплуатирует именно производственные различия между идентичными GPU и надёжно отличает друг от друга машины с полностью одинаковой конфигурацией железа и софта.
Как работает DrawnApart
Система замеряет время, которое уходит на отрисовку разных графических примитивов через WebGL API. Каждый замер нагружает разные вычислительные блоки GPU. Полученная трасса-отпечаток затем подаётся на вход глубокой нейросети, которая и определяет конкретное устройство.
Проверку проводили на 2550 устройствах, собранных краудсорсингом: настольные машины с Windows 10, компьютеры Apple Mac mini и несколько поколений смартфонов Samsung Galaxy. В связке с современными алгоритмами связывания отпечатков вроде FP-STALKER метод DrawnApart увеличил медианный срок отслеживания с 17,5 до 28 дней.
Что с этим делать
Защита от такого способа есть, но каждая мера бьёт по удобству. Можно блокировать скрипты, отключить WebGL, ограничить каждую страницу одним вычислительным блоком или вовсе выключить аппаратное ускорение отрисовки. Последнее, предупреждают исследователи, способно серьёзно ухудшить отзывчивость и удобство работы.
Тревожит и другое. Развитие стандарта WebGPU — он уже доступен в canary-сборках Google Chrome и Mozilla Firefox — должно резко сократить время сбора отпечатка. Авторы делают вывод: влияние ускоренных вычислительных API на приватность стоит оценивать до того, как их включат для всех по умолчанию.
Источник: The Hacker News.