Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: Windows Server 2025
Funkce zabezpečení Hardwarově vynucená ochrana zásobníku byla zavedena pro ochranu procesů uživatelského režimu a pomáhá zabránit napadení zásobníku ve Windows 10. Hardwarově vynucená ochrana zásobníku se teď rozšiřuje do režimu jádra, který chrání zásobníky v jádru před návratovými programovacími útoky (ROP). ROP je běžným způsobem, jak útočníci zneužívají tok vykonávání programu, aby pokračovali v řetězu útoků a spustili kód, který si útočník přeje.
Když jsou nyní zásobníky uživatelského režimu chráněné a brání úpravě návratové adresy kódem v režimu jádra, útočníci nemohou zneužít zranitelnosti paměťové bezpečnosti. Zákazníci už vidí, jak hardwarem vynucená ochrana zásobníku v režimu jádra brání ovladačům přidruženým k virům a malwaru, aby spouštěly svoji škodlivou datovou část.
Ochrana zásobníku vynucená hardwarem v režimu jádra je ve výchozím nastavení vypnutá, ale zákazníci ji můžou zapnout, pokud jsou splněné požadavky. Tento článek poskytuje více informací o ochraně zásobníku v režimu jádra, kterou vynucuje hardware, a ukazuje, jak tuto funkci povolit v aplikaci Zabezpečení systému Windows a prostřednictvím Zásady skupiny.
Prerequisites
- Aktualizace Windows 11 2022 nebo novější
- Aplikace Zabezpečení systému Windows verze 1000.25330.0.9000 nebo novější
- Hardware, který podporuje technologie CET (Intel Control-Flow Enforcement Technology) nebo AMD Shadow Stacks.
- Pro Intel procesory mobilní řady Intel Core 11. generace a jádra AMD Zen 3 (a novější).
- Je povoleno zabezpečení na základě virtualizace (VBS) a integrita kódu vynucené hypervisorem (HVCI).
Použití stínových zásobníků k vynucení integrity toku řízení
Při použití hardwarově vynucené ochrany zásobníku v režimu jádra mají všechny zásobníky jádra odpovídající stínový zásobník pro vynucení integrity jeho řízení toku. Pokud útočníci zneužívají ohrožení zabezpečení paměti, dalším krokem je přesměrování toku řízení programu na požadované místo útočníka.
Stínové zásobníky brání napadení toku řízení. Systém Windows používá Control Flow Guard k vynucení integrity nepřímých volání a ochranu zásobníku vynucenou hardwarem k zajištění integrity při vrácení, aby se chránil před exploitacemi, které cílí na přesměrování toku provádění programu. Ochrana toku řízení využívá bitmapu k označení platných cílů skoku, aby zabránila kompromitovanému nepřímému volání v přesměrování toku řízení na libovolná místa.
Stínový zásobník udržuje sekundární zásobník (chráněný hardwarem) pro všechny zásobníky volání, a pokaždé, když instrukce CALL nebo RET umístí nebo odstraní hodnotu ze zásobníku, odpovídající záznam se vytvoří ve stínovém zásobníku. Když dojde k neshodě návratových adres, systém aktivuje modrou obrazovku, aby se zabránilo neúmyslnému chování řízení programu.
Další informace najdete v blogovém příspěvku Porozumění hardwarově vynucené ochraně zásobníku.
Povolte ochranu zásobníku vynucenou hardwarem v režimu jádra v zabezpečení systému Windows
Virtualization-Based Zabezpečení (VBS) a Hypervisor-vynucená integrita kódu (HVCI) jsou předpoklady pro hardwarově vynucenou ochranu zásobníku v režimu jádra, musíte zajistit, že tyto funkce jsou povolené, než budete pokračovat. Jsou automaticky použitelné v systémech Windows, které splňují minimální požadavky na hardware.
Povolte VBS a HVCI pomocí následujících kroků:
Otevřete aplikaci Zabezpečení systému Windows .
Přejděte na Zabezpečení zařízení > Podrobnosti izolace jádra > Integrita paměti.
Zapněte funkci.
Po provedení této změny je potřeba zařízení restartovat.
Zapnout ochranu zásobníku hardwarově vynucenou v režimu jádra
Otevřete aplikaci Zabezpečení systému Windows .
Přejděte do Zabezpečení zařízení > podrobností o izolaci jádra > ochraně zásobníku v režimu jádra vynucené hardwarem.
Zapněte funkci.
Povolte ochranu zásobníku prosazovanou hardwarem v režimu jádra v editoru místních zásad skupiny
Pro podnikové zákazníky lze pomocí zásad skupinové politiky povolit ochranu zásobníku v režimu jádra vynucovanou hardwarem.
Otevřete Editor místních zásad skupiny.
Přejděte do Konfigurace počítače > Šablony pro správu > System > Device Guard > Zapnutí zabezpečení na základě virtualizace.
Ověřte, že je povolené zabezpečení na základě virtualizace.
V části Možnosti najdete hardwarově vynucenou ochranu zásobníku v režimu jádra. Vyberte Povoleno v režimu vynucení.
Vyberte a použijte. Pak ok.
Nekompatibilní ovladače
Existuje malá sada ovladačů, které ještě nejsou kompatibilní. Ovladače, které vykazují potenciálně škodlivé chování, jako je únos návratových adres pro obejití zásad toku řízení, nejsou kompatibilní a jsou přidány do seznamu blokovaných zranitelných ovladačů pro ochranu zásobníku prosazovanou hardwarem v režimu jádra. Po společné práci s dodavateli ovladačů na provedení obfuskace kódu způsobem kompatibilním se stínovým zásobníkem mohou být tyto ovladače povoleny.
Pro zajištění dobrého uživatelského prostředí a zabránění modrým obrazovkám počítače, Windows udržuje seznam blokovaných ovladačů, které jsou známé svou nekompatibilitou pro hardwarově vynucenou ochranu zásobníku v režimu jádra. Jedná se o ovladače, o kterých se ví, že v jádru unesou návratové adresy. Když je tato funkce zapnutá, ovladač nemůže načíst (na rozdíl od modré obrazovky při pokusu o napadení zpáteční adresy). Kromě toho, pokud systém již má na seznamu blokovaných nainstalovaný ovladač, tato funkce se nepovede povolit. Tuto funkci můžete povolit odinstalací přidruženého ovladače.
Kontrola nekompatibilních ovladačů
Tuto funkci nelze povolit, dokud nebudou vyřešeny nekompatibility, a to buď s aktualizovanou verzí od dodavatele ovladače, nebo odebráním aplikace, která ovladač nainstalovala. Pokud chcete zobrazit seznam nekompatibilních ovladačů, vyberte Zkontrolovat nekompatibilní ovladače.
Některé aplikace používají ovladače, které nejsou kompatibilní s hardwareově vynucenou ochranou zásobníku v režimu jádra. Například aplikace, které používají obfuskační nástroje k ochraně duševního vlastnictví a zakrývání toku řízení, což je nekompatibilní se stínovými zásobníky. Když se nezabezpečený ovladač pokusí načíst s touto bezpečnostní funkcí povolenou, zobrazí se výzva s textem: "Ovladač se nemůže načíst na tomto zařízení".
Můžete volitelně zakázat funkci zabezpečení, ale tím snížíte úroveň zabezpečení zařízení. Tuto funkci můžete kdykoli znovu povolit v aplikaci Zabezpečení systému Windows.