nemrég A Microsoft bemutatott egy új nyílt projektet, a "Project Mu" -t, amely keretet fejleszt az UEFI-környezetek létrehozásához, amelyek inicializálják a hardvert és szolgáltatást nyújtanak az operációs rendszer betöltésére.
A Project Mu-alapú firmware-t már használják a Microsoft termékeiben, mint például a Surface és a Hyper-V.
A projekt a TianoCore EDK2 nyitott UEFI verem munkájára épít, de ez nem villa, hanem kiegészítőként kerül elhelyezésre («MU» modul), a TianoCore új, stabil verziói alapján összeállítva, és visszaküldve a TianoCore speciális javításait és változtatásait a fő projektben.
A projekt fejlesztéseit BSD licenc alatt terjesztik.
egy a Mu projekt legfontosabb jellemzője a firmware mint szolgáltatás ötletének fejlesztése (FaaS, Firmware as a Service), amelynek lényege, hogy mechanizmusokat biztosítson a firmware és az UEFI környezet naprakészen tartására.
A FaaS lehetővé teszi, hogy a firmware-t olyan termékként tekintse meg, amely folyamatos frissítéseket igényel, hogy gyorsan hibajavításokat és sebezhetőség-javításokat nyújtson a felhasználóknak, valamint új szolgáltatásokat adjon hozzá.
A Mu projekt fejlesztői megpróbálták megoldani az UEFI firmware fejlesztése során felmerülő problémákat, a különféle gyártók részvétele és különféle saját gyártású alkatrészek használata okozza, amelyekre szigorú licencelési korlátozások vonatkoznak.
A kereskedelmi partnerek közötti interakció megszervezésének bonyolultsága miatt a gyártók egy tipikus kódbillentyű létrehozását gyakorolták, amikor a firmware-t létrehozták a termékspecifikus módosítások bevezetésével.
A firmware fenntartása ilyen körülmények között túl bonyolult, és a módosítások költségei és a változásokkal járó kockázatok lehetővé teszik a frissítések létrehozását csak kivételes esetekben.
A Mu projektről
Mu modulok, építőeszközök és adattárak készletét kínálja, amelyek a kód újrafelhasználására, elosztott együttműködési fejlesztési folyamatra, repository megosztásra és szigorú minőség-ellenőrzésre összpontosítanak.
A létrehozott firmware egyesítheti a nyílt forráskódú komponenseket a saját fejlesztésű modulokkal, amelyeket külön fejlesztenek, és maga a modul a végtermékhez csatlakozik anélkül, hogy megsértené a szerzői jog jogosultjának licenckövetelményeit.
A TianoCore-tól eltérően A Project Mu további szolgáltatásokat tartalmaz a Microsoft termékeivel való kompatibilitás javítása érdekében, növelje a skálázhatóságot (sok különféle termék firmware-karbantartásával összefüggésben, amelyekben több vállalat is részt vesz), egyszerűsíti a firmware-karbantartást és megszervezi a tervezett frissítéseket.
sok A projekt összetevői tartalmazzák a felhasználói felületet, a képernyőn megjelenő billentyűzetet, az UEFI-beállítások biztonságos kezeléséhez szükséges eszközöket, egy nagy teljesítményű bootloader és egy sor BIOS-menüpélda.
A projekt biztonságának növelése érdekében a TianoCore kódbázist megtisztították az elavult alkatrészektől, és változtatásokat hajtottak végre a lehetséges támadási vektorok csökkentése érdekében.
A kód mellett a projekt iTartalmaz egy specifikációt a firmware fejlesztési folyamat megszervezéséhez, összhangban a FaaS paradigmával, valamint tesztek és eszközök gyűjteménye a firmware minőségének elemzésére és optimalizálására.
A Mu fő jellemzői
- Interfész a firmware (DFCI, eszköz firmware konfigurációs interfész) és a mobileszköz-kezelő eszközök (MDM, Mobile Device Management) konfigurálásához;
- Az a BIOS jelszóvédő rendszer, amelyet a PBKDF2 használ a jelszó kivonatolásához.
- Támogatás az EKU (Extended Key Usage) alapú digitális aláírásokkal történő alkatrészellenőrzéshez.
- A Microsoft keretrendszerének használata az egység teszteléséhez.
- Azt jelenti, hogy ellenőrizze, ellenőrizze a funkcionalitást és értékelje a platform összes képességének teljesítményét.
- Skálázható fordítási rendszer Pythonban írva.
- Plug-inek a Flash-leíró (Flash-leíró, SPI Flash programozási keretrendszer) információk átírásának és elemzésének nyomon követésére.
- A NuGet csomagkezelőn alapuló bináris csomagkezelő rendszer.
- Az UEFI kapszulamechanizmus segítségével továbbított komponensek digitális aláírással történő tanúsításának lehetősége (bináris adatkészletek EFI firmware-be továbbításának eszközei)
- Visual Studio fordító támogatás.
- Base64 kódolás bináris objektumok támogatása.
- Csomag XML támogatással.