Против пользователей и нейронных сетей

Уязвимости побочного канала (касающиеся физических свойств железа), о которых широкая общественность заговорила после так называемого чипокалипсиса, свойственны, как оказалось, не только центральным, но и графическим процессорам. Эксперты Университета штата Калифорния в Риверсайде опубликовали три набора эксплойтов, которые позволяют выводить существенные данные через графические процессоры.

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

Проблемы затрагивают графические процессоры Nvidia, под вопросом разработки Intel и AMD.

Через графические процессоры можно следить за пользователями и нейронными сетями

Исследование, получившее название Визуальная угроза: атаки побочного канала графических процессоров реализуемы на практике, было обнародовано на конференции ACM SIGSAC. Эксперты представили свои выводы компании Nvidia, и та обещала выпустить патч. Черновой вариант исследования также был представлен Intel и AMD. В дальнейшем исследователи собираются проверить на предмет наличия аналогичных уязвимостей устройства на базе Android.

Напомним, в январе 2018 г. в процессорах Intel, AMD и ARM64 были обнаружены две серьезные уязвимости - Meltdown и Spectre. Meltdown давал возможность пользовательскому приложению получить доступ к памяти ядра, а также к другим областям памяти устройства. Spectre же нарушал изоляцию памяти приложений, благодаря чему через эту уязвимость можно получить доступ к данным чужого приложения. В совокупности эти проблемы и получили название чипокалипсиса.

GPU vs CPU

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

На бытовом уровне GPU используются также браузерами для визуализации веб-страниц с использованием внешних программных интерфейсов (API), таких как OpenGL. К OpenGL может обращаться любое приложение с пользовательскими привилегиями.

Описанные экспертами атаки начинаются с того, что потенциальной жертве тем или иным образом доставляется вредоносное приложение. Никаких особых привилегий ему не нужно, достаточно пользовательских - в том числе, возможности обращаться к графическим API (с этим никаких проблем нет, поскольку компьютеры поставляются с предустановленными графическими библиотеками и драйверами).

Пользовательские атаки

Первая атака позволяет следить за деятельностью пользователя в Сети. Когда жертва открывает вредоносное приложение, оно использует OpenGL для отслеживания активности браузера, обращающегося к GPU. У каждого сайта есть свои уникальные особенности того, как он использует память графического процессора, - просто потому, что на каждом используется уникальное количество объектов разных размеров. Сигнал будет одинаковым каждый раз, когда вебсайт загружается, и кэширование никак на нем не скажется.

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

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

Как шпионить в нейронной сети

Третья методика нацелена на вычислительные приложения в облаке. Злоумышленник может загрузить вредоносную задачу для графических процессоров, которая будет выполняться параллельно с приложением жертвы. В зависимости от параметров нейронной сети, уровень нагрузки и структуры сопоставления данных кэша, памяти и функциональных единиц меняется во времени, что обеспечивает возможность извлекать довольно существенное количество данных. Например, злоумышленник может воспользоваться классификаторами на базе машинного обучения для отслеживания счетчиков производительности и тем самым определять структуру нейронной сети, в том числе количество нейронов в каждом конкретном слое.

Описанные сценарии безусловно слишком сложны в исполнении для рядовых хакеров, - считает Роман Гинятуллин, эксперт по информационной безопасности компании SEC Consult Services. - Однако организации, у которых есть и нужные ресурсы, и мотивация, вполне могут реализовать подобные атаки на практике. А значит, необходимо оперативно найти способы снизить риски информационной безопасности.