Атака GPU.zip, позволяющая воссоздать данные, отрисовываемые GPU

Группа исследователей из нескольких университетов США разработала новую технику атаки по сторонним каналам, позволяющую воссоздать визуальную информацию, обрабатываемую в GPU. При помощи предложенного метода, который получил название GPU.zip, атакующий может определить выводимую на экран информацию. Среди прочего атака может быть проведена через web-браузер, например, продемонстрировано, как открытая в Chrome вредоносная web-страница может получить информацию о пикселях, выводимых при отрисовке другой web-страницы, открытой в том же браузере.

Источником утечки информации выступает применяемая в современных GPU оптимизация, обеспечивающая сжатие графических данных. Проблема проявляется при использовании сжатия на всех протестированных интегрированных GPU (AMD, Apple, ARM, Intel, Qualcomm) и дискретных видеокартах NVIDIA. При этом исследователи обнаружили, что интегрированные GPU Intel и AMD всегда включают сжатие графических данных, даже если приложение специально не запрашивают применение подобной оптимизации. Применение сжатия приводит к тому, что трафик в DRAM и нагрузка на кэш коррелируют с характером обрабатываемых данных, которые можно попиксельно воссоздать через анализ по сторонним каналам.

Метод достаточно медленный, например, на системе с интегрированным GPU AMD Ryzen 7 4800U атака по определению имени, под которым пользователь в другой вкладке вошёл в Wikipedia, заняла 30 минут и позволила определить содержимое пикселей с точностью 97%. На системах с интегрированным GPU Intel i7-8700 аналогичная атака заняла 215 минут при точности 98%.

При проведении атаки через браузер целевой сайт циклично открывается в iframe для инициирования отрисовки. Для определения показываемой информации, вывод iframe преобразуется в черно-белое представление, к которому применяется SVG-фильтр, выполняющий последовательное наложение масок, вносящих и не вносящих большую избыточность при сжатии. На основании оценки изменения времени отрисовки эталонных образцов выделяется наличие в определённой позиции тёмных или светлых пикселей. Общее изображение воссоздаётся через последовательную попиксельную проверку с использованием подобных масок.

Производители GPU и браузеров были уведомлены о проблеме в марте, но ни один поставщик пока не подготовил исправление, так как проведение атаки на практике не в идеальных условиях сомнительно и проблема имеет больше теоретический интерес. Google пока не принял решение о целесообразности блокирования атаки на уровне браузера Chrome. Chrome уязвим так как разрешает загрузку iframe с другим сайтом без очистки Cookie, позволяет применить к iframe SVG-фильтры и делегирует выполнение отрисовки GPU. Firefox и Safari не подвержены уязвимости, так как не удовлетворяют данным критериям. Атака также не применима к сайтам, запрещающим встраивание через iframe на других сайтах (например, через выставление HTTP-заголовка X-Frame-Options в значение «SAMEORIGIN» или «DENY», а также через настройки доступа при помощи заголовка Content-Security-Policy).

Источник: http://www.opennet.ru/opennews/art.shtml?num=59833