Американские исследователи обнаружили в графических процессорах Apple, Intel, AMD, Qualcomm, Arm и NVIDIA уязвимость, из-за которой сайты с вредоносным кодом могут осуществлять кражу данных с других сайтов — это могут быть логины, пароли и любая другая отображаемая конфиденциальная информация.
Основанный на обнаруженной уязвимости тип атаки получил название GPU.zip — он позволяет использовать ресурсы графических процессоров для кражи данных с сайтов, страницы которых вставляются через элементы iframe на другие ресурсы, вредоносные. Исследователи обнаружили, что сжатие данных, которое обрабатывается интегрированными и дискретными видеокартами для повышения производительности, может оказаться побочным каналом кражи информации — она осуществляется попиксельно.
Современные графические процессоры автоматически пытаются сжимать эти визуальные данные без участия ПО, которое этими данными оперирует — это делается для экономии ресурсов памяти и повышения производительности. Примечательно, что атака осуществляется в браузерах Chrome или Edge, но не работает в Firefox и Safari. В качестве условной жертвы исследователи взяли сайт «Википедия», код которого встроили через iframe на страницу собственного ресурса. Атака сработала на графических процессорах Apple, Intel, AMD, Qualcomm, Arm и NVIDIA. В случае с AMD Ryzen 7 4800U потребовалось около 30 минут для рендеринга целевых пикселей с точностью 97 %. В случае с Intel Core i7-8700 время увеличилось до 215 минут.
Все графические процессоры используют собственные методы сжатия данных при выводе содержимого — они не документируются, но учёным удалось задействовать обратную инженерию в каждом случае. Для этого они воспользовались форматом векторной графики SVG и зафиксировали различия между чёрными и белыми пикселями в трафике DRAM. В работе описан способ кражи данных через встроенную графику, но аналогичный способ реализуется и через дискретную.
Для осуществления атаки в браузере должны исполняться три условия:
- разрешена загрузка iframe с файлами cookie;
- разрешён рендеринг SVG-фильтров в iframe;
- рендеринг осуществляется графическим процессором.
В ответ за запрос представитель Google заявил, что защитить свои ресурсы от атаки веб-мастер может при помощи HTTP-заголовков X-Frame-Options и Content Security Policy. Кроме того, реализовать атаку довольно сложно технически, и она требует продолжительного времени, что снижает величину угрозы для обычных пользователей. В Intel и Qualcomm заявили, что уязвимость, связанная с GPU.zip, относится не к графическим процессорам, а к стороннему ПО, поэтому никаких мер в компаниях предпринимать не собираются. Apple, NVIDIA, AMD и Arm комментариев не предоставили.
Возможно, атака GPU.zip действительно не представляет значительной угрозы для рядового пользователя, но, как отметили обнаружившие её исследователи, она может лечь в основу других, более опасных эксплойтов. Кроме того, она в очередной раз указывает, что аппаратная оптимизация способна создавать побочные каналы кражи данных, которые невозможно смягчить программными средствами.
Источник: