Udostępnij za pośrednictwem


Bezpieczny rozruch

Bezpieczny rozruch to funkcja ujednoliconego interfejsu UEFI (Unified Extensible Firmware Interface), który wymaga zweryfikowania wszystkich składników oprogramowania układowego niskiego poziomu przed załadowaniem. Podczas rozruchu bezpieczny rozruch UEFI sprawdza podpis każdego elementu oprogramowania rozruchowego, w tym sterowniki oprogramowania układowego UEFI (nazywane również sterownikami ROM opcji), aplikacjami Extensible Firmware Interface (EFI) oraz sterownikami systemu operacyjnego i plikami binarnymi. Jeśli podpisy są prawidłowe lub zaufane przez producenta oryginalnego sprzętu (OEM), rozruch maszyny i oprogramowanie układowe daje kontrolę nad systemem operacyjnym.

Składniki i proces

Bezpieczny rozruch opiera się na następujących krytycznych składnikach:

  • Klucz platformy (PK) — ustanawia zaufanie między właścicielem platformy (Microsoft) a oprogramowaniem układowym. Publiczna połowa to PKpub, a prywatna połowa to PKpriv.
  • Baza danych kluczy rejestracji kluczy (KEK) — ustanawia relację zaufania między systemem operacyjnym a oprogramowaniem układowym platformy. Publiczna połowa to KEKpub, a prywatna połowa to KEKpriv.
  • Baza danych sygnatur (db) — przechowuje skróty dla zaufanych osób podpisujących (klucze publiczne i certyfikaty) modułów oprogramowania układowego i kodu oprogramowania autoryzowanego do interakcji z oprogramowaniem układowym platformy.
  • Odwołana baza danych podpisów (dbx) — przechowuje odwołane skróty modułów kodu, które są identyfikowane jako złośliwe, podatne na zagrożenia, naruszone lub niezaufane. Jeśli skrót znajduje się w bazie danych podpisów i odwołanej bazie danych podpisów, odwołana baza danych podpisów ma pierwszeństwo.

Na poniższej ilustracji i w procesie opisano sposób aktualizowania tych składników:

Diagram przedstawiający składniki bezpiecznego rozruchu.

OEM przechowuje skróty bezpiecznego rozruchu na maszynie nievolatile RAM (NV-RAM) w czasie produkcji.

  1. Baza danych podpisów jest wypełniana skrótami podpisów lub skrótami obrazów aplikacji UEFI, modułów ładujących systemu operacyjnego (takich jak moduł ładujący systemu operacyjnego microsoft lub menedżer rozruchu) oraz sterowników UEFI, które są zaufane.
  2. Odwołane sygnatury dbx są wypełniane skrótami modułów, które nie są już zaufane.
  3. Baza danych klucza rejestracji kluczy (KEK) jest wypełniana kluczami podpisywania, których można użyć do zaktualizowania bazy danych podpisów i odwołanych baz danych podpisów. Bazy danych można edytować za pomocą aktualizacji podpisanych przy użyciu poprawnego klucza lub aktualizacji przez fizycznie obecnego użytkownika autoryzowanego przy użyciu menu oprogramowania układowego.
  4. Po dodaniu baz danych, dbx i KEK oraz zakończeniu ostatecznej weryfikacji oprogramowania układowego i zakończeniu testowania producenta OEM blokuje edytowanie oprogramowania układowego i generuje klucz platformy (PK). Klucz PK może służyć do podpisywania aktualizacji klucza szyfrowania kluczy lub wyłączania bezpiecznego rozruchu.

Podczas każdego etapu procesu rozruchowego są obliczane skróty oprogramowania układowego, modułu ładującego rozruchu, systemu operacyjnego, sterowników jądra i innych artefaktów łańcucha rozruchu. Oprogramowanie układowe i oprogramowanie wykryte jako niezaufane nie mogą być ładowane. W związku z tym można zablokować ataki złośliwego oprogramowania na niskim poziomie lub przed uruchomieniem złośliwego oprogramowania.

Bezpieczny rozruch we flocie platformy Azure

Obecnie każda maszyna, która jest dołączona i wdrożona w floty obliczeniowej platformy Azure w celu hostowania obciążeń klientów, pochodzi z podłogi fabryki z włączonym bezpiecznym rozruchem. Docelowe narzędzia i procesy są stosowane na każdym etapie w potoku kompilacji i integracji sprzętu, aby upewnić się, że włączenie bezpiecznego rozruchu nie zostanie przywrócone przypadkowo lub przez złośliwą intencję.

Sprawdzanie poprawności, czy skróty db i dbx są poprawne, zapewnia:

  • Bootloader jest obecny w jednym z wpisów bazy danych
  • Podpis modułu ładującego rozruchu jest prawidłowy
  • Rozruch hosta z zaufanym oprogramowaniem

Sprawdzając podpisy KEKpub i PKpub, możemy potwierdzić, że tylko zaufane strony mają uprawnienia do modyfikowania definicji oprogramowania uważanego za zaufane. Na koniec, upewniając się, że bezpieczny rozruch jest aktywny, możemy sprawdzić, czy te definicje są wymuszane.

Następne kroki

Aby dowiedzieć się więcej o tym, co robimy, aby zwiększyć integralność i bezpieczeństwo platformy, zobacz: