GPU fingerprinting (web)

Discussion in 'Мировые новости. Обсуждения.' started by shit'o'cod, 31 Jan 2022.

  1. shit'o'cod

    shit'o'cod Member

    Joined:
    5 Oct 2012
    Messages:
    29
    Likes Received:
    24
    Reputations:
    1
    Группа исследователей из французских, израильских и австралийских университетов изучила возможность использования графических процессоров для создания уникальных отпечатков и их использования для веб-отслеживания.

    Результаты их эксперимента с участием 2550 устройств с 1605 различными конфигурациями ЦП показывают, что их метод под названием «DrawnApart» может увеличить медианную продолжительность отслеживания до 67% по сравнению с текущими современными методами.

    Исследователи рассмотрели возможность создания отпечатков на основе GPU с помощью WebGL.

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

    [​IMG]

    DrawnApart использует короткие программы, написанные таким образом, чтобы их выполнение было предсказуемо и стандартизировано.

    Команда разработала как метод измерения на экране, который выполняет небольшое количество операций с интенсивными вычислениями, так и метод вне экрана, который подвергает графический процессор более длительному и менее интенсивному тестированию.

    Этот процесс генерирует следы, состоящие из 176 измерений, сделанных в 16 точках, которые используются для создания отпечатков. Даже при визуальной оценке отдельных необработанных трасс можно заметить различия и отчетливые временные различия между устройствами.

    [​IMG]
    Полученные необработанные трассировки от двух идентичных графических процессоров.

    Исследователи также попытались поменять местами другие аппаратные части на машинах, чтобы увидеть, останутся ли следы различимыми, и обнаружили, что отпечатки зависят исключительно от графического процессора.

    Даже если набор интегральных схем создается с помощью идентичного производственного процесса, имеет одинаковую номинальную вычислительную мощность, количество процессорных блоков и точно такие же ядра и архитектуру, каждая схема немного отличается из-за обычной изменчивости производства.

    Эти различия неразличимы в обычных повседневных операциях, но они могут стать полезными в контексте сложной системы отслеживания, такой как DrawnApart, которая специально разработана для запуска функциональных аспектов, которые их выделяют.

    [​IMG]
    Протестированные устройства и точность определения.

    Как видно на рисунке, метод подходит для устройств со встроенной в CPU графикой и для мобильных устройств.

    Исследователи указывают, что на результаты измерений, теоретически, могут влиять напряжения питания устройств и рабочие температуры (как устройства, так и окружающей среды).

    Но на DrawnApart не влияют изменения рабочей нагрузки, полезная нагрузка графического процессора с других вкладок веб-браузера, перезагрузка системы и другие изменения во время выполнения.

    Потенциальные меры противодействия этому методу снятия отпечатков включают предотвращение параллельного выполнения, блокировку сценариев, блокировку API и предотвращение измерения времени.

    Разработчик WebGL API, компания Khronos group, получила отчет исследователей по вышеизложенному и сформировала техническую группу для обсуждения возможных решений с поставщиками браузеров и другими заинтересованными сторонами.

    От себя добавлю, что данная техника получения отпечатков не является новой. Но в открытом доступе обсуждения данной техники и её масштабные исследования появились впервые.

    Известная ранее техника получения отпечатка WebGL использует другие принципы, аналогичные canvas отпечатку: хэш отпечатка генерируется путем рендеринга шаблона и последующего создания хэша из полученных визуализированных пикселей. Есть способы противостоять снятию подобного отпечатка.

    Ранее предпринимались попытки получения отпечатков с помощью "Timing Attacks" или "Timing Fingerprinting", измеряя время выполнения некоторого стандартного задания на CPU. Но браузеры стали противодействовать этому, например, округляя значения функции performance.now().

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

    Источники:
    https://www.bleepingcomputer.com/ne...use-gpu-fingerprinting-to-track-users-online/
    https://arxiv.org/pdf/2201.09956.pdf

    Если статья не совсем подходит под раздел новостей, или больше подходит в другой раздел, просьба перенести в более подходящее место.
     
    #1 shit'o'cod, 31 Jan 2022
    Last edited: 1 Feb 2022
    SPUTNIK and alexzir like this.