Вразливість у чіпсетах Intel, що дозволяє витягти кореневий ключ платформи

Дослідники з компанії Positive Technologies виявили вразливість (CVE-2019-0090), що дозволяє за наявності фізичного доступу до обладнання витягти кореневий ключ платформи (Chipset key), який використовується як корінь довіри при перевірці справжності різних компонентів платформи, включаючи прошивки TPM (Trusted Platform Module) та UEFI.

Вразливість викликана помилкою в обладнанні та в прошивці Intel CSME, яка розміщується в завантажувальному ПЗП, що не дозволяє усунути проблему у пристроях, що вже використовуються. Через наявність вікна під час перезапуску Intel CSME (наприклад, при виході з режиму сну), через маніпуляції з DMA можна записати дані в статичну пам'ять Intel CSME і змінити вже ініціалізовані таблиці сторінок пам'яті Intel CSME для перехоплення виконання, вилучення ключа платформи та отримання контролю за генерацією ключів шифрування для модулів Intel CSME Деталі експлуатації вразливості планується опублікувати пізніше.

Крім вилучення ключа помилка також дозволяє досягти виконання коду на нульовому рівні привілеїв Intel CSME (Converged Security and Manageability Engine). Проблема торкається більшості випущених за останні п'ять років чіпсетів Intel, але в 10 покоління процесорів (Ice Point) проблема вже не проявляється. Intel стало відомо про проблему близько року тому і у травні 2019 року було випущено оновлення прошивок, які, хоч і не можуть змінити вразливий код у ПЗУ, але намагаються на рівні окремих модулів Intel CSME блокувати можливі шляхи експлуатації.

З можливих наслідків отримання кореневого ключа платформи згадується підтримка прошивок компонентів Intel CSME, компрометація систем шифрування носіїв на базі Intel CSME, а також можливість підробки ідентифікаторів EPID (Enhanced Privacy ID) щоб видати свій комп'ютер за інший для обходу захисту DRM. У разі компрометації окремих модулів CSME компанія Intel передбачила можливість перегенерації пов'язаних із ними ключів за допомогою механізму SVN (Security Version Number). У разі доступу до кореневого ключа платформи цей механізм не ефективний, оскільки кореневий ключ платформи застосовується для генерації ключа для шифрування блоку контролю цілісності (ICVB, Integrity Control Value Blob), отримання якого, у свою чергу, дозволяє підробити код будь-якого з модулів прошивки Intel CSME. .

При цьому наголошується, що кореневий ключ платформи зберігається в зашифрованому вигляді і для повної компрометації додатково потрібно визначити апаратний ключ, що зберігається у SKS (Secure Key Storage). Вказаний ключ не є унікальним і однаковим для кожного покоління чіпсетів Intel. Так як помилка дозволяє виконати код на стадії до блокування механізму генерації ключа SKS, прогнозується, що рано чи пізно даний апаратний ключ буде визначений.

Джерело: opennet.ru

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