Linux 6.17: előkészületek az UEFI Secure Boot Advanced Targeting támogatására

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

Az idei év egyik jelentős fejlesztése a Linux kernel 6.17-es verziójában az UEFI Secure Boot Advanced Targeting (SBAT) támogatásának előkészítése. Ez a biztonsági mechanizmus a rendszerindítás folyamatát teszi még megbízhatóbbá és átláthatóbbá, amely a modern operációs rendszerek egyik kulcsfontosságú eleme. Az UEFI SBAT lényege, hogy lehetővé teszi a rendszerindítási lánc különböző komponenseinek egyedi azonosítását és verziókövetését. Ennek révén a rendszergazdák pontosan nyomon követhetik, hogy mely alrendszerek és driverek milyen verzióval vannak jelen, és hogy azok megfelelnek-e a biztonsági előírásoknak.

A Linux kernel 6.17-es verziója nem hozza még magával a teljes SBAT funkcionalitást, de fontos lépést jelent annak integrációja felé. A fejlesztők előkészítették az alapokat, amelyek lehetővé teszik, hogy a későbbi kiadások már zökkenőmentesen támogassák ezt a biztonsági szabványt. Ez a fejlesztés különösen fontos azok számára, akik vállalati környezetben vagy olyan rendszereken dolgoznak, ahol a rendszerindítás biztonsága kritikus tényező.

Az UEFI Secure Boot Advanced Targeting révén a rendszer képes lesz meggátolni, hogy bármilyen nem megbízható vagy elavult komponens induljon el, ezzel csökkentve a rosszindulatú programok vagy biztonsági rések kihasználásának lehetőségét. Ez az új megközelítés jelentősen javíthatja a rendszer általános megbízhatóságát és biztonságát, ami egyre fontosabb a mai komplex informatikai környezetekben.

További részletek az UEFI SBAT működéséről a rhboot/shim dokumentációjában találhatók.

A közelgő Linux 6.17 kernelciklus előtt az efi.git "next" ága már beolvasztotta az SBAT-kódot a saját oldalán. Ez egy Zboot-specifikus mechanizmust vezet be egy SBAT-szekció beágyazására:

„Az SBAT (Secure Boot Advanced Targeting) egy olyan mechanizmus, amely a Secure Boot révén futó UEFI binárisok visszavonását (revocation) teszi hatékonyabbá egy generációalapú technika bevezetésével. A feltört vagy sebezhető UEFI binárisok elindítása megakadályozható azáltal, hogy megemelik az adott komponenshez szükséges minimális generációs számot a bootloaderben.
(…)
A fővonalas Linux kernel jelenleg semmilyen módon nem vesz részt az SBAT rendszerben, mivel nincs egységes szabály arra, hogyan kellene meghatározni az SBAT generációs számát. Ezért a jelenlegi állapot fenntartása mellett lehetőséget biztosítunk a disztribúciók és más Secure Boot-ot használó felek számára, hogy saját SBAT-adatokat illesszenek be a kernelbe. A döntést tehát az egyes disztribúciókra bízzuk. Alapvetően minden Secure Boot-ot támogató disztribúciónak lehetősége lesz saját SBAT-adatokat hozzáadni a kernel fordítása során, még mielőtt az aláírásra kerülne a saját Secure Boot tanúsítványukkal (CA). A különböző disztribúcióknak nem kell egyeztetniük a közös SBAT komponensneveket vagy generációs számokat, mivel mindegyik saját ‘shim’-et szállít saját ‘vendor_cert’-tel / ‘vendor_db’-vel.”

„Valósítsuk meg az SBAT-adatok beágyazásának támogatását azokhoz az architektúrákhoz, amelyek a Zboot-ot használják (arm64, loongarch, riscv). Az ‘.sbat’ szekciót a ‘.data’ és a ‘.text’ szekció közé helyezzük, mivel az előbbi lefedi a ‘.bss’-t is, így annak kell az utolsónak lennie.”

Ez az összevonás hozzáadja a Linux kernel EFI_SBAT nevű Kconfig build opcióját, valamint az EFI_SBAT_FILE változót, amellyel megadható az SBAT-szekciót tartalmazó fájl elérési útja. A kódot a Red Hat fejlesztette.

Összességében a Linux kernel 6.17-es verziójában megkezdett SBAT támogatás integrálása egy olyan fejlesztés, amely hosszú távon hozzájárul a Linux operációs rendszer biztonságának erősítéséhez. A felhasználók és rendszergazdák számára ez azt jelenti, hogy a jövőben még jobban kontrollálhatják, milyen szoftverek indulhatnak el az eszközeiken, és biztosak lehetnek abban, hogy a rendszerindítási lánc nem tartalmaz sebezhető vagy nem megbízható elemeket.