BTC$29880

ETH$3666

Шукати

Помилка в мільйонах графічних процесорів Apple, AMD та Qualcomm може призвести до прослуховування відповідей LLM

LeftoverLocals — уразливість, що дозволяє відновити дані з локальної пам’яті графічного процесора, створеної іншим процесом, в графічних процесорах Apple, Qualcomm, AMD та Imagination. LeftoverLocals впливає на загальну безпеку GPU-додатків, особливо на великі мовні моделі (LLM) та моделі машинного навчання на уражених GPU-платформах. Завдяки відновленню локальної пам’яті було створено перевірку концепції, яка дозволяє зловмиснику підслуховувати інтерактивний сеанс LLM іншого користувача через межі процесу або контейнера.

Ілюстрація того, як LeftoverLocals можна використовувати для реалізації атаки на інтерактивний сеанс чату LLM. Користувач LLM (ліворуч) робить запит до LLM, в той час як зловмисник (праворуч) може прослуховувати відповідь LLM. Джерело

Витік даних через LeftoverLocals може становити приблизно 5,5 МБ за один виклик графічного процесора на AMD Radeon RX 7900 XT. При запуску моделі 7B в llama.cpp, це накопичується до 181 МБ для кожного LLM-запиту, що дає достатньо інформації для точної реконструкції відповіді LLM. Уразливість підкреслює невідомі ризики безпеки в багатьох частинах стеку розробки машинного навчання, які не пройшли ретельну перевірку на безпеку.

Вразливість, що має код CVE-2023-4969, була виявлена Тайлером Соренсеном (Tyler Sorensen) в рамках його роботи в команді по боротьбі з відмиванням грошей та викраденням інформації (ML/AI Assurance team). До співпраці з CERT Координаційним центром були залучені всі провідні виробники графічних процесорів, включаючи NVIDIA, Apple, AMD, Arm, Intel, Qualcomm та Imagination.

Станом на останнє оновлення:

Apple: На деяких пристроях, таких як Apple iPad Air 3-го покоління (A12), з’явилися виправлення, але проблема зберігається на Apple MacBook Air (M2). Apple iPhone 15, схоже, не постраждав.

AMD: Пристрої AMD залишаються ураженими, і компанія вивчає потенційні плани пом’якшення наслідків.

Qualcomm: Для прошивки Qualcomm v2.07 випущено виправлення, яке усуває проблему LeftoverLocals для деяких пристроїв. Інші пристрої все ще можуть бути уражені.

Imagination: Незважаючи на відсутність виявлених LeftoverLocals, деякі графічні процесори Imagination зазнають впливу, і виправлення доступне в останньому випуску DDK.

Інші виробники, такі як NVIDIA та ARM, підтвердили, що їхні пристрої не постраждали.

Для перевірки на наявність LeftoverLocals на різних пристроях можна використовувати кілька програм, написаних у різних фреймворках:

  • Командний рядок Vulkan: Програма командного рядка, що використовує Vulkan. Ядро написано на OpenCL і скомпільовано до SPIR-V за допомогою clspv. У ньому використовується проста обгортка Vulkan, яка називається EasyVK.
  • Командний рядок OpenCL: Програма командного рядка, що використовує фреймворк OpenCL.
  • Apple App: Додаток, розроблений для пристроїв Apple, що розгортається на iOS або Mac OS. Він націлений на графічний процесор, використовуючи фреймворк Metal від Apple.
  • Додаток для Android: Додаток для пристроїв Android, який використовує Vulkan для націлювання на мобільні графічні процесори. Код використовує C API Vulkan (через EasyVK та JNI). Ядра такі ж, як і в додатку командного рядка Vulkan, написані на OpenCL і скомпільовані в SPIR-V за допомогою clspv.

Ці програми можуть допомогти оцінити вразливість різних платформ GPU до LeftoverLocals. Тестування на різних пристроях і фреймворках забезпечує комплексну оцінку потенційних ризиків безпеки.

Сьогодні, коли графічні процесори широко використовуються в різних додатках, в тому числі чутливих до конфіденційності, дуже важливо, щоб ширша спільнота систем GPU, яка включає постачальників, дослідників і розробників, співпрацювала над зміцненням стеку систем GPU і пов’язаних з ним специфікацій. Ці спільні зусилля повинні бути зосереджені на створенні надійних, всеосяжних специфікацій, які описують поведінку програм на GPU і те, як пристрої GPU інтегруються із загальним стеком системи, наприклад, операційною системою або системним контролером. Ці специфікації повинні пройти ретельне тестування, щоб врахувати різноманітні системи графічних процесорів і вимоги безпеки в різних сферах застосування. Оскільки розробляються нові чіпи ШІ, вони також потребуватимуть ретельного аналізу безпеки.

Обнадіює те, що є позитивні ініціативи в цьому напрямку. Наприклад, стек ROCm від AMD є відкритим і доступним для незалежної оцінки, а в Khronos Group існують групи специфікацій, що займаються критично важливими для безпеки питаннями. Міждисциплінарні фреймворки програмування, такі як Vulkan, довели свою цінність для створення портативних тестових наборів, пропонуючи альтернативу фреймворкам програмування одного виробника.

Хоча гарантії безпеки та конфіденційності для графічних процесорів наразі є фрагментарними та обмеженими, специфікація Vulkan надає розумне визначення безпеки для платформ на базі графічних процесорів, яких слід дотримуватися. Однак, як показують результати дослідження, деякі платформи порушують ці специфікації. Група Khronos, яка брала участь у скоординованому розкритті інформації, підтримала цю ініціативу, зв’язавшись з представниками різних постачальників, на яких це вплинуло, та взявши участь в обговоренні специфікацій безпеки та тестуванні.

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