Zabezpieczenia oparte na wirtualizacji (VBS)
Zabezpieczenia oparte na wirtualizacji wykorzystują wirtualizację sprzętową oraz hypervisor systemu Windows do utworzenia izolowanego środowiska wirtualnego, które staje się korzeniem zaufania systemu operacyjnego, zakładając, że jądro może zostać naruszone. System Windows używa tego izolowanego środowiska do hostowania wielu rozwiązań zabezpieczeń, zapewniając im znacznie większą ochronę przed lukami w zabezpieczeniach w systemie operacyjnym i zapobiegającym wykorzystaniu złośliwych luk w zabezpieczeniach, które próbują pokonać zabezpieczenia. VbS wymusza ograniczenia ochrony ważnych zasobów systemu i systemu operacyjnego lub ochrony zasobów zabezpieczeń, takich jak uwierzytelnione poświadczenia użytkownika.
Jednym z przykładowych rozwiązań zabezpieczeń jest integralność pamięci operacyjnej, która wzmacnia zabezpieczenia systemu Windows przez uruchomienie integralności kodu trybu jądra w izolowanym środowisku wirtualnym VBS. Integralność kodu trybu jądra to proces systemu Windows, który sprawdza wszystkie sterowniki i pliki binarne trybu jądra przed ich uruchomieniem i zapobiega ładowaniu niepodpisanych lub niezaufanych sterowników lub plików systemowych do pamięci systemowej. Integralność pamięci ogranicza również alokacje pamięci jądra, które mogą być użyte do naruszenia bezpieczeństwa systemu. Zapewnia, że strony pamięci jądra stają się wykonywalne dopiero po przejściu kontroli integralności kodu w bezpiecznym środowisku uruchomieniowym, a same strony wykonywalne nigdy nie są zapisywalne. W ten sposób, nawet jeśli istnieją luki w zabezpieczeniach, takie jak przepełnienie buforu, które umożliwiają złośliwemu oprogramowaniu próbę zmodyfikowania pamięci, nie można modyfikować stron kodu wykonywalnego, a zmodyfikowana pamięć nie może być wykonywalna.
Notatka
Integralność pamięci jest czasami określana jako integralność kodu chronionego przez hypervisor (HVCI) lub jako integralność kodu wymuszana przez hypervisori została pierwotnie wydana jako część Device Guard. Funkcja Device Guard nie jest już używana z wyjątkiem lokalizacji integralności pamięci i ustawień VBS w zasadach grupy lub rejestrze systemu Windows.
VBS wymaga, aby następujące składniki były obecne i prawidłowo skonfigurowane.
Wymaganie sprzętowe | Szczegóły |
---|---|
64-bitowy procesor | Zabezpieczenia oparte na wirtualizacji (VBS) wymagają funkcji hypervisor systemu Windows, która jest obsługiwana tylko w 64-bitowych procesorach IA z rozszerzeniami wirtualizacji, w tym Intel VT-X i AMD-v. |
Translacja adresów drugiego poziomu (SLAT) | VBS wymaga również, aby obsługa wirtualizacji procesora obejmowała translację adresów drugiego poziomu (SLAT), czyli Intel VT-X2 z rozszerzonymi tabelami stron (EPT) lub AMD-v z indeksowaniem szybkiej wirtualizacji (RVI). |
IOMMU lub SMMU (Intel VT-D, AMD-Vi, Arm64 SMMU) | Wszystkie urządzenia we/wy, które mogą mieć funkcję DMA, muszą znajdować się za rozwiązaniem IOMMU lub SMMU. Za pomocą IOMMU można zwiększyć odporność systemu na ataki pamięci. |
Moduł TPM (Trusted Platform Module) 2.0 | Aby uzyskać więcej informacji, zobacz Trusted Platform Module (TPM) 2.0. |
Obsługa oprogramowania układowego na potrzeby ochrony SMM | Oprogramowanie układowe systemu musi być zgodne z zaleceniami dotyczącymi wzmacniania funkcjonalności kodu SMM opisanego w specyfikacji Tabela ograniczania zabezpieczeń programu Windows SMM (WMST). Specyfikacja narzędzia WSMT zawiera szczegółowe informacje o tabeli ACPI, która została utworzona do użycia z systemami operacyjnymi Windows obsługującymi funkcje VBS. Oprogramowanie układowe musi zaimplementować zabezpieczenia opisane w specyfikacji narzędzia WSMT i ustawić odpowiednie flagi ochrony zgodnie ze specyfikacją w celu raportowania zgodności z tymi wymaganiami do systemu operacyjnego. |
Raportowanie pamięci ujednoliconego rozszerzalnego oprogramowania układowego (UEFI) | Oprogramowanie układowe UEFI musi być zgodne z następującymi wytycznymi dotyczącymi formatowania raportowania mapy pamięci i alokacji pamięci w celu zapewnienia zgodności oprogramowania układowego z językiem VBS.
|
Żądanie Bezpiecznego Nadpisania Pamięci (MOR) wersja 2 | Protokół Secure MOR w wersji 2 został rozszerzony w celu ochrony ustawienia blokady MOR przy użyciu bezpiecznej zmiennej UEFI. Pomaga to chronić przed zaawansowanymi atakami pamięci. Aby uzyskać szczegółowe informacje, zobacz Implementacja protokołu Secure MOR. |
Sterowniki zgodne z integralnością pamięci | Upewnij się, że wszystkie sterowniki systemowe zostały przetestowane i zweryfikowane pod kątem zgodności z integralnością pamięci. Zestaw Windows Driver Kit i Driver Verifier zawierają testy zgodności sterowników z integralnością pamięci. Istnieją trzy kroki weryfikacji zgodności sterowników:
|
Bezpieczny rozruch | Bezpieczny rozruch musi być włączony na urządzeniach korzystających z VBS. Aby uzyskać więcej informacji, zobacz Secure Boot |
VBS działa na maszynach wirtualnych, które mają obsługę wirtualizacji zagnieżdżonej lub włączony VSM gościa. Ten ostatni jest domyślnie włączony dla maszyn wirtualnych generacji 2 na Hyper-V. Obejmuje to również wszystkie maszyny wirtualne generacji 2 na platformie Microsoft Azure oraz generacji 1 z włączoną wirtualizacją zagnieżdżoną. Lista obsługiwanych serii maszyn wirtualnych platformy Azure znajduje się w poniższej tabeli.
nazwa serii maszyn wirtualnych | Zagnieżdżona Wirtualizacja | Generacja maszyn wirtualnych |
---|---|---|
Av2 | Tak | 1 (niektóre rozmiary wewnętrzne obsługują generację 2) |
B | Nie | 1 i 2 |
Dsv2/Dv2/Dv3/Ev3 | Tak | 1 |
Dsv3/Ddsv3 | Tak | 1 i 2 |
Dsv4/Ddsv4 | Tak | 1 i 2 |
Esv3/Edsv3 | Tak | 1 i 2 |
Esv4/Edsv4 | Tak | 1 i 2 |
Ev4/Edv4 | Tak | Ev4 - tylko 1 Edv4 -1&2 |
Dv4/Ddv4 | Tak | 1 i 2 |
Dv5/Ddv5/Dsv5/Ddsv5 | Tak | 1 i 2 |
Ev5/Edv5/Esv5/Edsv5 | Tak | 1 i 2 |
Dasv5/Dadsv5/Easv5/ Eadsv5 | Tak | 1 i 2 |
Ebsv5/Edbsv5 | Tak | 1 i 2 |
Fsv2 | Tak | 1 i 2 |
Fx | Tak | 2 |
Lsv2 | Tak | 1 i 2 |
Tematy pokrewne
Aby uzyskać więcej informacji na temat funkcji Hyper-V, zobacz Hyper-V w systemie Windows Server 2016 lub Introduction to Hyper-V on Windows 10. Aby uzyskać więcej informacji na temat funkcji hypervisor, zobacz Specyfikacje funkcji Hypervisor.