Sdílet prostřednictvím


Zabezpečené spouštění

Zabezpečené spouštění je funkce rozhraní UEFI (Unified Extensible Firmware Interface), která před načtením vyžaduje ověření veškerého firmwaru a softwarových komponent nízké úrovně. Během spouštění kontroluje zabezpečené spouštění rozhraní UEFI podpis každého spouštěcího softwaru, včetně ovladačů firmwaru UEFI (označovaných také jako možnosti ROM), aplikací EFI (Extensible Firmware Interface) a ovladačů operačního systému a binárních souborů. Pokud jsou podpisy platné nebo důvěryhodné výrobcem OEM (Original Equipment Manufacturer), počítač se spustí a firmware řídí operační systém.

Komponenty a proces

Zabezpečené spouštění závisí na těchto důležitých komponentách:

  • Klíč platformy (PK) – Vytvoří vztah důvěryhodnosti mezi vlastníkem platformy (Microsoft) a firmwarem. Veřejná polovina je PKpub a soukromá polovina je PKpriv.
  • Databáze klíčů pro registraci klíčů (KEK) – Vytvoří vztah důvěryhodnosti mezi operačním systémem a firmwarem platformy. Veřejná polovina je KEKpub a soukromá polovina je KEKpriv.
  • Podpisová databáze (db) – uchovává hodnoty hash pro důvěryhodné podepisující osoby (veřejné klíče a certifikáty) modulů firmwaru a softwarového kódu, které mají oprávnění k interakci s firmwarem platformy.
  • Odvolaná databáze podpisů (dbx) – obsahuje odvolané moduly kódu, které jsou identifikované jako škodlivé, zranitelné, ohrožené nebo nedůvěryhodné. Pokud je hodnota hash v databázi podpisů a odvolaná databáze podpisů, převezme odvolaná databáze podpisů předchůdci.

Následující obrázek a proces vysvětlují, jak se tyto komponenty aktualizují:

Diagram znázorňující komponenty zabezpečeného spouštění

Výrobce OEM ukládá hodnoty hash zabezpečeného spouštění na nevolatilní paměti RAM (NV-RAM) počítače v době výroby.

  1. Databáze podpisů se naplní podepisujícími faktory nebo hodnotami hash obrázků aplikací UEFI, zavaděči operačního systému (jako je zavaděč operačního systému nebo Správce spouštění) a ovladači rozhraní UEFI, které jsou důvěryhodné.
  2. Odvolané podpisy dbx se naplní hodnotou hash modulů, které už nejsou důvěryhodné.
  3. Databáze klíče pro registraci klíčů (KEK) se naplní podpisovými klíči, které je možné použít k aktualizaci databáze podpisů a odvolávané databáze podpisů. Databáze je možné upravovat prostřednictvím aktualizací podepsaných pomocí správného klíče nebo prostřednictvím aktualizací fyzicky přítomným autorizovaným uživatelem pomocí nabídek firmwaru.
  4. Po přidání databáze, dbx a KEK a dokončení konečného ověření a testování firmwaru zamkne OEM firmware před úpravami a vygeneruje klíč platformy (PK). Pk lze použít k podepisování aktualizací KEK nebo k vypnutí zabezpečeného spouštění.

Během každé fáze procesu spouštění se počítají hodnoty hash firmwaru, bootloaderu, operačního systému, ovladačů jádra a dalších artefaktů spouštěcího řetězce a porovnávají se s přijatelnými hodnotami. Firmware a software, které jsou zjištěny jako nedůvěryhodné, se nesmí načíst. Injektáž malwaru na nízké úrovni nebo útoky před restartováním malwaru je proto možné zablokovat.

Zabezpečené spouštění ve flotile Azure

V současnosti každý počítač, který je nasazený a nasazený do výpočetního parku Azure, aby hostoval úlohy zákazníků, pochází z výrobní podlahy s povoleným zabezpečeným spouštěním. Cílené nástroje a procesy jsou zavedeny v každé fázi v kanálu sestavení hardwaru a integrace, aby se zajistilo, že povolení zabezpečeného spouštění se nevrátí omylem nebo škodlivým záměrem.

Ověření správnosti db a dbx digests zajišťuje:

  • Spouštěcí zavaděč je k dispozici v jedné z položek databáze.
  • Podpis zavaděče bootloaderu je platný.
  • Spouštění hostitelů s důvěryhodným softwarem

Ověřením podpisů KEKpub a PKpub můžeme potvrdit, že pouze důvěryhodné strany mají oprávnění upravovat definice softwaru, který je považován za důvěryhodný. A konečně tím, že zajistíme, že je zabezpečené spouštění aktivní, můžeme ověřit, že se tyto definice vynucují.

Další kroky

Další informace o tom, co děláme pro zajištění integrity a zabezpečení platformy, najdete tady: