Группа исследователей из Франции, Израиля и Австралии нашла новый способ довольно точно идентифицировать каждого отдельного пользователя в интернете — это можно незаметно сделать с помощью графических процессоров. Новый способ получил название DrawnApart.
Исследователи решили рассмотреть возможность получения точных идентификаторов на основе графических процессоров, отслеживаемых с помощью WebGL — кроссплатформенного API для рендеринга 3D-графики в интернете, который является частью практически каждого современного браузера.
Используя эту библиотеку, система отслеживания DrawnApart может подсчитывать количество и скорость исполнительных блоков в графическом процессоре, измерять время, необходимое для завершения рендеринга вершин, обработки функций и многих других задач. Инструмент использует короткие программы GLSL на вершинных шейдерах, по времени обработки которых и определяется конфигурация GPU. Разработчики создали как метод с выводом на дисплей (onscreen) с выполнением небольшого числа операций с интенсивными вычислениями, так и без вывода (offscreen), который подвергает графический процессор более длительному и менее интенсивному тестированию.
В процессе генерируются «следы», состоящие из 176 измерений, сделанных в 16 точках, на основе чего и получается уникальный идентификатор. Что интересно, зависит он исключительно от GPU — замена CPU или других компонентов ПК не изменили «следы». И что наиболее важно, даже два одинаковых GPU от одного и того же производителя оставляют немного отличающиеся «следы», потому как в процессе производства они всё же получают небольшие отличия на уровне транзисторов. Эти отличия невозможно заметить в обычных повседневных операциях, но они могут стать полезными в контексте сложной системы отслеживания вроде DrawnApart, которая как раз нацелена на выявление таких отличий. Исследователи проверили свою систем на 2550 устройствах с 1605 различными процессорами.
DrawnApart пусть и не отличается стопроцентной точностью, но в сочетании с современными алгоритмами отслеживания способен увеличить среднюю продолжительность слежки за целевым пользователем примерно на 67 %, с 17,5 до 28 дней. Помимо этого, на DrawnApart не влияют загруженность системы и самого GPU, перезагрузки системы и другие изменения в ней во время работы.
Добавим также, что разрабатываемые сейчас API-интерфейсы GPU следующего поколения, в первую очередь WebGPU, включают вычислительные шейдеры, которые дополнят существующий графический конвейер. Это может предоставить ещё больше способов идентификации и отслеживания интернет-пользователей.
Разработчик WebGL API, компания Khronos Group, получила отчёт исследователей по методу DrawnApart и уже сформировала группу для обсуждения возможных решений проблемы с разработчиками браузеров и другими заинтересованными сторонами.
Горячие темы