Механізм безпеки, який AMD використовує для захисту пам’яті віртуальних машин можна обійти за допомогою одноплатного комп’ютера Raspberry Pi Pico вартістю $5. Це виявила група вчених із Бельгії, Німеччини та Великобританії, яка розробила схему атаки BadRAM.
AMD розробила технологію Secure Encrypted Virtualization (SEV), яка забезпечує створення середовища довіреного виконання (Trusted Execution Environment – TEE). Аналогічні рішення мають конкуренти: Software Guard Extensions (SGX) і Trusted Domain Extensions (TDX) від Intel, а також Arm Confidential Compute Architecture (CCA). Ці технології використовуються постачальниками хмарних послуг та гарантують, що адміністратори, які мають доступ до обладнання центрів обробки даних, не зможуть копіювати конфіденційну інформацію з віртуальних машин клієнтів. Інформація у пам’яті шифрується, захищаючи клієнтів хмарних платформ від ненадійних постачальників послуг та недобросовісних представників органів влади.
Вчені досліджували нову версію однієї з таких технологій – AMD SEV-SNP (Secure Nested Paging), яка додає захист від атак із перерозподілом пам’яті з боку гіпервізора. Однак, як з’ясувалося, ця технологія має вади. Для обходу обмежень доступу до вмісту пам’яті в TEE необхідні одноплатний комп’ютер Raspberry Pi Pico, роз’єм DDR і батарейка на 9 В. Запропонована вченими атака BadRAM передбачає зловживання механізмами роботи чіпа SPD (Serial Presence Detect), який відповідає за ідентифікацію модуля системою. За допомогою маніпуляцій з SPD у фізичній пам’яті створюються псевдоніми, що дозволяють вивчити її вміст щодо конфіденційної інформації.
В ході атаки видимий розмір встановленого в системі DIMM модуля подвоюється, що дозволяє обдурити контролер пам’яті центрального процесора і змусити його використовувати додаткові біти адресації. В результаті на те саме місце розташування DRAM посилаються дві фізичні адреси. Метод працює з пам’яттю DDR4 та DDR5. Теоретично атака може бути здійснена без фізичного доступу до обладнання, наприклад через SSH, оскільки деякі постачальники DRAM залишають чіп SPD розблокованим. Це було знайдено на двох модулях DDR4 від Corsair. Для реалізації атаки на DDR3 потрібно видалити або замінити SPD. Технологія AMD SEV-SNP використовується в Amazon AWS, Google Cloud та Microsoft Azure. Вчені відзначають, що схема атаки BadRAM дозволяє додавати» невиявлені бекдори на будь-яку захищену SEV віртуальну машину «.
Актуальні технології Intel SGX і TDX не схильні до цієї вразливості завдяки реалізованим контрзаходам, що запобігають створенню псевдонімів пам’яті. Вразлива лише застаріла версія SGX, яка вже не використовується виробником. Arm CCA також захищена на рівні специфікації, проте перевірити це дослідники не змогли через відсутність обладнання. Схему атаки та зразок коду вчені передали AMD 26 лютого 2024 року. Свої висновки вони мають намір подати у 2025 році на заході IEEE Symposium on Security and Privacy. Компанія зареєструвала вразливість під номерами CVE-2024-21944 та AMD-SB-3015 — відомості про них вона опублікувала напередодні.
«AMD вважає, що експлуатація розкритої вразливості передбачає, що зловмисник має або фізичний доступ до системи, або доступ до ядра операційної системи, або встановлено змінений шкідливий BIOS. AMD рекомендує використовувати модулі пам’яті, в яких заблоковано Serial Presence Detect (SPD), а також слідувати передовим практикам безпеки фізичної системи. AMD також випустила оновлення прошивки для клієнтів, які пом’якшують уразливість», — заявили в компанії ресурсу The Register.