Proponują modernizację procesu uruchamiania Linuksa

Zaufany rozruch

Nowy rozruch systemu Linux będzie działał dobrze w przyszłości, z naciskiem na niezawodność i prostotę.

Lennarta Poetteringa (twórca Systemd) dał mi znać niedawno propozycja unowocześnienia procesu rozruchu dystrybucji Linuksa w celu rozwiązania istniejących problemów i uprościć organizację w pełni zweryfikowanego rozruchu, potwierdzając autentyczność jądra i bazowego środowiska systemowego.

Proponowane zmiany są zredukowane do stworzenie jednego uniwersalnego obrazu UKI (Zunifikowany obraz jądra) która scala obraz jądra Sterownik Linux do ładowania jądra z UEFI (odcinek rozruchowy UEFI) a środowisko systemowe initrd załadowane do pamięci, używany do początkowej inicjalizacji na etapie przed zamontowaniem FS.

Zamiast obrazu ramdysku początek, cały system można spakować w UKI, co pozwala na tworzenie w pełni zweryfikowanych środowisk systemowych, które są ładowane do pamięci RAM. Obraz UKI jest spakowany jako plik wykonywalny w formacie PE, który można nie tylko załadować za pomocą tradycyjnych programów ładujących, ale można go również wywołać bezpośrednio z oprogramowania układowego UEFI.

Możliwość wywoływania z UEFI pozwala na korzystanie z weryfikacji ważności podpisu cyfrowego i sprawdzania integralności który obejmuje nie tylko jądro, ale także zawartość initrd. Jednocześnie obsługa wywołań z tradycyjnych programów ładujących umożliwia zapisywanie funkcji, takich jak dostarczanie wielu wersji jądra i automatyczne przywracanie działającego jądra w przypadku wykrycia problemów z nowym jądrem po zainstalowaniu najnowszej aktualizacji jądra.

Obecnie większość dystrybucji Linuksa używa łańcuch „oprogramowanie układowe → podpisana cyfrowo warstwa podkładek Microsoft → podpisana cyfrowo dystrybucja GRUB program ładujący → podpisana cyfrowo dystrybucja jądro Linux → niepodpisane środowisko initrd → root FS” w procesie inicjalizacji. Brak sprawdzenia initrd w tradycyjnych dystrybucjach stwarza problemy z bezpieczeństwem, ponieważ między innymi to środowisko wyodrębnia klucze do odszyfrowania katalogu głównego FS.

Weryfikacja obrazu initrd nie jest obsługiwana, ponieważ plik ten jest generowany w lokalnym systemie użytkownika i nie może być poświadczony podpisem cyfrowym dystrybucji, co bardzo utrudnia zorganizowanie weryfikacji w trybie SecureBoot (aby zweryfikować initrd, użytkownik musi wygenerować klucze i załadować je do oprogramowanie układowe UEFI).

Ponadto, istniejąca organizacja rozruchowa nie pozwala na wykorzystanie informacji z rejestrów TPM PCR (Platform Configuration Registry) do kontrolowania integralności komponentów przestrzeni użytkownika innych niż podkładka, grub i jądro. Wśród istniejących problemów wymienia się również komplikację aktualizacji bootloadera oraz brak możliwości ograniczenia dostępu do kluczy w TPM dla starszych wersji systemu operacyjnego, które stały się nieistotne po zainstalowaniu aktualizacji.

Główne cele wdrożenia nowa architektura rozruchu:

  • Zapewnij w pełni zweryfikowany proces pobierania, obejmujący wszystkie etapy, od oprogramowania układowego po przestrzeń użytkownika, oraz potwierdzający ważność i integralność pobranych komponentów.
  • Powiązanie kontrolowanych zasobów z rejestrami TPM PCR z separacją przez właścicieli.
  • Możliwość wstępnego obliczenia wartości PCR na podstawie rozruchu jądra, initrd, konfiguracji i lokalnego identyfikatora systemu.
  • Ochrona przed atakami wycofywania związanymi z przywróceniem poprzedniej wersji systemu podatnej na ataki.
  • Uprość i popraw niezawodność aktualizacji.
  • Obsługa uaktualnień systemu operacyjnego, które nie wymagają ponownego zastosowania ani lokalnego udostępniania zasobów chronionych przez moduł TPM.
  • Przygotowanie systemu do zdalnej certyfikacji w celu potwierdzenia poprawności konfiguracji systemu operacyjnego i rozruchu.
  • Możliwość dołączania poufnych danych do niektórych etapów rozruchu, na przykład poprzez wyodrębnienie kluczy szyfrowania dla katalogu głównego FS z modułu TPM.
  • Zapewnij bezpieczny, automatyczny i cichy proces odblokowywania kluczy w celu odszyfrowania dysku z partycją główną.
  • Zastosowanie chipów obsługujących specyfikację TPM 2.0, z możliwością powrotu do systemów bez TPM.

Niezbędne zmiany wdrożyć nową architekturę są już zawarte w bazie kodu systemd i wpływają na komponenty, takie jak systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase i systemd-creds.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w następujący link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Luix powiedział

    Więcej śmieci od Lennarta..