Дві атаки на механізм прогнозування каналів кешу в процесорах AMD

Група дослідників із Грацького технічного університету (Австрія), раніше відома розробкою методів атак MDS, NetSpectre, Throwhammer и ZombieLoad, провела дослідження специфічних для процесорів AMD апаратних оптимізацій та розробила два нових методи атак по сторонніх каналах, що маніпулюють витоками даних у процесі роботи механізму передбачення каналів кешу першого рівня процесорів AMD. Методи можуть використовуватися для зниження ефективності захисту ASLR, відновлення ключів у вразливих реалізаціях AES та підвищення ефективності атаки Spectre.

Проблеми виявлені в реалізації механізму передбачення каналу (way predictor) в кеші даних першого рівня CPU (L1D), що використовується для передбачення в якому каналі кеша відображено певну адресу пам'яті. Оптимізація, що застосовується в процесорах AMD, ґрунтується на перевірці μ-тегів (μTag). μTag обчислюється через застосування специфічної хеш-функції до віртуальної адреси. У процесі роботи механізм передбачення каналу використовує μTag визначення каналу кеша по таблиці. Таким чином, μTag дозволяє процесору обмежитися зверненням лише до конкретного каналу, без перебору всіх варіантів, що суттєво знижує споживання енергії CPU.

Дві атаки на механізм прогнозування каналів кешу в процесорах AMD

У ході зворотного інжинірингу реалізації системи передбачення каналу в різних поколіннях процесорів AMD, що випускаються з 2011 по 2019 рік, виявлено дві нові техніки атак по сторонніх каналах:

  • Collide+Probe – дає можливість атакуючому відстежувати звернення до пам'яті для процесів, що виконуються на тому ж логічному ядрі CPU. Суть методу використання віртуальних адрес, що викликають колізії хеш функції, застосовуваної для обчислення μTag, для відстеження доступу до пам'яті. На відміну від атак Flush+Reload і Prime+Probe, що застосовуються на процесорах Intel, Collide+Probe не використовує пам'ять, що розділяється, і працює без знання фізичних адрес.
  • Load+Reload - дозволяє дуже точно визначати сліди доступу до пам'яті на тому самому фізичному ядрі CPU. Метод ґрунтується на тому, що осередок фізичної пам'яті може перебувати в кеші L1D лише один раз. Тобто. доступ до однієї і тієї ж комірки пам'яті за іншою віртуальною адресою призведе до витіснення комірки з кешу L1D, що дозволяє відстежувати доступ до пам'яті. Незважаючи на те, що атака залежить від пам'яті, що розділяється, вона не призводить до скидання ліній кешу, що дає можливість проведення прихованих атак, що не витісняють дані з кеша останнього рівня.

На основі технік Collide+Probe та Load+Reload дослідниками продемонстровано кілька сценаріїв атаки по сторонніх каналах:

  • Показано можливість використання методів для організації прихованого непрямого каналу зв'язку між двома процесами, що дозволяє передавати дані на швидкості до 588 кB в секунду.
  • Використовуючи колізії в μTag вдалося досягти скорочення ентропії для різних варіантів ASLR (Address Space Layout Randomization) та обійти захист ASLR в ядрі на повністю оновленій Linux-системі. Показана можливість здійснення атаки зі зниження ентропії ASLR як з додатків користувача, так і за допомогою JavaScript-коду, що виконується в sandbox-оточенні, і коду, запущеного в іншому гостьовому оточенні.

    Дві атаки на механізм прогнозування каналів кешу в процесорах AMD

  • На базі методу Collide+Probe реалізовано атаку відновлення ключа шифрування з вразливої ​​реалізації (на основі T-table) Шифрування AES.
  • Застосувавши метод Collide+Probe як канал для отримання даних під час атаки Spectre вдалося витягти закриті дані з ядра, не використовуючи пам'ять, що розділяється.

Вразливість проявляється на процесорах AMD з урахуванням мікроархітектур
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen + та Zen2.
Компанія AMD була повідомлена про проблему 23 серпня 2019 року, але поки що не випустила звіт з інформацією про блокування вразливості За даними дослідників проблему можна блокувати на рівні оновлення мікрокоду через надання MSR-бітів для вибіркового відключення системи передбачення каналу, за аналогією з тим, як надійшла компанія Intel для управління відключенням механізмів прогнозування переходів.

Дві атаки на механізм прогнозування каналів кешу в процесорах AMD

Джерело: opennet.ru

Додати коментар або відгук