Цифровые отпечатки GPU позволяют отслеживать пользователей в Сети
Группа исследователей из университета имени Бен-Гуриона, университета Лилль и университета Аделаиды изучила возможность использования графических процессоров для создания уникальных цифровых отпечатков и их использования в целях web-слежки.
Результаты крупномасштабного эксперимента с участием 2550 устройств с 1605 различными конфигурациями ЦП показывают, что метод под названием DrawnApart может увеличить медианную продолжительность отслеживания до 67% по сравнению с современными методами.
Исследователи рассмотрели возможность создания отличительных цифровых отпечатков на основе GPU (графического процессора) отслеживаемых систем с помощью WebGL (Web Graphics Library). WebGL - кроссплатформенный API для рендеринга 3D-графики в браузере. Используя данную библиотеку, система отслеживания DrawnApart может подсчитывать количество и скорость исполнительных блоков в графическом процессоре, измерять время, необходимое для завершения рендеринга вершин, обрабатывать функции остановки и многое другое.
DrawnApart использует короткие программы GLSL, выполняемые целевым графическим процессором как часть вершинного шейдера, чтобы решить проблему наличия случайных исполнительных блоков, обрабатывающих вычисления. Следовательно, распределение рабочей нагрузки предсказуемо и стандартизировано.
Команда разработала как метод измерения на экране, который выполняет небольшое количество операций с интенсивными вычислениями, так и метод вне экрана, подвергающий графический процессор более длительному и менее интенсивному тестированию.
Процесс генерирует следы, состоящие из 176 измерений, сделанных в 16 точках, которые используются для создания цифрового отпечатка. Даже при визуальной оценке отдельных необработанных следов можно заметить отчетливые временные различия между устройствами.
Исследователи также попытались поменять местами другие аппаратные части на системах с целью проверить, останутся ли следы различимыми, и обнаружили, что цифровые отпечатки зависят исключительно от графического процессора. Даже если набор интегральных схем создается с помощью идентичного производственного процесса, имеет одинаковую номинальную вычислительную мощность, количество процессорных блоков и точно такие же ядра и архитектуру, каждая схема немного отличается из-за обычной изменчивости производства.
Они неразличимы в обычных повседневных операциях, но они могут стать полезными в контексте сложной системы отслеживания, такой как DrawnApart, которая специально разработана для запуска функциональных аспектов, выделяя их.
Автономный алгоритм отслеживания может обеспечить среднее время слежки 17,5 дня, но с помощью цифровых отпечатков графического процессора это время увеличивается до 28 дней. Оценка была основана на условиях тестирования, при которых диапазон рабочих температур графического процессора составляет от 26,4 °C до 37 °C, без колебаний напряжения.
Помимо этих условий, на DrawnApart не влияют изменения рабочей нагрузки, полезная нагрузка графического процессора с других вкладок браузера, перезагрузка системы и другие изменения во время выполнения.
Потенциальные меры противодействия новому методу снятия отпечатков включают изменение значения атрибута, предотвращение параллельного выполнения, блокировку скриптов, блокировку API и предотвращение измерения времени.
Промышленный консорциум Khronos Group, разработавший WebGL API, получил отчет исследователей и сформировал группу технических специалистов для обсуждения возможных решений с поставщиками браузеров и другими заинтересованными сторонами.