Дві нові вразливості в eBPF забезпечують обхідний захист від Spectre 4

Привид логотип

Нещодавно новина про це заявила було виявлено дві вразливі місця в ядрі Linux це дозволяють використовувати підсистеми eBPF для обходу захисту від атаки Spectre 4 (SSB, Спеціальний обхід магазину). Згадується, що за допомогою непривілейованої програми BPF зловмисник може створити умови для спекулятивного виконання певних операцій та визначити вміст довільних областей пам'яті ядра.

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

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

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

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

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

PoC були надані приватним особам з підтримки підсистеми БНФ допомога в розробці домовленостей.

Перша вразливість CVE-2021-35477: це викликано вадою у механізмі перевірки програми БНФ. Для захисту від атаки Spectre 4 програма перевірки додає додаткову інструкцію після потенційно проблемних операцій збереження в пам’яті, зберігаючи нульове значення для зміщення слідів попередньої операції.

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

Друга вразливість CVE-2021-3455: пов'язаний з тим, що коли перевірка BPF виявляє потенційно небезпечні операції збереження в пам'яті, неініціалізовані області стека BPF, перша операція запису, в якій він не захищений, ігноруються.

Ця функція призводить до можливості виконання спекулятивних операцій зчитування, в залежності від неініціалізованої області пам'яті, перед виконанням інструкції зберігання. Нова пам’ять для стека BPF виділяється без перевірки вмісту, що вже є у виділеній пам’яті, а на етапі перед запуском програми BPF є спосіб керування вмістом області пам’яті, який потім буде виділений стека БНФ.

Доступне рішення продовжує впроваджувати методи пом'якшення рекомендовано постачальниками процесорів і доступне в основному ядрі git сховище.

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

Проблеми виправляються у вигляді виправлень, які будуть включені до наступного оновлення ядра Linux, тому оновлення для різних дистрибутивів почнуть надходити протягом наступних кількох днів.

Фуенте: https://www.openwall.com/


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

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

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