Měřené spuštění a ověření hostitele

Tento článek popisuje, jak Microsoft zajišťuje integritu a zabezpečení hostitelů prostřednictvím měřeného spuštění a ověření identity hostitele.

Měřené spouštění

Čip TPM (Trusted Platform Module) je kryptograficky zabezpečená komponenta pro auditování odolná proti manipulaci s firmwarem poskytovaným důvěryhodnou třetí stranou. Protokol konfigurace spouštění obsahuje hodnoty hash zřetězených měření zaznamenaných v registrech konfigurace platformy (PCR), když hostitel naposledy prošel spouštěcí sekvencí. Následující obrázek znázorňuje tento proces nahrávání. Přírůstkovým přidáním dříve zatřiďovaného měření do hodnoty hash dalšího měření a spuštěním hashovacího algoritmu na jednotce se dosáhne řetězení hodnot hash.

Diagram znázorňující řetězení hodnot hash služby Ověření identity hostitele

Ověření identity se provádí, když hostitel prokáže svůj stav konfigurace pomocí protokolu konfigurace spouštění (TCGLog). Padělání spouštěcího protokolu je obtížné, protože čip TPM nezpřístupňuje jiné hodnoty PCR než operace čtení a rozšíření. Přihlašovací údaje poskytované službou Ověření identity hostitele jsou navíc zapečetěny do konkrétních hodnot PCR. Použití řetězení hodnot hash způsobuje, že je výpočetně neproveditelné zpochybňování přihlašovacích údajů nebo je mimo pásmo znemožňuje.

Služba ověření identity hostitele

Služba Ověření identity hostitele je preventivní opatření, které kontroluje, jestli jsou hostitelské počítače důvěryhodné předtím, než budou moct interagovat se zákaznickými daty nebo úlohami. Služba ověření identity hostitele kontroluje ověřením prohlášení o dodržování předpisů (ověřitelný důkaz o dodržování předpisů hostitele) odeslaným jednotlivými hostiteli proti zásadám ověření identity (definice zabezpečeného stavu). Integrita tohoto systému je zajištěna kořenovým certifikátem, který poskytuje čip TPM.

Služba Ověření identity hostitele je k dispozici v každém clusteru Azure ve specializovaném uzamčeném prostředí. Uzamčené prostředí zahrnuje další služby vrátného, které se účastní protokolu spouštění hostitelského počítače. Infrastruktura veřejných klíčů (PKI) funguje jako zprostředkovatel ověřování původu žádostí o ověření identity a jako vystavitel identity (podmíněný úspěšným ověřením identity hostitele). Přihlašovací údaje po ověření identity vydané hostiteli ověřování jsou zapečetěny pro jeho identitu. Přihlašovací údaje může zrušit pouze žádající hostitel a využít je k získání přírůstkových oprávnění. Tím se zabrání útokům man-in-the-middle a spoofing.

Pokud hostitel Azure dorazí z výroby s chybnou konfigurací zabezpečení nebo se s tím v datacentru manipuluje, obsahuje jeho TCGLog indikátory ohrožení zabezpečení označené službou ověření identity hostitele při příštím ověření identity, což způsobí selhání ověření identity. Selhání ověření identity brání vozovému parku Azure v důvěřování hostiteli, který se ho dotknul. Tato prevence efektivně blokuje veškerou komunikaci do a z hostitele a aktivuje pracovní postup incidentu. Provádí se šetření a podrobná postmrtální analýza, aby se zjistily původní příčiny a případné známky ohrožení zabezpečení. Teprve po dokončení analýzy se hostitel opraví a má možnost připojit se k vozovému parku Azure a převzít úlohy zákazníků.

Následuje základní architektura služby ověření identity hostitele:

Diagram znázorňující architekturu služby ověření identity hostitele

Měření atestace

Následují příklady mnoha dnes zachycených měření.

Klíče zabezpečeného spouštění a zabezpečeného spouštění

Ověřením správnosti hodnot hash databáze podpisů a odvolaných podpisů zajišťuje služba Ověření identity hostitele, že klientský agent považuje správný software za důvěryhodný. Ověřením podpisů databáze klíčů pro registraci veřejného klíče a klíče veřejné platformy služba Ověření identity hostitele potvrzuje, že k úpravě definic softwaru, který se považuje za důvěryhodný, mají oprávnění pouze důvěryhodné strany. A konečně služba ověření identity hostitele ověří vynucení těchto definic tím, že zajistí, aby zabezpečené spouštění bylo aktivní.

Ladicí ovládací prvky

Ladicí programy jsou výkonné nástroje pro vývojáře. Neomezený přístup k paměti a dalším příkazům pro ladění by však mohl oslabit ochranu dat a integritu systému, pokud by byl poskytnut nedůvěryhodné straně. Služba Ověření identity hostitele zajišťuje, že při spuštění na produkčních počítačích je zakázán jakýkoli druh ladění.

Integrita kódu

Zabezpečené spouštění UEFI zajišťuje, že během spouštěcí sekvence může běžet jenom důvěryhodný software nízké úrovně. Stejné kontroly se ale musí použít také v prostředí po spuštění na ovladače a další spustitelné soubory s přístupem v režimu jádra. Za tímto účelem se pomocí zásady integrity kódu (CI) definují, které ovladače, binární soubory a další spustitelné soubory se považují za důvěryhodné, a to zadáním platných a neplatných podpisů. Tyto zásady se vynucují. Porušení zásad generuje výstrahy pro tým reakce na incidenty zabezpečení k prošetření.

Další kroky

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