Контакты
Подписка
МЕНЮ
Контакты
Подписка

Атаки так называемого побочного канала, возможно проводить против графических чипов

Атаки так называемого побочного канала, возможно проводить против графических чипов

Атаки так называемого побочного канала, возможно проводить против графических чипов


12.11.2018



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

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

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

Проблемы затрагивают графические процессоры 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. — Однако организации, у которых есть и нужные ресурсы, и мотивация, вполне могут реализовать подобные атаки на практике. А значит, необходимо оперативно найти способы снизить риски информационной безопасности".

 

Cnews