Nowy system operacyjny, to również szereg nowych ustawień, funkcji i kruczków w menu, o których warto wiedzieć. Zwłaszcza kiedy dotyczą bezpośrednio wydajności, bo ta w Waszych systemach z Windowsem 11, a nawet 10 może być ograniczona przez aktywowaną funkcję HVCI (Hipervisor-Enforced Code Integrity), mającą podstawy w technologii VBS, czyli Virtualization-Based Security. Im starszy procesor, tym spadki są większe i tak też nowe układy zaliczają kilkuprocentowe spadki wydajności, a starsze nawet rzędu 28%.
Czym jest VBS i HVCI?
Jak możecie oczekiwać, funkcja HVCI jest bezpośrednio związana z tym, co było szeroko komentowane na długo przed premierą Windowsa 11, czyli bezpieczeństwem. Na jego punkcie Microsoft ma wręcz obsesję i słusznie, ale to, co zwykle ma zastosowanie głównie w środowiskach korporacyjnych i biznesowych, nie ma przełożenia na „typowego Kowalskiego”, który na tych zmianach może stracić. Do tej pory najszerzej był komentowany TPM 2.0, ale spokojnie – HVCI nie jest z nim powiązany.
TPM 2.0, to skrót od najnowszej wersji Trusted Platform Module, czyli specjalnego układu umożliwiającego korzystanie z funkcji zabezpieczeń. Jego działanie polega na kreacji kluczy szyfrowania, z czego ten główny, służący do ich odszyfrowania, jest przechowywany w tym mikroukładzie (niekoniecznie oddzielnym, bo również wbudowanym w nowsze płyty główne), a nie dysku twardym.
TMP nie ma więc wiele wspólnego z HVCI, które z kolei bazuje na VBS, co jest skrótem od Virtualization-Based Security, czyli w tłumaczeniu „bezpieczeństwa dzięki wirtualizacji”. To z kolei specjalny tryb wirtualizacji sprzętu, który powstał w celu zapewnienia dodatkowej warstwy bezpieczeństwa. Nie bez powodu więc Microsoft zaleca konfigurowanie Windowsa 11 przez producentów i monterów tak, aby miały włączoną domyślnie funkcję VBS (poza zestawami przeznaczonymi do grania). Dodatkowo jest ona aktywna domyślnie po instalacji Windowsa 11 od zera (co ciekawe, nie w przypadku ulepszenia do niego z Windowsa 10).
W praktyce VBS (funkcje, których działanie umożliwia) zabezpiecza system przed wykonaniu złośliwego kodu. Ten zwyczajnie nie zostanie wykonany, bo nie przejdzie testów poprawności, jako że system wykryje, że tylko podszywa się pod bezpieczne aplikacje i sterowniki. Jest to dokonywane poprzez samą możliwość systemu co do wirtualizacji sprzętu. W ramach tego system generuje region w pamięci operacyjnej, który jest całkowicie odizolowany od reszty systemu i jest niczym „poligon testowy”. Oczywiście wszystko dzieje się w tle, a samo rozwiązanie blokuje obchodzenie zabezpieczeń poprzez podszywanie się złośliwego kodu pod sterowniki, mające znacznie wyższy poziom uprawnień względem tradycyjnych aplikacji, czy .exe’ców.
VBS w celu tego sprawdzania korzysta z funkcji systemowej o oryginalnej nazwie Hypervisor-Enforced Code Integrity (HVCI). To właśnie ta funkcja sprawdza, czy dany kod jest złośliwy, czy nie. Dokonuje tego w bardzo prosty sposób – uruchamia potencjalnie hakerski program w odizolowanym środowisku, które nie pozwala mu wpłynąć na resztę systemu. Problem w tym, że taka zabawa systemu „na poligonie doświadczalnym”, choć skuteczna w myśl walki o wyższe bezpieczeństwo, pożera wydajność.
Jak sprawdzić stan HVCI?
Jednak to, że posiadacie Windowsa 11, czy skonfigurowanego pod kątem bezpieczeństwa Windowsa 10, wcale nie oznacza, że posiadacie aktywowaną funkcję związaną z VBS. Przykładem tego może być m.in. laptop ASUS ROG Strix SCAR 17 G733 z Windowsem 11, na podstawie którego zrealizowałem poniższe zrzuty ekranu. Warto wiedzieć, że cała ta technologia w „wirtualizację w imię bezpieczeństwa” wymaga do działania modułu TPM 2.0, więc bez niego możecie spać spokojnie, jeśli idzie o wydajność.
Aby sprawdzić stan funkcji związanej z HVCI, musicie wykonać powyższe etapy na swoim komputerze, które obejmują:
- Wciśnięcie klawisza Windows
- Wpisanie „Informacje o systemie” w polu wyszukiwania
- Wejście w menu i odszukanie opcji „zabezpieczania oparte o wirtualizacji”
- Sprawdzenie jej stanu (włączona/niewłączona)
Jak dezaktywować HVCI?
Kiedy okaże się, że Wasz system posiada włączone HVCI, możecie dezaktywować tę funkcję na dwa sposoby. Albo z poziomu konsoli uruchomionej z uprawnieniami administratora, albo w interfejsie graficznym (ustawieniach).
- Z poziomu interfejsu graficznego
- Wciśnięcie klawisza Windows
- Wpisanie „Zabezpieczenia Windows”
- Uruchomienie menu
- Odszukanie „Zabezpieczenia urządzenia”
- Kliknięcie „szczegóły usługi izolacji rdzenia”
- Dezaktywacja opcji „Integralność pamięci”
- Reset systemu
- Z poziomu CMD
- Wciśnięcie klawisza Windows
- Wpisanie „CMD”
- Uruchomienie konsoli z prawami administratora (PPM -> uruchom jako administrator”)
- Wpisanie komendy: bcdedit /set hypervisorlaunchtype off
- Wciśnięcie entera
- Reset systemu
Aktywacja HVCI jest przeprowadzana w podobny sposób i np. w komendzie zmieniamy tylko parametr „off” na „on”. Pamiętajcie jednak, że dezaktywacja HVCI, choć zapewni Wam wyższą wydajność, obniży jednocześnie bezpieczeństwo systemu, więc jeśli zależy Wam na tym drugim, pamiętajcie, żeby wybrać mądrze.