Дослідники показали нову апаратну атаку DDRop, здатну підірвати захист конфіденційних обчислень на сучасних серверах Intel та AMD. Для атаки достатньо пристрою вартістю менш як $200, який встановлюється між процесором і модулем оперативної пам’яті DDR5.
Фахівці KU Leuven, ETH Zurich, Durham University та Google розробили атаку DDRop проти технологій confidential computing. Йдеться про системи, які мають захищати чутливі дані навіть у ситуації, коли зловмисник уже контролює операційну систему сервера або його гіпервізор. Дослідники перевіряли атаку на довірених середовищах виконання, або TEE, зокрема Intel TDX, Intel Scalable SGX та AMD SEV-SNP. Детальний опис DDRop, технічні матеріали та результати експериментів автори опублікували на офіційному сайті дослідження.
Ключовим елементом став недорогий апаратний адаптер, так званий interposer, який встановлюють безпосередньо між процесором та модулем DDR5. Вартість такого пристрою становить менш як $200. DDRop дозволяє вибірково блокувати операції запису в оперативну пам’ять, у результаті чого процесор продовжує зчитувати старі зашифровані дані, вважаючи їх актуальними. Саме тут проявляється слабке місце сучасних систем конфіденційних обчислень: вони можуть перевірити, що дані справжні та не були підроблені, але не завжди здатні встановити, чи є перед ними найновіша версія цих даних.
Найсерйознішу демонстрацію дослідники провели проти Intel TDX. Маніпулюючи захищеними даними таблиць сторінок пам’яті, вони змогли примусово перевести конфіденційну віртуальну машину в режим налагодження, після чого прочитали її приватну пам’ять у відкритому вигляді.
Проблема пов’язана з компромісом між безпекою та продуктивністю. TEE використовують апаратну ізоляцію, віддалену атестацію та прозоре шифрування пам’яті, щоб захищати навантаження у хмарних середовищах. Однак повноцінний криптографічний контроль актуальності кожного запису пам’яті створив би додаткове навантаження на системи, яким необхідно обробляти величезні обсяги даних з мінімальними затримками.
Автори дослідження пояснюють, що сучасні TEE заради необхідної продуктивності та можливості працювати з великими обсягами пам’яті не використовують криптографічний механізм, який гарантував би актуальність кожного запису. Через це система може не розпізнати ситуацію, коли їй повторно підставляють старі, але коректно зашифровані дані. Саме це відкриває можливість для replay-атак, якщо зловмисник отримав фізичний доступ до оперативної пам’яті сервера.
Виправити таку проблему звичайним оновленням програмного забезпечення складно. DDRop використовує особливості фізичної взаємодії між пам’яттю та процесором, тому програмний патч не може усунути саму апаратну причину атаки. Intel та AMD були поінформовані про дослідження в межах скоординованого розкриття інформації та підтвердили отримані результати. Водночас обидві компанії зазначили, що DDRop потребує фізичного доступу до сервера, а такі атаки не входять до їхніх опублікованих моделей загроз.
Confidential computing використовується для захисту особливо чутливих даних у хмарній інфраструктурі. Ідея полягає в тому, щоб ізолювати дані не лише під час їх зберігання або передачі, а й безпосередньо під час обробки процесором. Завдяки цьому навіть адміністратор хост-системи або зловмисник, який отримав контроль над гіпервізором, не повинен мати можливості прочитати вміст захищеної віртуальної машини. DDRop показує, що фізичне втручання в роботу пам’яті може обійти частину цих гарантій.