Дослідники IBM Research Europe та VU Amsterdam детально описують нову кросплатформну атаку спекулятивного виконання в сучасних ЦП для доступу до паролів та інших конфіденційних даних. Їхню статтю GhostRace опубліковано на 33-му симпозіумі безпеки USENIX 2024.

12 березня дослідники з VUSec і IBM оприлюднили в X нову форму спекулятивної атаки виконання, посилаючись на відповідний документ про розкриття GhostRace, розміщений на VUSec. Але спочатку приділимо трохи часу, щоб з’ясувати, що таке «спекулятивна атака на виконання».

Якщо ви пам’ятаєте лихо Meltdown і Spectre у 2016 році, то ця вразливість майже в тій самій категорії експлойтів безпеки ЦП та дуже схожа на Spectre V1, бо є також атакою на спекулятивне виконання.

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

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

Уразливість центрального процесора GhostRace загрожує всім основним архітектурам
Атака на розкриття інформації зі зловживанням послідовності виконання спекулятивних обчислень. Кроки 1-4 і 8-10 виконуються в режимі користувача, надаючи системні виклики для запуску відповідного коду ядра. Інші кроки виконуються в режимі ядра. Наш сканер гаджетів визначив функцію nfc_hci_msg_tx_work як гаджет SCUAF у ядрі Linux.

Перш ніж оприлюднити GhostRace, дослідники повідомили основних постачальників апаратного забезпечення (Intel, AMD, ARM і IBM) та ядра Linux про проблему (наприкінці 2023 року), оскільки GhostRace застосовується до всіх основних архітектур ЦП (не тільки x86, але й до ARM).

Постачальники апаратного забезпечення додатково повідомили інших постачальників програмного забезпечення (ОС/гіпервізори), яких це стосується, і всі сторони визнали повідомлену проблему (CVE-2024-2193).

Оприлюднення лише 12 березня 2024 року надало постачальникам час, необхідний для розробки своїх виправлень і обхідних шляхів, однак дослідники також включили в публічний документ деякі поради щодо пом’якшення проблеми.

Рання спроба виправлення ядра Linux здавалася перспективною, але експерименти, проведені дослідниками, показали, що виправлення не повністю покриває вразливість.

На цей час здається, що розробники ядра Linux в першу чергу стурбовані продуктивністю і не хочуть ризикувати серйозно пошкодити його швидким виправленням. Вже готове пом’якшення наслідків вразливості для Linux, надане в оригінальній документації, знижує продуктивність лише на ~5% у LMBench.

Чекаємо, що подальші виправлення можуть підвищити швидкодію. У документі не передбачено виправлення для інших платформ. Однак AMD визнає проблему і підкреслює, що вже наявні виправлення Spectre v1 знижують вразливість від GhostRace.