Měřené spouš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 ověření spouštění a hostitele.
Měřené spouštění
Čip TPM (Trusted Platform Module) je kryptograficky zabezpečená komponenta auditování s firmwarem dodávanou důvěryhodnou třetí stranou. Protokol konfigurace spouštění obsahuje hodnoty hash zřetězené v jeho registrech konfigurace platformy (PCR), když hostitel naposledy prošel sekvencí bootstrappingu. Následující obrázek znázorňuje tento proces nahrávání. Přírůstkové přidání dříve hashovaného měření k hodnotě hash další hodnoty hash a spuštění algoritmu hash ve sjednocení dosahuje řetězení hodnot hash.
Ověření identity se provádí, když hostitel poskytuje doklad o stavu konfigurace pomocí protokolu konfigurace spouštění (TCGLog). Padělání spouštěcího protokolu je obtížné, protože TPM nezpřístupňuje jiné hodnoty PCR než operace čtení a rozšíření. Přihlašovací údaje zadané službou ověření hostitele jsou navíc zapečetěny na konkrétní hodnoty PCR. Při použití řetězení hodnot hash je výpočetně neproveditelné falšování nebo zrušení falšování přihlašovacích údajů mimo pásma.
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é, než budou moct pracovat s zákaznickými daty nebo úlohami. Služba ověření identity hostitele kontroluje ověřením dodržování předpisů (ověřitelným dokladem 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 vztahem důvěryhodnosti poskytovaným čipem TPM.
Služba ověření identity hostitele se nachází v každém clusteru Azure v rámci specializovaného uzamčeného prostředí. Uzamčené prostředí zahrnuje další vrátné služby, které se účastní protokolu bootstrapping hostitelského počítače. Infrastruktura veřejných klíčů (PKI) funguje jako zprostředkovatel pro ověřování provenience žádostí o ověření identity a jako vystavitel identity (podmíněný úspěšným ověřením hostitele). Přihlašovací údaje po ověření identity vystavené ověřovacímu hostiteli jsou zapečetěny s jeho identitou. 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 typu man-in-the-middle a falšování identity.
Pokud hostitel Azure přichází z továrny s chybnou konfigurací zabezpečení nebo je manipulován v datacentru, jeho protokol TCGLog obsahuje indikátory ohrožení zabezpečení označené službou ověření hostitele při další ověření identity, což způsobí selhání ověření identity. Selhání ověření identity brání tomu, aby flotila Azure důvěřovala hostiteli, který je odsud. Tato prevence efektivně blokuje veškerou komunikaci s hostitelem a z hostitele a aktivuje pracovní postup incidentu. Vyšetřování a podrobná analýza po mortemu se provádí za účelem určení původních příčin a jakýchkoli potenciálních indikací ohrožení. Je to až po dokončení analýzy, že se hostitel opraví a má příležitost připojit se k parku Azure a převzít úlohy zákazníků.
Následuje architektura vysoké úrovně služby ověření hostitele:
Měření ověření identity
Následuje příklad mnoha měření zachycených dnes.
Zabezpečené spouštění a zabezpečené spouštěcí klíče
Ověřením správnosti algoritmů hash databáze podpisů a odvolaných podpisů zajišťuje služba Ověření hostitele, že klientský agent považuje správný software za důvěryhodný. Ověřením podpisů databáze registračního klíče veřejného klíče a veřejného klíče platformy služba Ověření hostitele potvrzuje, že pouze důvěryhodné strany mají oprávnění k úpravě definic softwaru, který je považován za důvěryhodný. A konečně tím, že zajistíte, aby zabezpečené spouštění bylo aktivní, služba ověření identity hostitele ověřuje, že se tyto definice vynucují.
Ladění ovládacích prvků
Ladicí programy jsou výkonné nástroje pro vývojáře. Nefetterovaný přístup k paměti a dalším příkazům ladění však může oslabit ochranu dat a integritu systému, pokud je udělen nevěřenou stranou. 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í rozhraní UEFI zajišťuje, že během spouštěcí sekvence může běžet pouze důvěryhodný software nízké úrovně. Stejné kontroly se ale musí použít i 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 zásada integrity kódu (CI) používá k definování ovladačů, binárních souborů a dalších spustitelných souborů, které jsou považovány za důvěryhodné zadáním platných a neplatných podpisů. Tyto zásady se vynucují. Porušení zásad generují výstrahy týmu reakce na incidenty zabezpečení pro šetření.
Další kroky
Další informace o tom, co děláme pro zajištění integrity a zabezpečení platformy, najdete tady: