Microsoft Secure Boot: пролом у безпеці, виявлений через десятиліття

Secure Boot під загрозою: Microsoft роками ігнорувала вразливі компоненти

Понад десять років тому Microsoft запропонувала впровадити технологію Secure Boot для захисту операційних систем Windows від шкідливих програм, що поширюються через прошивку материнської плати (буткіти). Згодом цю розробку перейняли й творці Linux. Однак, як виявили експерти з безпеки компанії ESET, ця система захисту виявилася значно менш ефективною, ніж очікувалося.

Джерело зображення: welivesecurity.com

Джерело зображення: welivesecurity.com

Дослідники виявили 11 зловмисних завантажувальних компонентів, які продовжували мати дійсний цифровий підпис від Microsoft. Ці компоненти, відомі як “shim” (або “прошарки”), відіграють ключову роль у функціонуванні Secure Boot для комп’ютерів з операційною системою Linux. Зловмисники можуть використовувати застарілі, забуті версії цих shim для обходу механізмів безпеки UEFI (Unified Extensible Firmware Interface), вбудованих у материнську плату комп’ютера.

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

Суть проблеми

Експерти ESET наголошують, що для обходу захисту UEFI Secure Boot не потрібна жодна нова уразливість. Достатньо мати копію старого, все ще довіреного та не відкликаного бінарного файлу shim, а також базове розуміння принципів роботи shim UEFI.

Хто був залучений?

  • Деякі з 11 виявлених екземплярів shim використовувалися розробниками дистрибутивів Linux, зокрема Red Hat, OpenSUSE та Oracle.
  • Також ці компоненти застосовувалися розробниками програмного забезпечення, такими як PC-Doctor.
  • Серед користувачів виявився навіть організатор випускних іспитів у Фінляндії.

Якщо Secure Boot взаємодіє з Windows безпосередньо, то shim підписуються виключно Microsoft, яка й несе відповідальність за їх відкликання. Ці механізми безпеки базуються на двох базах даних:

  • db: містить перелік усіх дозволених сертифікатів підпису та хешів Authenticode.
  • dbx: містить перелік тих, яким більше не довіряють.

Проте, через обмежений розмір бази dbx (лише 32 КБ), Microsoft вирішила вказувати в ній не хеші, а номери версій компонентів.

Механізм SBAT та його недоліки

Для уникнення необхідності зберігати величезний список заборонених файлів було запроваджено механізм мінімальної допустимої версії (SBAT). Сучасні shim-компоненти можуть перевіряти власну версію та версії всіх компонентів, що завантажуються, відмовляючись запускати надто старі. Проблема, виявлена ESET, полягає в тому, що багато shim-компонентів були створені до появи цих механізмів або містили відомі уразливості. Microsoft роками не відкликала їх, тому UEFI продовжував вважати їх довіреними.

На щастя, ця проблема була вирішена в останніх оновленнях. Для Windows 11 відповідне оновлення вийшло лише в червні. У випадку з Linux ситуація дещо складніша, оскільки розробкою дистрибутивів займаються різні постачальники. Рекомендується звертатися до них безпосередньо. Актуальний статус відкликаних shim-компонентів можна перевірити за допомогою запуску скрипта “uefi-dbx-audit”.

Порада від Soft Portal:

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

No votes yet.
Please wait...

Leave a Reply

Your email address will not be published. Required fields are marked *