Дослідники з Vrije Universiteit Amsterdam оголошено, через допис у блозі, до "Training Solo, нове сімейство атак Spectre-v2 що використовують недоліки в спекулятивному прогнозуванні для порушення меж безпеки між привілейованими та непривілейованими просторами виконання, безпосередньо впливаючи на процесори Intel.
Нові методи дозволити вилучення конфіденційного контенту з ядра або гіпервізор зі швидкістю до 17 КБ за секунду, навіть на системах, що використовують сучасні засоби захисту, такі як IBPB, eIBRS або BHI_NO.
Тренувальний соло, нове обличчя Spectre-v2 знову з'являється з силою
З моменту свого відкриття Spectre-v2 була одним із найскладніших класів вразливостей для усунення через свою спекулятивну природу та «…«Тренування соло», знову ж таки постає вирішальна проблема, оскільки для впливу на предиктор розгалуження не потрібен жодний код, контрольований зловмисником, а натомість покладається на існуючі фрагменти коду (гаджети) в ядрі або гіпервізорі для навчання предиктора з простору користувача.
Наша робота демонструє, що зловмисники можуть спекулятивно захоплювати потік керування в межах одного домену (наприклад, ядра) та витікати секрети через межі привілеїв, відроджуючи класичні сценарії Spectre-v2 без використання потужних пісочниць, таких як eBPF. Ми створили новий тестовий набір для аналізу предиктора розгалуження у сценарії самонавчання.
Слідчі показали, що маніпулюючи цими гаджетами (наприклад, використання фільтрів SECCOMP на основі cBPF) спекулятивне виконання може бути індуковано що призводить до витоку даних із привілейованої системи.
Завдяки цій техніці, яка називається «індивідуальне навчання», історію предиктора можна змінити виделок щоб під час спекулятивного виконання відбувалися неправильні переходи, з метою витоку вмісту пам'яті через побічні ефекти в кеші.
L Тренування Сольні атаки бувають трьох варіантів, кожен з яких використовує різні слабкі сторони:
- Маніпулювання історією гілок за допомогою гаджетів ядраВикористовує системні виклики, такі як SECCOMP, де фільтри можуть ініціювати помилкові спекулятивні розгалуження, витікаючи пам'ять зі швидкістю 1,7 КБ/с на процесорах Intel Tiger Lake та Lion Cove.
- Колізії вказівників інструкцій (IP) у буфері прогнозування розгалужень (BTB): Тут дві різні непрямі гілки можуть впливати одна на одну, якщо їхні адреси стикаються в буфері, що дозволяє неправильно передбачити спекулятивні пункти призначення.
- Впливи між прямими та непрямими гілками: Цей метод, заснований на двох конкретних вразливостях (CVE-2024-28956 (ITS) та CVE-2025-24495), використовує те, як прямі розгалуження можуть впливати на прогнозування непрямих розгалужень. Використовуючи цей підхід, хеш пароля root було відновлено після виконання команди passwd -s лише за 60 секунд.
Наша робота зосереджена на подоланні ізоляції домену за допомогою атак самонавчання. Однак, проблеми з апаратним забезпеченням, виявлені в нашому тестовому наборі, також впливають на реалізацію ізоляції, оскільки передбачалося, що прямі гілки не будуть використовуватися для навчання непрямих гілок.
Вплив та масштаби нових вразливостей
Напади впливають на широкий спектр процесорів Intel, включаючи популярні лінійки, такі як Coffee Lake, Tiger Lake, Ice Lake та Rocket Lake, а також сервери Xeon 2-го та 3-го поколінь. Крім того, архітектури Lunar Lake та Arrow Lake також вразливі до CVE-2025-24495.
Щоб пом'якшити ці атаки, Intel випустила оновлення мікрокоду яка вводить нову інструкцію: IBHF (Indirect Branch History Fence), призначену для запобігання забрудненню історії гілок. Цю зміну необхідно реалізувати явно після будь-якого коду, який впливає на предиктор розгалуження. Для старіших процесорів рекомендується використовувати програмні рішення, які вручну очищують історію.
Зі свого боку, розробники ядра Linux вже почав інтегрувати патчі для протидії цим методам., включаючи заходи, що переміщують непрямі переходи з чутливих областей кешу та захист від cBPF.
AMD, зі свого боку, підтвердила, що Ці методи не впливають на ваші процесори. ARM зазначила, що будуть доступні лише її старіші чіпи, без підтримки розширень FEAT_CSV2_3 та FEAT_CLRBHB.
Нарешті, якщо вам цікаво дізнатися більше про це, ви можете ознайомитися з деталями У наступному посиланні.