Оказывается, видеокарты используются не только для обработки графики, данных или майнинга, но и для сбора информации о нас с вами! Онлайн-отслеживание пользователей со всего мира происходит, когда сторонние сервисы собирают информацию о разных людях и используют ее, чтобы помочь идентифицировать. Такой сбор конкретной информации часто называют сбором «отпечатков пальцев». И это делают не всегда исследователи, но и злоумышленники.
Так вот, пока все нормально, сегодня исследователи объявили, что им удалось использовать WebGL (библиотеку веб-графики) в своих интересах и создать уникальный отпечаток пальца для каждого графического процессора, чтобы отслеживать пользователей в Интернете. Этот эксплойт работает, благодаря тому, что каждый кремниевый кристалл имеет свои собственные вариации и уникальные характеристики при производстве, точно так же, как у каждого человека есть уникальный отпечаток пальца. Даже среди конкретных моделей процессоров различия в кремнии делают каждый продукт уникальным. Вот почему вы не можете разогнать каждый процессор до одной и той же частоты.
Как это происходит? Исследователи, создавшие DrawnApart, использовали WebGL, запускающий рабочую нагрузку на графический процессор, которая в свою очередь идентифицирует более 176 измерений в 16 местах сбора данных. А делается это с помощью вершинных операций в GLSL (OpenGL), где предотвращается случайное распределение рабочих нагрузок в сети процессоров. DrawnApart может измерять и записывать время завершения рендеринга вершин, записывать точный маршрут рендеринга, обрабатывать функции остановки и многое другое. Это позволяет платформе выдавать уникальные комбинации данных, превращенные в отпечатки пальцев графических процессоров, которые можно использовать в Интернете.