Recientemente Microsoft je predstavio novi otvoreni projekt, "Project Mu", koji razvija okvir za stvaranje UEFI okruženja koja inicijaliziraju hardver i pružaju skup usluga za učitavanje operativnog sustava.
Firmware zasnovan na projektu Project Mu već se koristi u Microsoftovim proizvodima kao što su Surface i Hyper-V.
Projekt nadovezuje se na rad TianoCore EDK2 otvorenog UEFI snopa, ali nije račva, već je postavljen kao dopuna (modul «MU»), sastavljen na temelju novih stabilnih verzija TianoCore-a i vraćajući određene popravke i promjene TianoCore-a u glavni projekt.
Razvoj projekta distribuira se pod BSD licencom.
Una ključna značajka projekta Mu je razvoj ideje o firmware-u kao usluzi (FaaS, Firmware as a Service), čija je bit pružanje mehanizama za održavanje ažurnih firmware-a i UEFI okruženja.
FaaS vam omogućuje da firmware vidite kao proizvod koji zahtijeva stalna ažuriranja kako bi korisnicima brzo pružio ispravke grešaka i ranjivosti, kao i za dodavanje novih značajki.
Programeri projekta Mu pokušali su riješiti probleme koji nastaju u razvoju UEFI firmware-a, uzrokovano sudjelovanjem različitih dobavljača i upotrebom različitih zaštićenih komponenata koje podliježu strogim ograničenjima licenciranja.
Do sada su, zbog složenosti organiziranja interakcije između trgovinskih partnera, proizvođači uvježbavali stvaranje vilice tipične baze koda prilikom stvaranja firmwarea s uvođenjem modifikacija specifičnih za proizvod.
Održavanje firmvera u takvim uvjetima previše je komplicirano, a troškovi preinaka i rizici povezani s promjenama omogućuju generiranje ažuriranja samo u iznimnim situacijama.
O projektu Mu
Mu pruža skup modula, alata za izgradnju i spremišta usmjerenih na ponovnu upotrebu koda, distribuirani suradnički proces razvoja s dijeljenjem spremišta i strogu kontrolu kvalitete.
Generirani firmware može kombinirati komponente otvorenog koda s vlasničkim modulima, koji se razvijaju zasebno, a sam modul je priključen na konačni proizvod bez kršenja licencnih zahtjeva nositelja autorskih prava.
Za razliku od TianoCore, Project Mu uključuje dodatne značajke za poboljšanje kompatibilnosti s Microsoftovim proizvodima, povećati skalabilnost (u kontekstu održavanja firmvera za mnoge različite proizvode koji uključuju više tvrtki), pojednostaviti održavanje firmvera i organizirati planirana ažuriranja.
The Projektne komponente uključuju korisničko sučelje, zaslonsku tipkovnicu, alate za sigurno upravljanje UEFI postavkama, pokretački program visokih performansi i niz primjera BIOS izbornika.
Da bi se povećala sigurnost projekta, baza koda TianoCore očišćena je od zastarjelih komponenata i napravljene su promjene kako bi se smanjili mogući vektori napada.
Osim koda, projekt takođerUključuje skup specifikacija za organiziranje procesa razvoja firmvera, u skladu s FaaS paradigmom, kao i zbirka testova i alata za analizu i optimizaciju kvalitete firmware-a.
Glavne karakteristike Mu
- Sučelje za konfiguriranje firmvera (DFCI, sučelje za konfiguraciju firmvera uređaja) i alata za upravljanje mobilnim uređajima (MDM, upravljanje mobilnim uređajima);
- BIOS sustav zaštite lozinkom koji PBKDF2 koristi za raspršivanje lozinke.
- Podrška za provjeru komponenata pomoću digitalnih potpisa na temelju EKU (Proširena uporaba ključa).
- Korištenje Microsoftovog okvira za jedinstveno testiranje.
- Znači za reviziju, provjeru funkcionalnosti i procjenu izvedbe svih mogućnosti platforme.
- Skalabilni sustav kompilacije napisan na Pythonu.
- Dodaci za praćenje prepisivanja podataka i raščlanjivanja flash deskriptora (Flash Descriptor, programski okvir SPI Flash).
- Binarni sustav upravljanja paketima zasnovan na upravljaču paketima NuGet.
- Mogućnost certificiranja digitalnim potpisima prenesenih komponenata pomoću mehanizma UEFI kapsule (znači za prijenos binarnih skupova podataka na EFI firmware)
- Podrška za Visual Studio kompajler.
- Podrška za kodiranje Base64 za binarne objekte.
- Paket s XML podrškom.