Microsoft представила відкриту модульну систему для створення прошивки UEFI

Му проект

Нещодавно Microsoft представила новий відкритий проект "Project Mu", який розробляє структуру для створення середовищ UEFI, які ініціалізують обладнання та надають набір послуг для завантаження операційної системи.

Прошивка на основі проекту Mu вже використовується в таких продуктах Microsoft, як Surface та Hyper-V.

Проект спирається на роботу відкритого стеку UEFI TianoCore EDK2, але це не вилка, вона розміщена як доповнення (модуль «MU»), складений на основі нових стабільних версій TianoCore і повертає конкретні виправлення та зміни TianoCore до основного проекту.

Розробки проекту поширюються за ліцензією BSD.

Una Ключовою особливістю проекту Mu є розвиток ідеї прошивки як послуги (FaaS, Firmware as a Service), суть якої полягає у забезпеченні механізмів для оновлення мікропрограми та середовища UEFI.

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

Розробники проекту Mu намагалися вирішити проблеми, що виникають при розробці прошивки UEFI, спричинені залученням різних постачальників та використанням власних компонентів, на які поширюються жорсткі ліцензійні обмеження.

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

Підтримка мікропрограми в таких умовах надто складна, і вартість модифікацій та ризики, пов’язані зі змінами, дозволяють створювати оновлення лише у виняткових ситуаціях.

Про проект Му

Mu забезпечує набір модулів, інструментів побудови та сховищ, орієнтованих на повторне використання коду, розподілений спільний процес розробки із спільним використанням сховищ та суворий контроль якості.

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

На відміну від TianoCore, Project Mu включає додаткові функції для поліпшення сумісності з продуктами Microsoft, збільшити масштабованість (у контексті обслуговування прошивки для багатьох різних продуктів, у яких задіяні кілька компаній), спростити обслуговування прошивки та організувати заплановані оновлення.

Mu

L Компоненти проекту включають користувальницький інтерфейс, екранну клавіатуру, інструменти для безпечного управління налаштуваннями UEFI, високопродуктивний завантажувач та набір прикладів меню BIOS.

Для підвищення безпеки проекту базу коду TianoCore очистили від застарілих компонентів та внесли зміни для зменшення потенційних векторів атак.

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

Основні характеристики Му

  • Інтерфейс для налаштування мікропрограми (DFCI, інтерфейс конфігурації мікропрограми пристрою) та інструменти для управління мобільними пристроями (MDM, управління мобільними пристроями);
  • Система захисту паролем BIOS, яку PBKDF2 використовує для хешування паролів.
  • Підтримка перевірки компонентів за допомогою цифрових підписів на основі EKU (розширене використання ключів).
  • Використання фреймворку Microsoft для модульного тестування.
  • Засоби аудиту, перевірки функціональності та оцінки ефективності всіх можливостей платформи.
  • Масштабована система компіляції, написана на Python.
  • Плагіни для відстеження переписування інформації та синтаксичного аналізу флеш-дескриптора (Flash Descriptor, фреймворк програмування SPI Flash).
  • Двійкова система управління пакетами на основі менеджера пакетів NuGet.
  • Можливість сертифікації цифровими підписами переданих компонентів за допомогою механізму капсули UEFI (засіб передачі наборів двійкових даних до прошивки EFI)
  • Підтримка компілятора Visual Studio.
  • Підтримка кодування Base64 для двійкових об'єктів.
  • Пакет з підтримкою XML.

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

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

*

*

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