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í všech firmware 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 option ROMs), 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 poskytne kontrolu operačnímu systému.

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íče registrace 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.
  • Databáze podpisů (db) – obsahuje souhrny 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.
  • Databáze odvolaných podpisů (dbx) – obsahuje odvolané algoritmy hash modulů kódu, které byly identifikovány jako škodlivé, zranitelné, ohrožené nebo nedůvěryhodné. Pokud je hodnota hash v databázi podpisů a databáze odvolaných podpisů, databáze odvolaných podpisů přebírá precedens.

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

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

Výrobce OEM ukládá algoritmy Secure Boot v době výroby na netěželné paměti RAM (NV-RAM) počítače.

  1. Databáze podpisů (db) je naplněna podepisujícími nebo hodnotami hash obrázků aplikací UEFI, zavaděči operačního systému (jako je zavaděč operačního systému společnosti Microsoft nebo Správce spouštění) a ovladači rozhraní UEFI, které jsou důvěryhodné.
  2. Databáze odvolaných podpisů (dbx) je naplněna algoritmy hash modulů, které už nejsou důvěryhodné.
  3. Databáze klíče registrace klíčů (KEK) se naplní podpisovými klíči, které lze použít k aktualizaci databáze podpisů a databáze odvolaných podpisů. Databáze lze upravovat prostřednictvím aktualizací podepsaných správným klíčem nebo prostřednictvím aktualizací fyzicky přítomného oprávněného uživatele pomocí nabídek firmwaru.
  4. Po přidání databází db, dbx a KEK a dokončení konečného ověření a testování firmwaru výrobce OEM uzamkne firmware před úpravami a vygeneruje klíč platformy (PK). Pk je možné 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 digest firmwaru, zavaděče bootloaderu, operačního systému, ovladačů jádra a dalších artefaktů spouštěcího řetězce s přijatelnými hodnotami. Firmware a software, u kterého se zjistí, že jsou nedůvěryhodné, se nesmí načítat. Proto je možné blokovat injektáže malwaru na nízké úrovni nebo útoky malwaru před spuštěním.

Zabezpečené spouštění ve vozovém parku Azure

Dnes každý počítač, který je nasazený a nasazený do výpočetního parku Azure pro hostování úloh zákazníků, pochází z výroby s povoleným zabezpečeným spouštěním. Cílené nástroje a procesy jsou k dispozici v každé fázi kanálu sestavení a integrace hardwaru, aby se zajistilo, že se povolení zabezpečeného spouštění nevrátí omylem nebo zlým úmyslem.

Ověření správnosti hodnot hash db a dbx zajistí:

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

Ověřením podpisů KEKpub a PKpub můžeme potvrdit, že k úpravě definic softwaru, který se považuje za důvěryhodný, mají oprávnění jenom důvěryhodné strany. A konečně, zajištěním, že zabezpečené spouštění je 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: