Обнаружены уязвимости в GPU

Уязвимости в GPU

Помните недавний «чипоапокалипсис», когда у процессоров Intel, и, по слухам, у AMD тоже, нашли уязвимости на уровне «железа»? Да, куча патчей, костылей, потеря производительности. Все это потребовалось, чтобы закрыть брешь и обеспечить полноценный уровень безопасности. Но не все так радужно, как говорится, беда не приходит одна. Обнаружена очередная уязвимость, теперь в GPU.

Атака на GPU

Новое исследование

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

Благодаря данным «дырам» можно реализовать следующее:

  • отследить деятельность пользователя в интернете;
  • похищать пароли от приложений;
  • вносить изменения в облачные приложения;
  • влиять на результаты вычислительной деятельности GPU.

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

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

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

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

  1. Ученные сумели отследить действия пользователя в браузере. Какие web-сайты посещал, что вбивал в поисовую строку и так далее. Получилось это за счет внедрения вредоносного элемента в библиотеку OpenGL.
  2. Потом сумели извлечь пароли. Каждый раз, когда символ вводится с клавиатуры, он загружается в графический процессор в виде текстуры и обрабатывается.
  3. Ну, нейронные сети оказались тоже беззащитны. Оказалось, достаточно запустить вредоносный процесс на графическом ускорители параллельно с выполняющимся приложением, а потом выполнить ряд некоторых действий, вроде обнаружения мест, где программы могут полноценно «пересекаться», чтобы получить большое количество данных о действующей нейронной сети.

Как уже говорилось, это только выявленные возможности, но, скорее всего, уязвимости на уровне GPU этим не ограничены.

GPU Exploit

Решение проблемы

На выставке была только продемонстрирована проблема, но исследователи уже отправили данные об обнаруженных недочетах компании Nvidia, а также проинформировали AMD и Intel. Компании проведут полную проверку и выявят все возможные уязвимости в GPU.

Nvidia уже начала создавать патч, который ограничит возможность доступа к части аналитики системы на пользовательском уровне. Но это только начало работы. Как повлияют патчи на конечную производительность графических ускорителей сказать на данном этапе трудно.

Будем надеяться, что украсть пароли или встроить какой-либо эксплоит станет труднее. Но, желательно, чтобы производительность при этом не просела.