Lennart Poettering (a Systemd megalkotója) tudtára adta nemrég javaslatot a rendszerindítási folyamat korszerűsítésére eloszlások Linux, azzal a céllal, hogy megoldja a meglévő problémákat és leegyszerűsíti a teljes ellenőrzött rendszerindítás megszervezését, megerősítve a kernel és az alapul szolgáló rendszerkörnyezet hitelességét.
Javasolt változtatások -re redukálódnak egyetlen univerzális UKI-kép létrehozása (Egységes kernelkép) amely egyesíti a kernelképet Linux-illesztőprogram a kernel UEFI-ből való betöltéséhez (UEFI rendszerindítási csonk) és a memóriába betöltött rendszerkörnyezet initrd, a kezdeti inicializáláshoz használják az FS felszerelése előtti szakaszban.
Ramdisk kép helyett initrd, az egész rendszer becsomagolható az UKI-ba, amely lehetővé teszi a RAM-ba betöltött, teljesen ellenőrzött rendszerkörnyezetek létrehozását. Az UKI képfájl PE formátumú futtatható fájlként van csomagolva, amely nem csak hagyományos bootloaderekkel tölthető be, hanem közvetlenül az UEFI firmware-ből is hívható.
Az UEFI-ből történő hívás lehetősége lehetővé teszi a digitális aláírás érvényességének és integritásának ellenőrzését amely nemcsak a rendszermagot takarja, hanem az initrd tartalmát is. Ugyanakkor a hagyományos rendszerbetöltők hívásainak támogatása lehetővé teszi olyan funkciók mentését, mint például több kernelverzió kézbesítése és automatikus visszaállítás egy működő kernelhez, ha a legújabb verzió telepítése után az új kernellel kapcsolatos problémákat észlelnének.
Jelenleg a legtöbb Linux disztribúció használja lánc "firmware → digitálisan aláírt Microsoft shim réteg → digitálisan aláírt disztribúció GRUB rendszerbetöltő → digitálisan aláírt disztribúció Linux kernel → aláíratlan initrd környezet → FS root" az inicializálási folyamatban. Hiányzó initrd ellenőrzés hagyományos disztribúciókban biztonsági problémákat okoz, mivel többek között ez a környezet kulcsokat von ki az FS gyökér visszafejtéséhez.
Az initrd kép ellenőrzése nem támogatott, mivel ez a fájl a felhasználó helyi rendszerén jön létre, és nem hitelesíthető a disztribúció digitális aláírásával, ami nagyon megnehezíti az ellenőrzés megszervezését SecureBoot mód használatakor (az initrd ellenőrzéséhez a felhasználónak elő kell generálnia a kulcsait és be kell töltenie az UEFI firmware).
Ezen túlmenően, a meglévő rendszerindítási szervezet nem teszi lehetővé a TPM PCR regiszterekből származó információk felhasználását (Platform Configuration Registry) az alátét, grub és kernel kivételével a felhasználói terület összetevőinek integritásának ellenőrzésére. A meglévő problémák között említik még a rendszerbetöltő frissítésének bonyolítását, valamint azt, hogy nem lehet korlátozni a TPM-ben található kulcsokhoz való hozzáférést az operációs rendszer régebbi verzióinál, amelyek a frissítés telepítése után irrelevánssá váltak.
A megvalósítás fő céljai az új rendszerindítási architektúra:
- Biztosítson egy teljesen ellenőrzött letöltési folyamatot, amely a firmware-től a felhasználói területig minden szakaszt lefed, és megerősíti a letöltött összetevők érvényességét és integritását.
- Az ellenőrzött erőforrások összekapcsolása a TPM PCR-regiszterekkel a tulajdonosok általi elkülönítéssel.
- Lehetőség a PCR értékek előre kiszámítására a kernel rendszerindítás, az initrd, a konfiguráció és a helyi rendszerazonosító alapján.
- Védelem a rendszer korábbi sebezhető verziójához való visszatéréshez kapcsolódó visszaállítási támadások ellen.
- Egyszerűsítse és javítsa a frissítések megbízhatóságát.
- Olyan operációs rendszer-frissítések támogatása, amelyek nem igénylik a TPM-védett erőforrások helyi újbóli alkalmazását vagy kiépítését.
- A rendszer felkészítése a távoli tanúsításra az operációs rendszer és a rendszerindítási konfiguráció helyességének ellenőrzése érdekében.
- Érzékeny adatok csatolásának képessége bizonyos rendszerindítási szakaszokhoz, például az FS gyökér titkosítási kulcsainak a TPM-ből való kinyerésével.
- Biztonságos, automatikus és csendes folyamatot biztosít a kulcsok feloldásához a gyökérpartícióval rendelkező meghajtó dekódolásához.
- A TPM 2.0 specifikációt támogató chipek használata, amelyek képesek visszatérni a TPM nélküli rendszerekre.
A szükséges változtatások az új architektúra megvalósításához már szerepelnek a systemd kódbázisban és olyan összetevőket érintenek, mint a systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase és systemd-creds.
Végül ha érdekel, hogy többet tudjon meg róla, ellenőrizheti a részleteket a következő link.
Még több szemét lennarttól..