Microsoft introduceerde een open modulair systeem voor het maken van UEFI-firmware

Mu-project

Onlangs Microsoft heeft een nieuw open project geïntroduceerd, het "Project Mu", dat een raamwerk ontwikkelt voor het maken van UEFI-omgevingen die hardware initialiseren en een reeks services bieden om het besturingssysteem te laden.

Op Project Mu gebaseerde firmware wordt al gebruikt in Microsoft-producten zoals Surface en Hyper-V.

El proyecto bouwt voort op het werk van de TianoCore EDK2 open UEFI-stack, maar het is geen vork, het wordt geplaatst als een complement (module «MU»), samengesteld op basis van nieuwe stabiele versies van TianoCore en het retourneren van specifieke TianoCore-fixes en wijzigingen aan het hoofdproject.

De ontwikkelingen van het project worden gedistribueerd onder de BSD-licentie.

een belangrijkste kenmerk van het Mu-project is de ontwikkeling van het idee van firmware als een service (FaaS, Firmware as a Service), waarvan de essentie is om mechanismen te bieden om de firmware en de UEFI-omgeving up-to-date te houden.

Met FaaS kunt u firmware zien als een product dat constante updates vereist om snel bug- en kwetsbaarheidsfixes aan gebruikers te bieden, en om nieuwe functies toe te voegen.

De ontwikkelaars van het Mu-project probeerden de problemen op te lossen die zich voordoen bij de ontwikkeling van UEFI-firmware, veroorzaakt door de betrokkenheid van verschillende leveranciers en het gebruik van verschillende propriëtaire componenten, die onderhevig zijn aan strikte licentiebeperkingen.

Tot nu toe hebben fabrikanten, vanwege de complexiteit van het organiseren van de interactie tussen handelspartners, geoefend met het maken van een vork van een typische codebasis bij het maken van firmware met de introductie van productspecifieke wijzigingen.

Het onderhouden van de firmware in dergelijke omstandigheden is te ingewikkeld en door de kosten van aanpassingen en de risico's die aan wijzigingen zijn verbonden, kunt u alleen in uitzonderlijke situaties updates genereren.

Over het Mu-project

Mu biedt een reeks modules, bouwtools en repositories gericht op hergebruik van code, een gedistribueerd ontwikkelingsproces voor samenwerking met het delen van repository's en strikte kwaliteitscontrole.

De gegenereerde firmware kan open source-componenten combineren met propriëtaire modules, die afzonderlijk worden ontwikkeld en de module zelf wordt aan het eindproduct bevestigd zonder de licentievereisten van de copyrighthouder te schenden.

In tegenstelling tot TianoCore, Project Mu bevat extra functies om de compatibiliteit met Microsoft-producten te verbeteren, schaalbaarheid vergroten (in de context van firmware-onderhoud voor veel verschillende producten waarbij meerdere bedrijven betrokken zijn), firmware-onderhoud vereenvoudigen en geplande updates organiseren.

Mu

De Projectcomponenten omvatten een gebruikersinterface, een toetsenbord op het scherm, tools om UEFI-instellingen veilig te beheren, een krachtige bootloader en een reeks BIOS-menuvoorbeelden.

Om de veiligheid van het project te vergroten, werd de TianoCore-codebasis verwijderd van verouderde componenten en werden wijzigingen aangebracht om mogelijke aanvalsvectoren te verminderen.

Naast de code, het project ook iBevat een set specificaties voor het organiseren van het firmware-ontwikkelingsproces, in overeenstemming met het FaaS-paradigma, evenals een verzameling tests en tools om de kwaliteit van de firmware te analyseren en te optimaliseren.

De belangrijkste kenmerken van Mu

  • Interface voor het configureren van firmware (DFCI, configuratie-interface voor apparaatfirmware) en tools voor beheer van mobiele apparaten (MDM, Mobile Device Management);
  • Het BIOS-wachtwoordbeveiligingssysteem dat PBKDF2 gebruikt voor het hashen van wachtwoorden.
  • Ondersteuning voor componentverificatie met behulp van digitale handtekeningen op basis van EKU (Extended Key Usage).
  • Het raamwerk van Microsoft gebruiken voor het testen van eenheden.
  • Middelen om de functionaliteit van alle mogelijkheden van het platform te controleren, verifiëren en evalueren.
  • Schaalbaar compilatiesysteem geschreven in Python.
  • Plug-ins om het herschrijven van informatie en het parseren van de flash-descriptor bij te houden (Flash Descriptor, SPI Flash-programmeerframework).
  • Binair pakketbeheersysteem op basis van de NuGet-pakketbeheerder.
  • De mogelijkheid van certificering door digitale handtekeningen van verzonden componenten met behulp van het UEFI-capsulemechanisme (middel om binaire gegevenssets over te brengen naar EFI-firmware)
  • Ondersteuning voor Visual Studio-compilers.
  • Base64-coderingsondersteuning voor binaire objecten.
  • Pakket met XML-ondersteuning.

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.