Microsoft hat ein offenes modulares System zum Erstellen von UEFI-Firmware eingeführt

Mu Projekt

Recientemente Microsoft hat ein neues offenes Projekt eingeführt, das "Project Mu"., das ein Framework zum Erstellen von UEFI-Umgebungen entwickelt, die Hardware initialisieren und eine Reihe von Diensten zum Laden des Betriebssystems bereitstellen.

Die auf Project Mu basierende Firmware wird bereits in Microsoft-Produkten wie Surface und Hyper-V verwendet.

Das Projekt baut auf der Arbeit des offenen UEFI-Stacks TianoCore EDK2 auf, aber es ist keine Gabel, es wird als Ergänzung platziert (Modul «MU»), Kompiliert auf der Grundlage neuer stabiler Versionen von TianoCore und Rückgabe spezifischer TianoCore-Korrekturen und Änderungen am Hauptprojekt.

Die Entwicklungen des Projekts werden unter der BSD-Lizenz vertrieben.

Eine Hauptmerkmal des Mu-Projekts ist die Entwicklung der Idee von Firmware als Service (FaaS, Firmware as a Service), dessen Kern darin besteht, Mechanismen bereitzustellen, um die Firmware und die UEFI-Umgebung auf dem neuesten Stand zu halten.

Mit FaaS können Sie Firmware als ein Produkt anzeigen, das ständig aktualisiert werden muss, um Benutzern schnell Fehler- und Schwachstellenkorrekturen bereitzustellen und neue Funktionen hinzuzufügen.

Die Entwickler des Mu-Projekts versuchten, die Probleme zu lösen, die bei der Entwicklung der UEFI-Firmware auftreten. verursacht durch die Beteiligung verschiedener Anbieter und die Verwendung verschiedener proprietärer Komponenten, die strengen Lizenzbeschränkungen unterliegen.

Aufgrund der Komplexität der Organisation der Interaktion zwischen Handelspartnern haben Hersteller bisher geübt, beim Erstellen von Firmware mit der Einführung produktspezifischer Änderungen einen Zweig einer typischen Codebasis zu erstellen.

Die Wartung der Firmware unter solchen Bedingungen ist zu kompliziert und die Kosten für Änderungen und Risiken im Zusammenhang mit Änderungen ermöglichen es Ihnen, Updates nur in Ausnahmesituationen zu generieren.

Über das Mu-Projekt

Mu bietet eine Reihe von Modulen, Build-Tools und Repositorys, die sich auf die Wiederverwendung von Code konzentrieren, einen verteilten kollaborativen Entwicklungsprozess mit Repository-Freigabe und eine strikte Qualitätskontrolle.

Die generierte Firmware kann Open Source-Komponenten mit proprietären Modulen kombinieren, die separat entwickelt werden und das Modul selbst an das Endprodukt angeschlossen wird, ohne die Lizenzanforderungen des Copyright-Inhabers zu verletzen.

Im Gegensatz zu TianoCore Project Mu enthält zusätzliche Funktionen zur Verbesserung der Kompatibilität mit Microsoft-ProduktenErhöhen Sie die Skalierbarkeit (im Zusammenhang mit der Firmware-Wartung für viele verschiedene Produkte, an denen mehrere Unternehmen beteiligt sind), vereinfachen Sie die Firmware-Wartung und organisieren Sie geplante Updates.

Mu

Die Zu den Projektkomponenten gehören eine Benutzeroberfläche, eine Bildschirmtastatur, Tools zur sicheren Verwaltung der UEFI-Einstellungen, Ein Hochleistungs-Bootloader und eine Reihe von BIOS-Menübeispielen.

Um die Sicherheit des Projekts zu erhöhen, wurde die TianoCore-Codebasis von veralteten Komponenten befreit und Änderungen vorgenommen, um mögliche Angriffsmethoden zu reduzieren.

Neben dem Code ist das Projekt auch iEnthält eine Reihe von Spezifikationen für die Organisation des Firmware-Entwicklungsprozesses, gemäß dem FaaS-Paradigma, sowie eine Sammlung von Tests und Tools zur Analyse und Optimierung der Qualität der Firmware.

Die Hauptmerkmale von Mu

  • Schnittstelle zum Konfigurieren von Firmware (DFCI, Gerätefirmware-Konfigurationsschnittstelle) und Tools für die Verwaltung mobiler Geräte (MDM, Verwaltung mobiler Geräte);
  • Das BIOS-Passwortschutzsystem, das PBKDF2 für das Passwort-Hashing verwendet.
  • Unterstützung für die Überprüfung von Komponenten mithilfe digitaler Signaturen basierend auf EKU (Extended Key Usage).
  • Verwenden des Microsoft-Frameworks zum Testen von Einheiten.
  • Mittel zum Prüfen, Überprüfen der Funktionalität und Bewerten der Leistung aller Funktionen der Plattform.
  • Skalierbares Kompilierungssystem, geschrieben in Python.
  • Plug-Ins zum Nachverfolgen und Parsen von Informationen des Flash-Deskriptors (Flash-Deskriptor, SPI-Flash-Programmierframework).
  • Binäres Paketverwaltungssystem basierend auf dem NuGet-Paketmanager.
  • Die Möglichkeit der Zertifizierung übertragener Komponenten durch digitale Signaturen mithilfe des UEFI-Kapselmechanismus (Mittel zur Übertragung von Binärdatensätzen an die EFI-Firmware)
  • Unterstützung für Visual Studio-Compiler.
  • Base64-Codierungsunterstützung für binäre Objekte.
  • Paket mit XML-Unterstützung.

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.