Secure Boot – ochrona procesu uruchamiania systemu
Informatyka Windows 11

Secure Boot – ochrona procesu uruchamiania systemu

Secure Boot – ochrona procesu uruchamiania systemu

Secure Boot to mechanizm bezpieczeństwa oparty na UEFI, którego zadaniem jest sprawdzenie, czy elementy uruchamiane podczas startu komputera pochodzą z zaufanego źródła i nie zostały nieautoryzowanie zmodyfikowane.

Najprostszy schemat:

UEFI
  |
  v
Secure Boot
  |
  v
Sprawdzenie podpisu
  |
  +------> Trusted ------> Uruchom
  |
  +------> Untrusted ----> Zablokuj

Jego głównym celem jest ochrona łańcucha startowego (boot chain) przed uruchomieniem nieautoryzowanego kodu jeszcze zanim wystartuje Windows.


Dlaczego Secure Boot jest potrzebny?

Załóżmy, że komputer ma:

Windows
   |
   v
Bootloader
   |
   v
Kernel

Atakujący może próbować zmodyfikować element uruchamiany przed systemem operacyjnym.

To szczególnie niebezpieczne, ponieważ:

Windows jeszcze nie działa
        |
        v
Antywirus nie może normalnie chronić systemu

Przykładem zagrożenia jest bootkit.

Bootkit może próbować przejąć kontrolę nad procesem uruchamiania systemu:

Firmware
   |
   v
Malicious Bootloader
   |
   v
Windows

Użytkownik może uruchomić całkowicie normalny Windows, podczas gdy złośliwy kod został załadowany wcześniej.

Secure Boot ma przeciąć ten łańcuch.


Chain of Trust

Najważniejszą koncepcją Secure Boot jest:

Chain of Trust – łańcuch zaufania.

W uproszczeniu:

UEFI Firmware
      |
      v
Trusted Bootloader
      |
      v
Trusted Components
      |
      v
Windows Kernel
      |
      v
Windows

Każdy kolejny element musi spełnić wymagania integralności i zaufania.

Jeżeli element nie jest zaufany:

UEFI
  |
  v
Unknown Bootloader
  |
  X
BLOCK

Secure Boot nie szyfruje dysku

To bardzo ważne.

Secure Boot:

Integralność + autentyczność boot chain

nie:

Szyfrowanie danych

Do ochrony danych na dysku służy np. BitLocker.

Można więc mieć:

Secure Boot
+
BitLocker

i otrzymać dwie różne warstwy ochrony.


Secure Boot + BitLocker

To bardzo dobre połączenie.

             PC
              |
          Secure Boot
              |
              v
        Trusted Boot
              |
              v
          BitLocker
              |
              v
        Encrypted Disk
              |
              v
           Windows

Secure Boot chroni łańcuch uruchamiania, a BitLocker chroni dane na dysku.


Jak działa Secure Boot?

Podczas startu firmware UEFI sprawdza podpisy elementów, które mają zostać uruchomione.

W uproszczeniu:

UEFI
 |
 +-- Czy bootloader jest zaufany?
 |
 +-- Czy podpis jest prawidłowy?
 |
 +-- Czy certyfikat znajduje się w bazie zaufania?
 |
 v
ALLOW / DENY

Jeśli wszystko się zgadza:

Bootloader
    |
    v
Windows Boot Manager
    |
    v
Windows

Klucze Secure Boot

Secure Boot wykorzystuje kilka baz danych i kluczy.

Najważniejsze pojęcia to:

  • PK – Platform Key
  • KEK – Key Exchange Key
  • db – allowed signatures/database
  • dbx – forbidden signatures/database

Schemat:

                 Secure Boot
                     |
       +-------------+-------------+
       |             |             |
      PK            KEK           db
       |             |             |
   Platform       Updates       Allowed
     Trust                       Code
                                   |
                                  dbx
                                   |
                               Forbidden

Nie trzeba jednak traktować ich jako czterech równorzędnych „kluczy do uruchamiania”. Każdy pełni inną rolę w modelu zaufania i aktualizacji baz.


Platform Key – PK

PK (Platform Key) reprezentuje najwyższy poziom zaufania platformy w standardowym modelu Secure Boot.

Można uprościć:

PK
 |
 v
Platform Owner

PK służy m.in. do ustanowienia zaufania dla KEK.


KEK

Key Exchange Key służy do autoryzowania aktualizacji baz związanych z Secure Boot.

Czyli:

KEK
 |
 v
Authorized Update
 |
 +-- db
 +-- dbx

db – Allowed Database

db zawiera zaufane certyfikaty, klucze lub hashe pozwalające na uruchamianie odpowiedniego kodu.

Application / Bootloader
       |
       v
     db ?
       |
   +---+---+
   |       |
  YES      NO
   |       |
 ALLOW    Check policy

dbx – Forbidden Database

dbx to lista elementów, których uruchamianie powinno zostać zablokowane.

Może zawierać m.in. odwołane lub podatne komponenty.

Bootloader
    |
    v
   dbx?
    |
   YES
    |
    v
 BLOCK

To jest szczególnie ważne, gdy odkryta zostanie poważna luka w określonym bootloaderze.


Dlaczego dbx jest tak ważne?

Wyobraźmy sobie:

Trusted Bootloader v1

który był poprawnie podpisany, ale później odkryto w nim krytyczną lukę.

Sam fakt:

"ma prawidłowy podpis"

nie wystarcza.

Można zaktualizować bazę dbx, aby taki komponent nie był już akceptowany.

Bootloader v1
      |
      v
   dbx match
      |
      X
    BLOCK

Secure Boot nie oznacza „każdy podpisany kod jest bezpieczny”

To bardzo ważne.

Podpis cyfrowy odpowiada na pytanie:

Czy kod pochodzi od zaufanego podmiotu i podpis jest prawidłowy?

Nie odpowiada automatycznie:

Czy kod jest wolny od wszystkich podatności?

Dlatego mechanizmy takie jak:

Secure Boot
+
HVCI
+
WDAC
+
Defender

powinny być traktowane jako warstwowy system bezpieczeństwa.


Secure Boot i Windows Boot Manager

Typowy start Windows wygląda w uproszczeniu:

UEFI
  |
  v
Windows Boot Manager
  |
  v
Windows Loader
  |
  v
Windows Kernel
  |
  v
Windows

Secure Boot kontroluje przede wszystkim zaufanie do elementów boot chain, a kolejne mechanizmy Windows kontynuują ochronę integralności podczas startu systemu.


Secure Boot i Trusted Boot

Warto rozróżnić:

Secure Boot

UEFI
 ↓
Czy można uruchomić ten komponent?

od szerszego procesu Trusted Boot, który obejmuje dalsze elementy uruchamiania Windows.

Można myśleć o tym tak:

Secure Boot
      ↓
Trusted Boot
      ↓
Windows Kernel
      ↓
ELAM / Security Components
      ↓
Windows

Secure Boot i TPM

Secure Boot często występuje razem z TPM 2.0, ale są to różne technologie.

Secure Boot

Chroni:

Boot Chain

TPM

Zapewnia sprzętowe możliwości przechowywania kluczy i wykonywania operacji kryptograficznych oraz może uczestniczyć w pomiarze stanu platformy.

Schemat:

          UEFI
           |
      Secure Boot
           |
           v
      Trusted Boot
           |
           +--------+
           |        |
          TPM      Windows

Secure Boot + TPM + BitLocker

To jeden z najważniejszych zestawów bezpieczeństwa współczesnego Windows:

                 UEFI
                  |
            Secure Boot
                  |
                  v
            Trusted Boot
                  |
                 TPM
                  |
                  v
              BitLocker
                  |
                  v
             Windows

Każda technologia ma inne zadanie:

Technologia Główne zadanie
Secure Boot Ochrona boot chain
TPM 2.0 Sprzętowe zaufanie/klucze/pomiary
BitLocker Szyfrowanie danych
HVCI Ochrona integralności kodu kernela
WDAC Kontrola uruchamiania kodu
Defender Detekcja malware

Secure Boot a bootkit

To jeden z najważniejszych scenariuszy.

Bez odpowiednich mechanizmów:

Attacker
   |
   v
Modify Bootloader
   |
   v
Malicious Code
   |
   v
Windows

Z Secure Boot:

Attacker
   |
   v
Modified Bootloader
   |
   v
Signature Check
   |
   X
  BLOCK

To właśnie dlatego Secure Boot jest tak ważny w ochronie przed atakami na poziomie pre-OS.


Secure Boot a aktualizacje Windows

Windows i firmware mogą aktualizować elementy związane z łańcuchem zaufania.

Ważne jest, aby aktualizować:

Windows
+
UEFI firmware
+
Secure Boot databases

Nieaktualne bazy dbx mogą oznaczać, że system nie ma najnowszych informacji o komponentach, które powinny zostać zablokowane.

 

Secure Boot – ochrona procesu uruchamiania systemu
Secure Boot – ochrona procesu uruchamiania systemu

Secure Boot i Linux

Secure Boot nie jest technologią wyłącznie dla Windows.

Można uruchamiać również systemy Linux w środowisku z włączonym Secure Boot, jeśli ich ścieżka bootowania spełnia odpowiednie wymagania dotyczące zaufania i podpisów.

Typowy schemat może wyglądać tak:

UEFI
 |
 v
Signed Bootloader
 |
 v
Linux Kernel
 |
 v
Linux

W ekosystemie Linux szczególną rolę może odgrywać shim, który pomaga obsługiwać zaufany proces uruchamiania na platformach UEFI Secure Boot.


Secure Boot nie chroni przed wszystkim

To bardzo ważne.

Secure Boot nie zatrzyma automatycznie:

❌ malware działającego w Windows
❌ phishingu
❌ kradzieży haseł
❌ exploitów aplikacji
❌ ransomware uruchomionego już w systemie
❌ ataków sieciowych

Jego głównym zadaniem jest ochrona procesu uruchamiania platformy.


Gdzie Secure Boot znajduje się w modelu bezpieczeństwa?

Możemy przedstawić cały łańcuch:

                Hardware
                   |
                   v
                  UEFI
                   |
              Secure Boot
                   |
                   v
             Trusted Boot
                   |
                   v
                 TPM
                   |
                   v
                 HVCI
                   |
                   v
                 WDAC
                   |
                   v
             Smart App Control
                   |
                   v
                Defender
                   |
                   v
               Application

To bardzo dobrze pokazuje różnicę pomiędzy technologiami, które omawialiśmy przed chwilą.


Secure Boot vs Legacy BIOS

Secure Boot jest związany z UEFI, a nie klasycznym BIOS-em.

Uproszczenie:

Legacy BIOS
    |
    X
Secure Boot

natomiast:

UEFI
 |
 +-- Secure Boot
 +-- GPT
 +-- Modern Boot Architecture

Współczesne instalacje Windows 11 standardowo korzystają z UEFI i Secure Boot.


Jak sprawdzić Secure Boot w Windows?

Możesz użyć:

Win + R

i wpisać:

msinfo32

W oknie Informacje o systemie znajdziesz pozycję:

Stan funkcji Bezpieczny rozruch

Typowe wartości:

Włączone

lub:

Wyłączone

Można również sprawdzić stan z PowerShell.


Co się stanie po wyłączeniu Secure Boot?

Windows nadal może działać, ale tracisz ważną warstwę ochrony boot chain.

Schemat:

Secure Boot ON
      |
Trusted Boot
      |
Higher protection

vs.

Secure Boot OFF
      |
Less protection of boot chain

Dlatego wyłączanie Secure Boot tylko po to, aby uruchomić starsze lub niepodpisane komponenty, powinno być przemyślane.


Secure Boot w Windows 11

Secure Boot jest jednym z elementów współczesnej architektury bezpieczeństwa Windows 11 i jest powiązany z wymaganiami sprzętowymi oraz mechanizmami takimi jak TPM 2.0.

W praktyce:

Modern PC
   |
UEFI
   |
TPM 2.0
   |
Secure Boot
   |
Windows 11

To nie przypadek, że Microsoft tak mocno związał nowoczesne wymagania Windows z tym zestawem technologii.


Najważniejsze do zapamiętania

                 SECURE BOOT
                      |
                      v
                    UEFI
                      |
              Signature Check
                      |
          +-----------+-----------+
          |                       |
       Trusted                 Untrusted
          |                       |
          v                       v
        ALLOW                   BLOCK
          |
          v
    Windows Boot Manager
          |
          v
        Windows

Secure Boot chroni komputer przede wszystkim przed uruchomieniem nieautoryzowanego kodu na początku procesu startowego.

A jeśli połączymy go z tematami, które właśnie przerabiamy:

Secure Boot
     ↓
TPM 2.0
     ↓
BitLocker
     ↓
HVCI
     ↓
WDAC
     ↓
Smart App Control
     ↓
Defender / EDR

otrzymujemy już całkiem kompletny obraz warstwowej architektury bezpieczeństwa współczesnego Windows 11.

Polecane wpisy
Windows 11: Błędy związane z wirtualnymi adapterami sieciowymi VirtualBox – przyczyny i skuteczne rozwiązania
Windows 11: Błędy związane z wirtualnymi adapterami sieciowymi VirtualBox – przyczyny i skuteczne rozwiązania

Windows 11: Błędy związane z wirtualnymi adapterami sieciowymi VirtualBox – przyczyny i skuteczne rozwiązania 🌐 Wprowadzenie VirtualBox to popularne narzędzie Czytaj dalej

Windows 12 vs Linux
Windows 12 vs Linux

Windows 12 vs Linux Windows 12 i Linux to dwa popularne systemy operacyjne, które mają swoje zalety i wady. Wybór Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.