Проблема безопасности с идентификатором CVE-2023-4969 позволяет получать данные из уязвимых графических процессоров, особенно в контексте больших языковых моделей (LLM) и процессов машинного обучения (ML).
LeftoverLocals был обнаружен исследователями Trail of Bits Тайлером Соренсеном (Tyler Sorensen) и Хейди Клааф (Heidy Khlaaf), которые сообщили о своей находке производителям оборудования в частном порядке, прежде чем предать эту информацию огласке.
LeftoverLocals: подробности
Проблема безопасности связана с тем, что некоторые инфраструктуры графических процессоров не изолируют память полностью, и одно из ядер может считывать значения в локальной памяти, записанные другим ядром.
Исследователи Trail of Bits объясняют, что злоумышленнику достаточно запустить вычислительное приложение на графическом процессоре (например, OpenCL, Vulkan, Metal), чтобы получить доступ к данным, оставленным в локальной памяти графического процессора.
Исследователи сообщают:
Используя уязвимость, злоумышленник может прочитать данные, которые жертва оставила в локальной памяти графического процессора, просто написав ядро GPU, которое сбрасывает неинициализированную локальную память.
LeftoverLocals позволяет злоумышленникам запустить «прослушиватель» (listener) — ядро графического процессора, которое считывает данные из неинициализированной локальной памяти и может сбрасывать данные в постоянное место, например в глобальную память.
Если локальная память не очищена, то злоумышленник может использовать прослушиватель для чтения значений, оставленных «писателем» (writer) — программой, которая сохраняет значения в локальной памяти.
На демонстрации ниже показано, как взаимодействуют «писатель» и «прослушиватель» и как последний может получать данные от первого на затронутых GPU.
Восстановленные данные могут раскрыть конфиденциальную информацию о вычислениях жертвы, включая входные и выходные данные модели, веса и промежуточные вычисления.
В многопользовательском контексте графического процессора, на котором выполняются вычисления LLM, LeftoverLocals можно использовать для прослушивания интерактивных сеансов других пользователей и восстановления из локальной памяти GPU данных процесса «записи» жертвы.
Исследователи Trail of Bits создали доказательство концепции (PoC) для демонстрации эксплуатации LeftoverLocals и показали, что злоумышленник может восстановить 5,5 МБ данных за один вызов, в зависимости от инфраструктуры GPU.
На AMD Radeon RX 7900 XT с открытым исходным кодом LLM llama.cpp злоумышленник может получить до 181 МБ за запрос, что достаточно для восстановления ответов LLM с высокой точностью.
Меры снижения рисков эксплуатации
Исследователи Trail of Bits обнаружили CVE-2023-4969 в сентябре 2023 года и проинформировали CERT/CC о помощи в координации усилий по обнаружению и исправлению.
В настоящее время предпринимаются усилия по смягчению последствий эксплуатации. Некоторые производители уже исправили проблему, в то время как другие все еще работают над разработкой и внедрением защитного механизма.
В случае с Apple, iPhone 15 оказался не подвержен проблеме, и исправления стали доступны для процессоров A17 и M3, но проблема сохраняется на компьютерах с процессорами M2.
AMD сообщила, что некоторые модели графических процессоров остаются уязвимыми, поскольку ее инженеры исследуют эффективные стратегии защиты.
Компания Qualcomm выпустила патч для прошивки v2.0.7, с исправлениями LeftoverLocals для некоторых чипов, но другие GPU остаются уязвимыми.
Компания Imagination выпустила исправление в DDK v23.3 в декабре 2023 года. Однако в январе 2024 года Google предупредила, что на некоторые графические процессоры производителя проблема еще влияет.
Графические процессоры Intel, NVIDIA и ARM сообщили, что проблема утечки данных не затрагивает их устройства.
Trail of Bits предполагает, что производители графических процессоров реализуют механизм автоматической очистки локальной памяти между вызовами ядра, обеспечивая изоляцию конфиденциальных данных, записываемых одним процессом.
Хотя этот подход может привести к некоторым издержкам производительности, исследователи предполагают, что компромисс оправдан, учитывая серьезность последствий с позиции безопасности.
Другие потенциальные меры по снижению риска включают в себя отказ от мультитенантных сред графических процессоров в сценариях, критически важных для безопасности, и реализацию мер по снижению рисков на уровне пользователя.
Угрозы безопасности
• Хакеры используют драйвер Avast Anti-Rootkit для отключения антивирусов
• Системы Ubuntu затронуты уязвимостью «needrestart», которая позволяет получить root-привилегии
• Фейковые ИИ-генераторы видео заражают Windows и macOS вредоносным ПО
• D-Link не будет исправлять уязвимость, которая затрагивает 60 тысяч устаревших модемов
• qBittorrent исправляет уязвимость, из-за которой пользователи подвергались MitM-атакам в течение 14 лет
• «Лаборатория Касперского» предупреждает о вирусах в финансовых Telegram-каналах