BHI: нова вразливість класу Spectre, яка впливає на Intel і ARM

Дослідники Вільного університету Амстердама оголошено нещодавно знайшов нова вразливість, яка є розширеною версією вразливості Spectre-v2 на процесорах Intel і ARM.

Ця нова вразливість, до якої хрестилися як BHI (Ін'єкція історії філії, CVE-2022-0001), bhb (Буфер історії філії, CVE-2022-0002) і Spectre-BHB (CVE-2022-23960), характеризується тим, що дозволяє обійти механізми захисту eIBRS і CSV2, додані до процесорів.

Уразливість описується в різних проявах однієї проблеми, оскільки BHI – це атака, яка впливає на різні рівні привілеїв, наприклад, на процес користувача та ядро, тоді як BHB – це атака на тому самому рівні привілеїв, наприклад, eBPF JIT та ядро.

Про вразливість

Концептуально, BHI є розширеним варіантом атаки Spectre-v2, в якому можна обійти додатковий захист (Intel eIBRS і Arm CSV2) і організувати витік даних, заміну значень у буфері глобальною історією гілок (Branch History Buffer), яка використовується в ЦП для підвищення точності передбачення гілок. з урахуванням історії минулих переходів.

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

За винятком використання буфера історії версій замість буфера цільової версії, нова атака ідентична Spectre-v2. Завдання зловмисника – створити такі умови, щоб адреса, при виконанні спекулятивної операції вона береться з області даних, що визначаються.

Після виконання спекулятивного непрямого переходу зчитана з пам'яті адреса переходу залишається в кеші, після чого один із методів визначення вмісту кешу може бути використаний для його отримання на основі аналізу зміни часу доступу до кешу та некешованого. дані.

Дослідники продемонстрували функціональний експлойт, який дозволяє простору користувача витягувати довільні дані з пам'яті ядра.

Наприклад, показано, як, використовуючи підготовлений експлойт, можна витягти з буферів ядра рядок з хешем пароля користувача root, завантаженого з файлу /etc/shadow.

Експлойт демонструє можливість використання вразливості в межах одного рівня привілеїв (атака від ядра до ядра) за допомогою завантаженої користувачами програми eBPF. Також не виключається можливість використання в коді ядра існуючих гаджетів Spectre, скриптів, які призводять до спекулятивного виконання інструкцій.

Вразливість з'являється на більшості сучасних процесорів Intel, за винятком процесорів сімейства Atom і кількох процесорів ARM.

Згідно з дослідженнями, уразливість не проявляється на процесорах AMD. Для вирішення проблеми запропоновано кілька методів. програмне забезпечення для блокування уразливості, яке можна використовувати до появи апаратного захисту в майбутніх моделях ЦП.

Щоб блокувати атаки через підсистему eBPF, сРекомендується вимкнути за замовчуванням можливість завантаження програм eBPF непривілейованими користувачами, записавши 1 у файл «/proc/sys/kernel/unprivileged_bpf_disabled» або запустивши команду «sysctl -w kernel .unprivileged_bpf_disabled=1».

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

Рекомендації Intel щодо вимкнення непривілейованого доступу до eBPF також застосовуються за замовчуванням, починаючи з ядра Linux 5.16, і будуть перенесені на попередні гілки.

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


Зміст статті відповідає нашим принципам редакційна етика. Щоб повідомити про помилку, натисніть тут.

Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований.

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.