Sdílet prostřednictvím


Zabezpečení na základě virtualizace (VBS)

Zabezpečení založené na virtualizaci neboli VBS používá virtualizaci hardwaru a hypervisor Windows k vytvoření izolovaného virtuálního prostředí, které se stane kořenem důvěryhodnosti operačního systému, který předpokládá, že jádro může být ohroženo. Systém Windows používá toto izolované prostředí k hostování řady řešení zabezpečení, které jim poskytuje výrazně zvýšenou ochranu před ohroženími zabezpečení v operačním systému a brání použití škodlivých zneužití, která se pokoušejí porazit ochranu. VBS vynucuje omezení k ochraně důležitých systémových a operačních systémů nebo k ochraně prostředků zabezpečení, jako jsou ověřené přihlašovací údaje uživatele.

Jedním z takových příkladů řešení zabezpečení je integrita paměti, která chrání Windows zajištěním integrity kódu v jádrovém režimu v izolovaném virtuálním prostředí VBS. Integrita kódu režimu jádra je proces Windows, který před spuštěním kontroluje všechny ovladače a binární soubory režimu jádra a zabraňuje načtení nepodepsaných nebo nedůvěryhodných ovladačů nebo systémových souborů do systémové paměti. Integrita paměti také omezuje přidělení paměti jádra, které by mohlo být použito k ohrožení systému, a zajišťuje, aby stránky paměti jádra se staly spustitelnými pouze po úspěšném provedení kontroly integrity kódu v zabezpečeném běhovém prostředí a samotné spustitelné stránky nikdy nejsou zapisovatelné. To znamená, že i kdyby došlo k ohrožením jako přetečení vyrovnávací paměti, které umožňují malwaru pokusit se upravit paměť, spustitelné stránky kódu nelze upravit a upravenou paměť nelze učinit spustitelnou.

Poznámka

Integrita paměti se někdy označuje jako hypervisorem chráněná integrita kódu (HVCI) nebo hypervisorem vynucená integrita kódua původně byla uvedena jako součást Device Guard. Device Guard se už nepoužívá s výjimkou vyhledání integrity paměti a nastavení VBS v zásadách skupiny nebo registru Windows.

VBS vyžaduje, aby byly k dispozici a správně nakonfigurované následující komponenty.

Požadavek na hardware Podrobnosti
64bitový procesor Zabezpečení založené na virtualizaci (VBS) vyžaduje hypervisor Windows, který je podporován pouze na 64bitových procesorech IA s rozšířeními virtualizace, včetně Intel VT-X a AMD-v.
Překlad adres druhé úrovně (SLAT) VBS také vyžaduje, aby podpora virtualizace procesoru zahrnovala překlad adres druhé úrovně (SLAT), a to buď Intel VT-X2 s rozšířenými stránkovacími tabulkami (EPT), nebo AMD-v s rychlým indexováním virtualizace (RVI).
IoMMU nebo SMMU (Intel VT-D, AMD-Vi, Arm64 SMMU) Všechna V/V zařízení, která podporují DMA, musí být za IOMMU nebo SMMU. IoMMU lze použít ke zvýšení odolnosti systému proti útokům na paměť.
TPM (Trusted Platform Module) 2.0 Další informace naleznete v tématu Trusted Platform Module (TPM) 2.0.
Podpora firmwaru pro ochranu SMM Firmware systému musí dodržovat doporučení pro posílení zabezpečení kódu SMM popsaného ve specifikaci tabulky WMST (Windows SMM Security Mitigations Table). Specifikace WSMT obsahuje podrobnosti o tabulce ACPI, která byla vytvořena pro použití s operačními systémy Windows, které podporují funkce VBS. Firmware musí implementovat ochranu popsanou ve specifikaci WSMT a nastavit odpovídající příznaky ochrany, jak je popsáno ve specifikaci, aby ohlásil dodržování těchto požadavků operačnímu systému.
Generování sestav paměti rozhraní UEFI (Unified Extensible Firmware Interface) Firmware rozhraní UEFI musí dodržovat následující pokyny pro generování sestav map paměti a pokyny pro přidělování paměti, aby firmware zajistil kompatibilitu s VBS.

  • tabulka atributů paměti rozhraní UEFI v2.6 (MAT) – Pro zajištění kompatibility s VBS musí firmware čistě oddělit rozsahy paměti EFI runtime pro kód a data a hlásit to operačnímu systému. Správné oddělení a zaznamenávání rozsahů paměti pro runtime EFI umožňuje mechanismu VBS aplikovat nezbytné ochrany paměťových stránek na kódové stránky služeb runtime EFI v bezpečné oblasti VBS. Předávání těchto informací operačnímu systému se provádí pomocí EFI_MEMORY_ATTRIBUTES_TABLE. Pokud chcete implementovat rozhraní UEFI MAT, postupujte podle těchto pokynů:
    1. V této tabulce musí být popsán celý modul runtime EFI.
    2. Všechny příslušné atributy pro stránky EfiRuntimeServicesData a EfiRuntimeServicesCode musí být označené.
    3. Tyto oblasti musí být zarovnané na hranicích stránky (4 kB) a nesmí se překrývat.
  • ochrana stránek EFI –Všechny položky musí obsahovat atributy EFI_MEMORY_RO, EFI_MEMORY_XP nebo obojí. Veškerá paměť UEFI, která je označena jako spustitelná, musí být jen pro čtení. Paměť nastavená jako zapisovatelná nesmí být spustitelná. Položky nesmí zůstat bez nastaveného atributu, což by znamenalo, že paměť je jak spustitelná, tak zapisovatelná.
  • Žádost o přepsání zabezpečené paměti (MOR) – revize 2 Zabezpečení MOR v2 je vylepšené, aby chránilo nastavení zámku MOR pomocí zabezpečené proměnné UEFI. To pomáhá chránit před pokročilými útoky na paměť. Pro podrobnosti se podívejte na implementaci zabezpečeného MOR .
    Ovladače kompatibilní s integritou paměti Ujistěte se, že jsou všechny systémové ovladače testovány a ověřeny, aby byly kompatibilní s integritou paměti. Windows Driver Kit a Driver Verifier obsahují testy kompatibility ovladačů s integritou paměti. K ověření kompatibility ovladačů existují tři kroky:
    1. Pomocí nástroje Driver Verifier s povolenými kontrolami kompatibility integrity kódu .
    2. V rámci Windows HLK spusťte test připravenosti integrity kódu hypervizoru.
    3. Otestujte ovladač v systému s povolenou integritou paměti a VBS. Tento krok je imperativní k ověření chování ovladače s integritou paměti, protože nástroje pro analýzu statického kódu jednoduše nedokážou detekovat všechna porušení integrity paměti možná za běhu.
    Zabezpečené spouštění Na zařízeních využívajících VBS musí být povolené zabezpečené spouštění. Další informace naleznete v části zabezpečené spouštění

    VBS funguje na virtuálních počítačích s podporou vnořené virtualizace nebo s povolenou funkcí Guest VSM. Druhá možnost je ve výchozím nastavení povolená pro virtuální počítače generace 2 v Hyper-V. To zahrnuje také všechny virtuální počítače 2. generace v Microsoft Azure a virtuální počítače 1. generace s povolenou vnořenou virtualizací. Seznam podporovaných řad virtuálních počítačů Azure najdete v následující tabulce.

    název řady virtuálních počítačů Vnořená virtualizace generování VM
    Av2 Ano 1 (některé z interních velikostí podporují generaci 2)
    B Ne 1 a 2
    Dsv2/Dv2/Dv3/Ev3 Ano 1
    Dsv3/Ddsv3 Ano 1 a 2
    Dsv4/Ddsv4 Ano 1 a 2
    Esv3/Edsv3 Ano 1 a 2
    Esv4/Edsv4 Ano 1 a 2
    Ev4/Edv4 Ano Ev4 – pouze 1
    Edv4 -1&2
    Dv4/Ddv4 Ano 1 a 2
    Dv5/Ddv5/Dsv5/Ddsv5 Ano 1 a 2
    Ev5/Edv5/Esv5/Edsv5 Ano 1 a 2
    Dasv5/Dadsv5/Easv5/ Eadsv5 Ano 1 a 2
    Ebsv5/Edbsv5 Ano 1 a 2
    Fsv2 Ano 1 a 2
    Forex Ano 2
    Lsv2 Ano 1 a 2

    Další informace o technologii Hyper-V najdete v tématu Hyper-V ve Windows Serveru 2016 nebo Úvod k Hyper-V ve Windows 10. Další informace o hypervisoru najdete v tématu Specifikace hypervisoru.