Kernelmod hårdvaruimplementerat stackskydd

Gäller för: Windows Server 2025

Säkerhetsfunktionen Hardware-enforced Stack Protection introducerades för att skydda processer i användarläge och förhindra kapning på stacken i Windows 10. Maskinvarustyrt Stack Protection utökas nu till kernelläge, vilket skyddar staplar i kerneln från returorienterade programmeringsbaserade attacker (ROP). ROP är ett vanligt sätt för angripare att kapa ett programs exekveringsflöde och fortsätta sin attackkedja för att köra angriparens önskade kod.

Nu när användarlägesstackar är skyddade och förhindrar ändring av returadresser från kernellägeskod kan angripare inte utnyttja säkerhetsrisker i minnet. Kunderna ser redan hur hårdvarustödd stackskydd i kärnläge förhindrar att drivrutiner som är associerade med virus och skadlig kod utför sina skadliga angrepp.

Kernel-mode Hardware-enforced Stack Protection är inaktiverat som standard, men kunder kan aktivera det om kraven uppfylls. Den här artikeln innehåller mer information om kärnläge maskinvarubaserat stackskydd och visar hur du aktiverar funktionen i Windows säkerhetsapp och via grupppolicy.

Prerequisites

  • Windows 11 2022-uppdatering eller senare
  • Windows Security-appversion 1000.25330.0.9000 eller senare
  • Maskinvara som stöder Intel Control-flow Enforcement Technology (CET) eller AMD Shadow Stacks.
    • För Intel, 11:e generationens Intel Core Mobile-processorer och AMD Zen 3 Core (och senare).
  • Virtualiseringsbaserad säkerhet (VBS) och Hypervisor-framtvingad kodintegritet (HVCI) är aktiverade.

Använda skuggstackar för att framtvinga integriteten för kontrollflödet

Med Kernel-mode Hardware-enforced Stack Protection har alla kernelstackar en motsvarande skuggstack för att framtvinga integriteten för dess kontrollflöde. Om angripare utnyttjar en säkerhetsrisk för minnet är nästa steg att omdirigera kontrollflödet för ett program till en angripares önskade plats.

Skuggstackar förhindrar kapning av kontrollflöden. Windows använder Control Flow Guard för att garantera integriteten vid indirekta anrop och maskinvaru-framtvingat stackskydd för att garantera integriteten vid returer för att skydda mot exploateringar som försöker omdirigera körflödet av ett program. Control Flow Guard använder en bitmapp för att kommentera giltiga hoppmål för att förhindra att ett komprometterat indirekt anrop omdirigerar kontrollflödet till godtyckliga platser.

Skuggstacken upprätthåller en sekundär stack (maskinvaruskyddad) för alla anropsstackar, och när en CALL- eller RET-instruktion skickar eller visar ett värde på stacken, finns motsvarande post kvar i skuggstacken. När ett returadressfel inträffar utlöser systemet en blå skärm för att förhindra oavsiktligt programkontrollbeteende.

För mer information, se blogginlägget om Förstå maskinvaru-framtvingat stackskydd.

Aktivera Kernel-mode hårdvarustödd stackskydd i Windows Security

Virtualization-Based Säkerhet (VBS) och Hypervisor-framtvingad kodintegritet (HVCI) är förutsättningar för maskinvarubaserat stackskydd i kernelläge måste du först se till att dessa funktioner är aktiverade innan du fortsätter. De kan användas automatiskt på Windows-system som uppfyller minimikraven för maskinvara.

Aktivera VBS och HVCI med följande steg:

  1. Öppna Windows-säkerhetsappen .

  2. Gå till Enhetssäkerhet > Kärnisoleringsdetaljer > Minnesintegritet.

  3. Växla funktionen .

  4. När du har gjort den här ändringen måste du starta om enheten.

Skärmbild av växlingsknappen för att aktivera eller inaktivera minnesintegritet.

Aktivera Kernel-mode Hardware-enforced Stack Protection

  1. Öppna Windows-säkerhetsappen .

  2. Gå till Enhetssäkerhet > Core isolering detaljer > Kernel-läge maskinvaru-stödd Stackskydd.

  3. Växla funktionen .

Skärmbild av växlingsknappen för att aktivera eller inaktivera Maskinvaruskydd i kernelläge.

Aktivera kernelläge Maskinvaru-framtvingat stackskydd i redigeraren för lokal grupprincip

För företagskunder kan maskinvaruförstärkt stackskydd i kernelläge aktiveras med hjälp av grupprinciper.

  1. Öppna redigeraren för lokal gruppolicy.

  2. Gå till Datorkonfiguration > Administrativa mallar > System > Device Guard > Aktivera Virtualiseringsbaserad säkerhet.

  3. Bekräfta att Virtualiseringsbaserad säkerhet är aktiverad.

  4. Under Alternativ hittar du Kernel-mode Hardware-enforced Stack Protection. Välj Aktiverad i tvingande läge.

  5. Välj Använd. Då ok.

Skärmbild av var du kan aktivera maskinvaruförstärkt stackskydd i kernelläge med hjälp av gruppolicy.

Inkompatibla drivrutiner

Det finns en liten uppsättning drivrutiner som ännu inte är kompatibla. Drivrutiner som uppvisar potentiellt skadligt beteende som kapning av returadresser för att komma runt kontrollflödesprinciper är inte kompatibla och läggs till i listan över sårbara drivrutinsblockering för maskinvaruskydd i kernelläge. Efter att ha arbetat med drivrutinsleverantörer för att utföra kodfördunkling på ett skuggstackkompatibelt sätt tillåts dessa drivrutiner.

För att ge en bra användarupplevelse och undvika blå skärmar har Windows en känd-inompatibel blocklista för drivrutiner för hårdvaruverkställt stackskydd i kernelläge. Det här är drivrutiner som är kända för att kapa returadresser i kerneln. När den här funktionen är aktiverad kan drivrutinen inte läsas in (till skillnad från en blå skärm när en kapning av returadressen försöks). Om systemet redan har en drivrutin installerad på blocklistan kan den här funktionen inte aktiveras. Du kan aktivera den här funktionen genom att avinstallera den associerade drivrutinen.

Granska inkompatibla drivrutiner

Funktionen kan inte aktiveras förrän inkompatibiliteterna har lösts, antingen med en uppdaterad version från drivrutinsleverantören eller genom att ta bort programmet som installerade drivrutinen. Om du vill se listan över inkompatibla drivrutiner väljer du "Granska inkompatibla drivrutiner".

Skärmbild av var du hittar eventuella inkompatibla drivrutiner.

Vissa appar använder drivrutiner som är inkompatibla med kärnläge maskinvaruframtvingat stackskydd. Till exempel appar som använder fördunklingsmotorer för att skydda IP-adresser och dölja kontrollflödet, som är inkompatibla med skuggstackar. När den osäkra drivrutinen försöker läsa in med den här säkerhetsfunktionen aktiverad visas en uppmaning om att "En drivrutin kan inte läsas in på den här enheten".

Skärmbild av dialogrutan med meddelande om att drivrutinen inte kan laddas in.

Du kan också inaktivera säkerhetsfunktionen, men om du gör det nedgraderas enhetens säkerhet. Du kan alltid återaktivera den här funktionen i Windows Security-programmet.