GhostRace: спекулятивна атака виконання, що впливає на процесори Intel, AMD, ARM і IBM

GhostRace

Уразливість GhostRace

Інформація про а нову спекулятивну атаку виконання, яка отримала назву GhostRace (зазначений у CVE-2024-2193), це новий метод, розроблений дослідниками з Vrije Universiteit Amsterdam і IBM для використання спекулятивного механізму виконання, наявного в сучасних процесорах Intel, AMD, ARM і IBM.

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

Як працює атака ґрунтується на умоглядному виконанні умовних інструкцій з примітивами синхронізації потоки, такі як м'ютекс і спін-блокування.

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

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

Під час аналізу вразливості, що було зроблено в коді ядра Linux 5.15.83, було виявлено наявність 1283 пристроїв, які могли призвести до спекулятивного доступу до вже звільненої пам’яті. Цей тип атаки становить потенційний ризик для систем віртуалізації, будь-якого ядра операційної системи та програм, які використовують примітиви синхронізації потоків, перевірені умовними операторами, і працюють на платформах, які дозволяють спекулятивне виконання операцій розгалуження, таких як x86, ARM, RISC-V, серед інших.

Щоб перевірити вразливість, дослідники розробив прототип експлойту, який демонструє ефективність Дель атака шляхом дозволу вилучення даних із пам’яті ядра Linux із пропускною здатністю 12 Кбайт на секунду та рівнем надійності, подібним до атак класу Spectre.

L Розробники ядра Linux і компанії-виробники ЦП були поінформовані про цю проблему в кінці 2023 року. AMD вже опублікувала звіт про вразливість і рекомендує використовувати стандартні методи захисту від атак, подібних Spectre v1. З іншого боку, Intel і ARM поки не відповіли на це повідомлення.

Хоча Розробники ядра Linux не мають найближчих планів впровадження серіалізації примітивів синхронізація Через втрату продуктивності вони вже включили обмеження для захисту від техніки експлойтів IPI Storming (CVE-2024-26602). Ця техніка атаки передбачає переривання процесу у відповідний час, щоб забезпечити часове вікно для спекулятивного доступу до звільненої пам’яті.

Щоб пом'якшити цей тип нападу, сe пропонує використовувати серіалізацію примітивів синхронізація шляхом включення оператора LFENCE після оператора cmpxchq, який перевіряє стан блокування. однак, Ця міра захисту призводить до зниження продуктивності приблизно на 5% у тесті LMBench, оскільки оператор LFENCE вимикає попереджувальне виконання наступних операторів перед виконанням усіх попередніх операцій.

У випадку з гіпервізором Xen, розробники підготували зміни для реалізації захищеного механізму блокування LOCK_HARDEN, подібного до методу BRANCH_HARDEN, використаного вище. Однак через можливий негативний вплив на продуктивність і відсутність доказів атак у Xen режим LOCK_HARDEN вимкнено за замовчуванням.

нарешті, якщо ти є зацікавлений дізнатися більше про це, Ви можете перевірити деталі в за наступним посиланням.