Microsoft ha introdotto un sistema modulare aperto per la creazione del firmware UEFI

Progetto Mu

Recentemente Microsoft ha introdotto un nuovo progetto aperto, il "Project Mu", che sta sviluppando un framework per la creazione di ambienti UEFI che inizializzano l'hardware e forniscono una serie di servizi per caricare il sistema operativo.

Il firmware basato su Project Mu è già utilizzato in prodotti Microsoft come Surface e Hyper-V.

El proyecto si basa sul lavoro dello stack UEFI aperto EDK2 di TianoCore, ma non è un fork, è posto come complemento (modulo «MU»), compilato sulla base delle nuove versioni stabili di TianoCore e restituendo correzioni e modifiche specifiche di TianoCore al progetto principale.

Gli sviluppi del progetto sono distribuiti sotto licenza BSD.

Un caratteristica fondamentale del progetto Mu è lo sviluppo dell'idea di firmware come servizio (FaaS, Firmware as a Service), la cui essenza è fornire meccanismi per mantenere aggiornati il ​​firmware e l'ambiente UEFI.

FaaS consente di visualizzare il firmware come un prodotto che richiede aggiornamenti costanti per fornire rapidamente correzioni di bug e vulnerabilità agli utenti, nonché per aggiungere nuove funzionalità.

Gli sviluppatori del progetto Mu hanno cercato di risolvere i problemi che sorgono nello sviluppo del firmware UEFI, causati dal coinvolgimento di vari fornitori e dall'uso di vari componenti proprietari, soggetti a rigide restrizioni di licenza.

Fino ad ora, a causa della complessità dell'organizzazione dell'interazione tra i partner commerciali, i produttori si sono esercitati a creare un fork di una tipica base di codice durante la creazione del firmware con l'introduzione di modifiche specifiche del prodotto.

Mantenere il firmware in tali condizioni è troppo complicato e il costo delle modifiche ei rischi associati alle modifiche consentono di generare aggiornamenti solo in situazioni eccezionali.

Informazioni sul progetto Mu

Mu fornisce una serie di moduli, strumenti di compilazione e repository incentrati sul riutilizzo del codice, un processo di sviluppo collaborativo distribuito con condivisione del repository e un rigoroso controllo di qualità.

Il firmware generato può combinare componenti open source con moduli proprietari, che vengono sviluppati separatamente e il modulo stesso è collegato al prodotto finale senza violare i requisiti di licenza del detentore del copyright.

A differenza di TianoCore, Project Mu include funzionalità aggiuntive per migliorare la compatibilità con i prodotti Microsoft, aumentare la scalabilità (nel contesto della manutenzione del firmware per molti prodotti diversi che coinvolgono più aziende), semplificare la manutenzione del firmware e organizzare gli aggiornamenti pianificati.

Mu

I I componenti del progetto includono un'interfaccia utente, una tastiera su schermo, strumenti per gestire in modo sicuro le impostazioni UEFI, un bootloader ad alte prestazioni e una serie di esempi di menu BIOS.

Per aumentare la sicurezza del progetto, la base di codice TianoCore è stata ripulita da componenti obsoleti e sono state apportate modifiche per ridurre possibili vettori di attacco.

Oltre al codice, il progetto anche iInclude una serie di specifiche per l'organizzazione del processo di sviluppo del firmware, secondo il paradigma FaaS, oltre a una raccolta di test e strumenti per analizzare e ottimizzare la qualità del firmware.

Le caratteristiche principali di Mu

  • Interfaccia per configurare il firmware (DFCI, interfaccia di configurazione del firmware del dispositivo) e strumenti per la gestione dei dispositivi mobili (MDM, Mobile Device Management);
  • Il sistema di protezione della password del BIOS che PBKDF2 utilizza per l'hashing della password.
  • Supporto per la verifica dei componenti mediante firme digitali basate su EKU (Extended Key Usage).
  • Utilizzo del framework di Microsoft per i test di unità.
  • Significa controllare, verificare la funzionalità e valutare le prestazioni di tutte le capacità della piattaforma.
  • Sistema di compilazione scalabile scritto in Python.
  • Plug-in per tracciare la riscrittura delle informazioni e l'analisi del descrittore flash (descrittore Flash, framework di programmazione SPI Flash).
  • Sistema di gestione dei pacchetti binari basato sul gestore dei pacchetti NuGet.
  • La possibilità di certificazione mediante firme digitali dei componenti trasmessi utilizzando il meccanismo della capsula UEFI (mezzi per trasferire set di dati binari al firmware EFI)
  • Supporto del compilatore di Visual Studio.
  • Supporto della codifica Base64 per oggetti binari.
  • Pacchetto con supporto XML.

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.