Microsoft a introduit un système modulaire ouvert pour créer un micrologiciel UEFI

Projet Mu

Récemment Microsoft a introduit un nouveau projet ouvert, le "Project Mu", qui développe un cadre pour la création d'environnements UEFI qui initialisent le matériel et fournissent un ensemble de services pour charger le système d'exploitation.

Le micrologiciel basé sur Project Mu est déjà utilisé dans les produits Microsoft tels que Surface et Hyper-V.

Le projet s'appuie sur le travail de la pile UEFI ouverte TianoCore EDK2, mais ce n'est pas un fork, il est placé en complément (module «MU»), compilé sur la base de nouvelles versions stables de TianoCore et renvoyant des correctifs et des modifications TianoCore spécifiques au projet principal.

Les développements du projet sont distribués sous licence BSD.

Une la caractéristique clé du projet Mu est le développement de l'idée de firmware en tant que service (FaaS, Firmware as a Service), dont l'essence est de fournir des mécanismes pour maintenir à jour le firmware et l'environnement UEFI.

FaaS vous permet de voir le micrologiciel comme un produit qui nécessite des mises à jour constantes pour fournir rapidement des corrections de bogues et de vulnérabilités aux utilisateurs, ainsi que pour ajouter de nouvelles fonctionnalités.

Les développeurs du projet Mu ont tenté de résoudre les problèmes qui se posent lors du développement du firmware UEFI, causée par l'implication de divers fournisseurs et l'utilisation de divers composants propriétaires, qui sont soumis à des restrictions de licence strictes.

Jusqu'à présent, en raison de la complexité de l'organisation de l'interaction entre les partenaires commerciaux, les fabricants se sont entraînés à créer un fork d'une base de code typique lors de la création d'un micrologiciel avec l'introduction de modifications spécifiques au produit.

La maintenance du firmware dans de telles conditions est trop compliquée et le coût des modifications et les risques associés aux changements ne permettent de générer des mises à jour que dans des situations exceptionnelles.

À propos du projet Mu

Mu fournit un ensemble de modules, des outils de création et des référentiels axés sur la réutilisation du code, un processus de développement collaboratif distribué avec partage de référentiels et un contrôle qualité strict.

Le micrologiciel généré peut combiner des composants open source avec des modules propriétaires, qui sont développés séparément et le module lui-même est attaché au produit final sans enfreindre les exigences de licence du détenteur des droits d'auteur.

Contrairement à TianoCore, Project Mu inclut des fonctionnalités supplémentaires pour améliorer la compatibilité avec les produits Microsoft, augmentez l'évolutivité (dans le contexte de la maintenance du micrologiciel pour de nombreux produits différents auxquels participent plusieurs sociétés), simplifiez la maintenance du micrologiciel et organisez les mises à jour planifiées.

Mu

Les Les composants du projet comprennent une interface utilisateur, un clavier à l'écran, des outils pour gérer en toute sécurité les paramètres UEFI, un chargeur de démarrage hautes performances et un ensemble d'exemples de menus BIOS.

Pour augmenter la sécurité du projet, la base de code TianoCore a été nettoyée des composants obsolètes et des modifications ont été apportées pour réduire les vecteurs d'attaque possibles.

Outre le code, le projet aussi iComprend un ensemble de spécifications pour organiser le processus de développement du micrologiciel, conformément au paradigme FaaS, ainsi qu'une collection de tests et d'outils pour analyser et optimiser la qualité du firmware.

Les principales caractéristiques de Mu

  • Interface pour configurer le micrologiciel (DFCI, interface de configuration du micrologiciel de l'appareil) et les outils de gestion des appareils mobiles (MDM, Mobile Device Management);
  • Le système de protection par mot de passe du BIOS utilisé par PBKDF2 pour le hachage de mot de passe.
  • Prise en charge de la vérification des composants à l'aide de signatures numériques basées sur EKU (Extended Key Usage).
  • Utilisation du cadre de Microsoft pour les tests unitaires.
  • Moyens d'auditer, de vérifier la fonctionnalité et d'évaluer les performances de toutes les capacités de la plate-forme.
  • Système de compilation évolutif écrit en Python.
  • Plug-ins pour suivre la réécriture et l'analyse des informations du descripteur flash (Flash Descriptor, framework de programmation SPI Flash).
  • Système de gestion de packages binaires basé sur le gestionnaire de packages NuGet.
  • La possibilité de certification par signatures numériques des composants transmis en utilisant le mécanisme capsule UEFI (moyen de transfert des ensembles de données binaires vers le firmware EFI)
  • Prise en charge du compilateur Visual Studio.
  • Prise en charge de l'encodage Base64 pour les objets binaires.
  • Package avec support XML.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.