Уязвимость в интерфейсе браузера позволяет получить доступ к компьютеру через видеокарту
Современные веб-сайты предъявляют всё более высокие требования к вычислительной мощности компьютеров. По этой причине веб-браузеры уже несколько лет имеют доступ к вычислительным мощностям видеокарты (Graphics Processing Unit или GPU) в дополнение к центральному процессору компьютера.
Скриптовый язык JavaScript может использовать ресурсы графического процессора через программные интерфейсы, такие как WebGL и новый стандарт WebGPU. Однако это сопряжено с определенными рисками. Используя веб-сайт с вредоносным кодом JavaScript, исследователи из Института прикладной обработки информации и коммуникаций Технологического университета Граца (Graz University of Technology, TU Graz) смогли подсмотреть информацию о данных, нажатиях клавиш и ключах шифрования на компьютерах других людей в ходе трех различных атак через WebGPU.
Призыв к производителям браузеров
В настоящее время WebGPU все еще находится в стадии активной разработки, но такие браузеры, как Chrome, Chromium Edge и Firefox Nightly versions, уже поддерживают его. Благодаря большей гибкости и модернизированному дизайну по сравнению с WebGL, интерфейс будет широко использоваться в ближайшие годы.
“Атаки не требуют от пользователей взаимодействия с веб-сайтом, и они выполняются во время обычного интернет-серфинга. Своей работой мы хотим четко указать производителям браузеров, что они должны относиться к доступу к графическому процессору так же, как и к другим ресурсам, которые влияют на безопасность и конфиденциальность”, – говорит Лукас Гинер из Института прикладной обработки информации и коммуникаций при TU Graz.
Исследовательская группа провела свои атаки на несколько систем, в которых были установлены разные видеокарты от NVIDIA и AMD — использовались видеокарты NVIDIA серии GTX 1000 и серии RTX 2000, 3000 и 4000, а также видеокарты AMD серии RX 6000. Исследовательская работа и сопроводительный документ будут представлены на конференции ACM Asia по компьютерной и коммуникационной безопасности, которая пройдет с 1 по 5 июля в Сингапуре.
Для всех трех типов атак исследователи использовали доступ к кэш-памяти компьютера, доступный через WebGPU, который предназначен для особенно быстрого и кратковременного доступа к данным центрального и графического процессоров. Этот дополнительный канал предоставлял им метаинформацию, которая позволяла им делать выводы о информации, имеющей отношение к безопасности.
Изменения в кэше в качестве индикатора
Команда смогла отслеживать изменения в кэше, заполняя его самостоятельно, используя код на JavaScript через WebGPU и отслеживая, когда их собственные данные удалялись из кэша при вводе. Это позволило анализировать нажатия клавиш относительно быстро и точно.
Более точно сегментировав кэш, исследователи также смогли использовать вторую атаку для создания собственного секретного канала связи, в котором заполненные и незаполненные сегменты кэша служили нулями и единицами и, таким образом, основой для двоичного кода. Они использовали 1024 таких сегмента кэша и достигли скорости передачи до 10,9 килобайт в секунду, что было достаточно быстро для передачи простой информации. Злоумышленники могут использовать этот канал для извлечения данных, которые они смогли получить с помощью других атак в областях компьютера, отключенных от Интернета.
Третья атака была нацелена на шифрование AES, которое используется для шифрования документов, подключений и серверов. Здесь они также заполнили кэш, но с помощью собственного шифрования AES. Реакция кэша позволила им идентифицировать места в системе, которые отвечают за шифрование, и получить доступ к ключам атакованной системы.
“Наша атака AES, вероятно, была бы несколько сложнее в условиях реального времени, поскольку многие шифровальные операции выполняются параллельно на графическом процессоре”, – говорит Роланд Черни из Института прикладной обработки информации и коммуникаций Университета Граца. “Тем не менее, мы смогли продемонстрировать, что также можем очень точно атаковать алгоритмы. Мы, конечно, заранее сообщили о результатах нашей работы производителям браузеров и надеемся, что они учтут эту проблему при дальнейшей разработке WebGPU”.
Источник: TechXplore.