Xakep #305. Многошаговые SQL-инъекции
Исследователи из Техасского университета в Остине, Университета Карнеги-Меллона, Вашингтонского университета и Иллинойского университета в Урбане-Шампейне разработали новую side-channel атаку на современные видеокарты, которая использует сжатие данных для «слива» конфиденциальной визуальной информации при посещении веб-страниц.
Атака получила название GPU.zip и перед ней уязвимы практически все современные графические процессоры (GPU). Исследователи говорят, что еще в марте 2023 года они сообщили о проблеме производителям видеокарт, однако по состоянию на сентябрь 2023 года ни один из них (включая AMD, Apple, Arm, NVIDIA, Qualcomm) так и не выпустил исправлений. Также патчей по-прежнему нет для Google Chrome, который тоже задействован в этой атаке.
GPU.zip основывается на аппаратном сжатии графических данных, которое современные GPU выполняют для повышения производительности. Эта функциональность позволяет экономить пропускную способность памяти и повышать производительность при рендеринге, сжимая визуальные данные без потерь, даже если этого не требует ПО.
«Мы обнаружили, что современные графические процессоры автоматически пытаются сжать визуальные данные без участия каких-либо приложений, — рассказывают авторы атаки. — Это делается для экономии пропускной способности памяти и повышения производительности. Поскольку сжимаемость зависит от данных, такая оптимизация создает возможность для side-channel атаки, которая может использоваться злоумышленником для раскрытия информации о визуальных данных».
Так как при сжатии данных возникает заметная зависимость между трафиком DRAM и загрузкой кеша, это может быть использовано для «слива» секретов. Именно поэтому при работе с конфиденциальными данными ПО обычно отключает сжатие.
Однако современные GPU, особенно интегрированные решения Intel и AMD, выполняют сжатие данных, даже если об этом не просят. Такое сжатие часто не документировано и зависит от производителя, а исследователи нашли способ использовать эту особенность для «слива» визуальных данных с видеокарт.
Proof-of-concept атаки GPU.zip начинается с того, что вредоносный сайт размещает ссылку на нужную ему веб-страницу внутри iframe. Как правило, Same-origin policy не позволяет ни одному из сайтов просматривать исходный код, содержимое или конечный визуальный продукт другого. Однако исследователи обнаружили, что сжатие данных, используемое как внутренними, так и дискретными графическими процессорами для повышения производительности, позволяет обойти эти ограничения и буквально воровать отдельные пиксели по одному.
Для работы GPU.zip необходимо загрузить вредоносную страницу в браузере Chrome или Edge (в Firefox и Safari атака не увенчается успехом). Дело в том, что для срабатывания атаки браузер должен разрешать загрузку cross-origin iframe’ов с cookie, допускать рендеринг SVG-фильтров в iframe, а также делегировать задачи рендеринга графическому процессору.
Результаты приведенных экспертами тестов показали, что кражу имени пользователя из iframe Wikipedia возможно осуществить за 30 минут на Ryzen 7 4800U с точностью 97%, и за 215 минут на графических процессорах Intel i7-8700 с точностью 98,3%.
Отмечается, что хотя GPU.zip затрагивает почти всех основных производителей графических процессоров, включая AMD, Apple, Arm, Intel, Qualcomm и NVIDIA, не все видеокарты подвержены проблеме одинаково. Также проблема вряд ли будет эксплуатироваться массово за счет сложности атаки и времени, которое необходимо для ее выполнения. Кроме того, сайты, запрещающие встраивание cross-origin iframe’ов, вообще не могут использоваться для «слива» данных.
«Есть и другие причины, помимо кражи пикселей, по которым людям стоит обратить внимание [на эту проблему], — говорят авторы атаки. — Во-первых, GPU.zip может помочь реализовать другие, еще не обнаруженные атаки, помимо кражи пикселей, которые тоже несут больший риск для конечных пользователей. Во-вторых, GPU.zip — еще один пример того, как аппаратная оптимизация создает side-channel атаку, которую не может нейтрализовать софт. Это еще раз подчеркивает, что нам, пользователям, необходимо переосмыслить свое отношение и доверие к аппаратному обеспечению».
Полная версия доклада, посвященного GPU.zip, будет представлена на 45-ом IEEE Symposium on Security and Privacy, который пройдет в мае 2024 года.
Представители Intel уже отреагировали на заявления исследователей и дали СМИ следующий комментарий:
«Хотя у Intel не было доступа к полному тексту статьи исследователей, мы оценили предоставленные выводы и определили, что основная причина кроется не в наших графических процессорах, а в стороннем программном обеспечении».
Представители Google так же сообщают, что уже изучают информацию о GPU.zip и находится в постоянном контакте с исследователями.