Az UEFI Secure Boot Advanced Targeting (SBAT) támogatása várhatóan teljeskörűen bekerül a mainline Linux kernelbe a közelgő 6.17-es ciklus során. Az SBAT célja, hogy új mechanizmust biztosítson az UEFI Secure Boot keretében aláírt binárisok visszavonásának hatékonyabb kezelésére. Az SBAT lehetővé teszi, hogy a bootfolyamatban részt vevő egyes komponensek saját SBAT-generációs számot deklaráljanak. Amikor egy sérülékenység vagy más alapvető probléma javításra kerül, ez a generációs szám növelhető. A rendszerek így képesek lesznek csak olyan komponenseket elindítani, amelyek megfelelnek egy meghatározott minimális SBAT-generációs követelménynek, ezzel kizárva az elavult vagy sebezhető elemek elindulását a bootláncban.
Tartalomjegyzék

Túlterhelt visszavonási mechanizmusok és a BootHole tanulsága
A UEFI Secure Boot rendszerek jelenlegi működése jelentős kihívások elé állítja a gyártókat és fejlesztőket, különösen amikor biztonsági hibák miatt szoftverkomponenseket kell visszavonni. A rendszer jelenleg két fő aláírási hatóságot ismer el: a Microsoft UEFI és a Windows tanúsítványkiadókat. Mivel ezek aláírási tanúsítványainak visszavonása túl sok drivert és alkalmazást érintene, a gyakorlatban leginkább képhash-alapú visszavonás történik. A 2020-as BootHole sebezhetőség azonban világossá tette ennek hatékonyságbeli korlátait.
Egyetlen esemény során három tanúsítvány és százötven hash került a visszavonási adatbázisba, ami a legtöbb rendszer 32 kB-os kapacitásának harmadát foglalta el. Mivel a revokációs listák összeolvasztódnak, az adatbázis mérete azóta elérheti az 50%-os telítettséget is. Ez a hatalmas terhelés nemcsak tárhelyet emészt fel, hanem hónapokig tartó koordinációt, fejlesztést és tesztelést igényel, amelyet minden érintett szereplőnek el kell végeznie. Ráadásul, ha új funkciók vagy hibajavítások miatt frissíteni kell egy shimet, minden aláíró félnek saját példányt kell előállítania, ami a komplexitást tovább növeli.
Új irány: generációs alapú visszavonás és egyesített shim modellek
A Microsoft és partnerei a jövőbeni hasonló válságok megelőzése érdekében új visszavonási megközelítéseken dolgoznak, amelyek kompatibilisek maradnak a jelenlegi UEFI firmware-ekkel, de drámaian növelik a hatékonyságot. Az egyik ilyen fejlesztés az SBAT néven ismert, mely egy generációs számokon alapuló visszavonási rendszer, amely lehetővé teszi, hogy egy adott komponens (például shim, GRUB vagy kernel) különböző verzióit egyetlen bejegyzésen belül nyilvánítsák megbízhatatlanná.
Az SBAT metaadatai tartalmazzák a gyártó, termék, komponens és verzió azonosítóit, valamint a hozzárendelt generációs számot. Az UEFI SbatLevel változóban tárolt adatok lehetővé teszik, hogy globális és termékspecifikus minimum generációkat írjanak elő, ezzel kikerülve a hash-ek redundáns használatát. Ha egy komponens hibátlanul kijavít egy CVE-t, a globális generációs szám egyszerűen növelhető, míg egy adott gyártó specifikus hibája esetén termékspecifikus generáció is megadható, elkerülve az iparági újracsomagolást.
A másik fontos kezdeményezés a shim-egységesítés: ahelyett, hogy minden gyártó saját shim példányt tartana fenn, lehetőség nyílna egy közösen aláírt, központi shim alkalmazásra, amely külön .EFI kulcsfájlokon keresztül terjesztené az egyes gyártók hitelesítési kulcsait. Ezzel nemcsak a visszavonás válna egyszerűbbé és kompaktabbá, hanem a shim kód auditálása és jóváhagyása is jelentősen leegyszerűsödne.
Gyakorlati alkalmazás és jövőbeli kilátások
Az új generációs visszavonási rendszer bevezetése fokozatosan történik. Minden UEFI bootolható komponens — mint a GRUB, shim vagy kernel — tartalmazhatja saját .sbat szakaszát, amelyben rögzítve van annak aktuális biztonsági generációja. Ezt a generációs számot a firmware ellenőrzi az SbatLevel változóban tárolt minimális értékekhez képest, így elérhető, hogy régi, sebezhető verziók ne indulhassanak el Secure Boot alatt. A modell alkalmas arra is, hogy különbséget tegyen a globálisan ismert CVE-k és az egy adott gyártó által elkövetett hibás beolvasztások (mis-merge) között, így csökkentve a kollektív újracsomagolás szükségességét. A rendszer azt is lehetővé teszi, hogy a terméktámogatási időszak végén a támogatásból kivont binárisok generációs számát mesterségesen megemelve visszavonják, ezzel kizárva őket a biztonságos boot-folyamatból.
Az SBAT segítségével végre kezelhetővé válik a kernel lockdown sérülékenységekkel járó revokáció, amely korábban a dbx korlátai miatt nem volt életszerű. A jövőbeni kexec-alapú kernelindítások szintén képesek lesznek kezelni az SBAT metaadatokat, ezáltal megerősítve a láncolt boot biztonságát. A rendszerbe való fokozatos bevezetés során a korábban támogatott disztribúciók, például a Fedora, Debian vagy Red Hat, már el is kezdték alkalmazni a .sbat szakaszokat a saját GRUB és shim binárisaikban. Az új módszer így nemcsak skálázhatóbb, de biztonságosabb és hosszabb távon fenntarthatóbb is, mint az eddigi képhash-alapú megközelítés.
A teljes dokumentáció a Githubon olvasható.