Anpassa exploateringsskydd

Gäller för:

Vill du uppleva Microsoft Defender för Endpoint? Registrera dig för en kostnadsfri utvärderingsversion.

Sårbarhetsskydd tillämpar automatiskt ett antal sårbarhetstekniker för både operativsystemets processer och enskilda appar.

Konfigurera de här inställningarna med hjälp Windows-säkerhet-appen på en enskild enhet. Exportera sedan konfigurationen som en XML-fil så att du kan distribuera till andra enheter. Använd grupprinciper för att distribuera XML-filen till flera enheter samtidigt. Du kan också konfigurera åtgärder med PowerShell.

I den här artikeln finns en lista över de tillgängliga minskningarna av sårbarhetsskydd. Den visar om minskningar kan tillämpas i hela systemet eller på enskilda program, och ger en kort beskrivning av hur minskningar fungerar.

Dessutom beskrivs hur du aktiverar eller konfigurerar åtgärder med hjälp Windows-säkerhet, PowerShell och MDM-konfigurationstjänstleverantörer (Mobile Device Management). Det här är det första steget när du skapar en konfiguration som du kan distribuera i nätverket. Nästa steg innebär att generera, exportera, importera och distribuera konfigurationen på flera enheter.

Varning

Vissa tekniker för riskreducering kan ha kompatibilitetsproblem med vissa program. Du bör testa exploateringsskyddet i alla målanvändningsscenarier med hjälp av granskningsläget innan du distribuerar konfigurationen i en produktionsmiljö eller i resten av nätverket.

Minskningar av sårbarhetsskydd

Alla åtgärder kan konfigureras för enskilda program. Vissa minskningar kan också tillämpas på operativsystemsnivå.

Du kan ange åtgärder på, av eller på standardvärdet. Vissa åtgärder har ytterligare alternativ som anges i beskrivningen i tabellen.

Standardvärden anges alltid inom hakparenteser vid alternativet Använd standard för varje minskning. I följande exempel är standardinställningen för Dataexekveringsskydd "På".

Standardkonfigurationen för var och en av minskningsinställningarna anger vår rekommendation om en basnivå för skydd för den dagliga användningen för hemanvändare. Företagsdistributioner bör överväga vilket skydd som krävs för deras behov och kan behöva ändra konfigurationen på annat sätt än standardinställningarna.

Information om tillhörande PowerShell-cmdlets för varje minskning finns i PowerShell-referenstabellen längst ned i den här artikeln.

Riskreducering Beskrivning Kan tillämpas på Granskningsläge tillgängligt
Kontrollflödesskydd (CFG) Säkerställer kontrollflödesintegritet för indirekta samtal. Kan, om du vill, dölja exporter och använda strikta CFG-regler. System- och appnivå Nej
Dataexekveringsskydd (DEP) Förhindrar att koden körs från minnessidor som bara är data, till exempel högar och högar. Endast konfigurerbara för 32-bitars (x86) appar, permanent aktiverade för alla andra arkitekturer. Kan även aktivera ATL-tunk-egulering. System- och appnivå Nej
Framtvinga slumpmässighet för bilder (obligatorisk ASLR) Flyttar bilder som inte sammanställs med /DYNAMICBASE. Kan misslyckas med inläsningen av bilder som inte har information från ett företag. System- och appnivå Nej
Slumpmässiga minnesallokeringar (ASLR nedifrån och upp) Slumpmässiga platser för virtuella minnestilldelningar. Den innehåller systemstruktur-heaps, staplar, TEBs och PEBs. Kan även använda en bredare slumpvariation för 64-bitarsprocesser. System- och appnivå Nej
Verifiera undantagskedjor (SEHOP) Säkerställer integriteten för en undantagskedja vid undantagssändning. Endast konfigurerbara för 32-bitarsprogram (x86). System- och appnivå Nej
Verifiera integritet för heap Avbryter en process när skadade heap upptäcks. System- och appnivå Nej
ACG (Arbitrary code guard) Förhindrar introduktionen av körbar kod som inte är bildbackad och förhindrar att kodsidor ändras. Kan även tillåta avanmälning av tråd och tillåta fjärrnedgradering (kan endast konfigureras med PowerShell). Endast på programnivå Ja
Blockera bilder med låg integritet Förhindrar inläsning av bilder markerade med låg integritet. Endast på programnivå Ja
Blockera fjärrbilder Förhindrar inläsning av bilder från fjärrenheter. Endast på programnivå Nej
Blockera teckensnitt som inte är betrodda Förhindrar inläsning av GDI-baserade teckensnitt som inte installerats i systemteckensnittskatalogen, vilket är den mest märkbara teckensnitten från webben. Endast på programnivå Ja
Kodintegritetsskydd Begränsar inläsning av bilder signerade av Microsoft, WHQL eller senare. Kan även tillåta Microsoft Store signerade bilder. Endast på programnivå Ja
Inaktivera tilläggspunkter Inaktiverar olika utökningsbarhetsmetoder som tillåter DLL-inlösning i alla processer, t.ex. AppInit-DLL-filer, fönster hooks och Winsock-tjänsteleverantörer. Endast på programnivå Nej
Inaktivera Win32k-systemanrop Förhindrar att en app använder Win32k-systemsamtalstabellen. Endast på programnivå Ja
Tillåt inte underordnade processer Förhindrar att en app skapar underordnade processer. Endast på programnivå Ja
EAF (Export address filtering) Identifierar skadlig åtgärd som löses med skadlig kod. Kan validera åtkomst via moduler som ofta används av sårbarheter. Endast på programnivå Ja
IAF (Import address filtering) Identifierar skadlig åtgärd som löses med skadlig kod. Endast på programnivå Ja
Simulera körning (SimExec) Säkerställer att samtal till känsliga API:er återgår till legitima uppringare. Endast konfigurerbara för 32-bitarsprogram (x86). Inte kompatibel med ACG. Endast på programnivå Ja
Verifiera API-anrop (CallerCheck) Säkerställer att känsliga API:er anropas av legitima uppringare. Endast konfigurerbara för 32-bitarsprogram (x86). Inte kompatibelt med ACG Endast på programnivå Ja
Verifiera referensanvändning Skapar ett undantag för alla ogiltiga handtagsreferenser. Endast på programnivå Nej
Verifiera integritet för bildberoende Framtvingar kodsignering för Windows bildsamband läses in. Endast på programnivå Nej
Verifiera stackintegritet (StackPivot) Säkerställer att högen inte har omdirigerats för känsliga API:er. Inte kompatibel med ACG. Endast på programnivå Ja

Viktigt

Om du lägger till en app i avsnittet Programinställningar och konfigurerar enskilda åtgärder där så används de ovanför konfigurationen för samma åtgärder som anges i avsnittet Systeminställningar . I följande matris och exempel kan du illustrera hur standardinställningar fungerar:

Aktiverad i programinställningar Aktiverad i Systeminställningar Beteende
Ja Nej Enligt programinställningarna
Ja Ja Enligt programinställningarna
Nej Ja Enligt systeminställningarna
Nej Ja Standard som definierats i alternativet Använd standard
  • Exempel 1

    Mikael konfigurerar dataexekveringsskydd (DEP) i avsnittet Systeminställningar till Av som standard.

    Mikael lägger sedan till appen test.exe i avsnittet Programinställningar . I alternativen för programmet, under Dataexekveringsskydd (DEP), aktiverar han alternativet Åsidosätt systeminställningar och ställer in växlingsknappen på . Det finns inga andra program listade i avsnittet Programinställningar .

    Resultatet blir att DEP endast aktiveras för test.exe. Alla andra appar kommer inte att använda DEP.

  • Exempel 2

    Josie konfigurerar dataexekveringsskydd (DEP) i avsnittet Systeminställningar till Av som standard.

    Josie lägger sedan till appen test.exe i avsnittet Programinställningar . I alternativen för den appen, under Dataexekveringsskydd (DEP), aktiverar hon alternativet Åsidosätt systeminställningar och ställer in växlingsknappen på .

    Josie lägger också till miles.exe i avsnittet Programinställningar och konfigurerar CfG (Control Flow Guard) till . Hon aktiverar inte alternativet Åsidosätt systeminställningar för DEP eller andra åtgärder för det programmet.

    Resultatet blir att DEP aktiveras för test.exe. DEP aktiveras inte för andra appar, även miles.exe. CFG aktiveras för miles.exe.

Anteckning

Om du har hittat problem i den här artikeln kan du rapportera det direkt till en Windows Server/Windows-klientpartner eller använda Microsofts tekniska supportnummer för ditt land.

Konfigurera åtgärder på systemnivå med Windows-säkerhet program

  1. Öppna Windows-säkerhet genom att välja sköldikonen i aktivitetsfältet eller söka på startmenyn för att Windows-säkerhet.

  2. Välj panelen & för webbläsaren (eller programikonen på den vänstra menyraden) och välj sedan Sårbarhetsskydd.

  3. Leta rätt på den minskning du vill konfigurera under Systeminställningar och välj något av följande. Appar som inte konfigureras individuellt i avsnittet Programinställningar använder inställningarna som konfigurerats här:

    • Som standard – Minskningar är aktiverade för program som inte har den här begränsningen i avsnittet programinställningar
    • Inaktiverat som standard – Minskningar inaktiveras för program som inte har den här begränsningen i avsnittet programspecifika programinställningar
    • Använd standard – Minskningar är antingen aktiverade eller inaktiverade, beroende på standardkonfigurationen som konfigureras av Windows 10 eller Windows 11-installationen. Standardvärdet (På eller Av) anges alltid bredvid Använd standardetikett för varje minskning

    Anteckning

    Fönstret Kontroll av användarkonto kan visas när du ändrar vissa inställningar. Ange administratörsautentiseringsuppgifter för att tillämpa inställningen.

    Om du ändrar vissa inställningar kan en omstart krävas.

  4. Upprepa för alla åtgärder på systemnivå som du vill konfigurera.

  5. Gå till avsnittet Programinställningar och välj det program som du vill tillämpa åtgärder på:

    1. Om programmet du vill konfigurera redan finns med i listan markerar du det och väljer sedan Redigera
    2. Om programmet inte finns med i listan väljer du Lägg till program för att anpassa högst upp i listan och väljer sedan hur du vill lägga till programmet:
      • Använd Lägg till efter programnamn om du vill att begränsningen ska tillämpas på en löpande process med det namnet. Du måste ange en fil med ett filnamnstillägg. Du kan ange en fullständig sökväg för att begränsa begränsningen till bara appen med det namnet på den platsen.
      • Använd Välj exakt filsökväg om du vill använda Windows standardfönster för filväljaren i Utforskaren för att hitta och välja den fil du vill använda.
  6. När du har valt programmet visas en lista över alla åtgärder som kan tillämpas. Om du vill aktivera begränsningen markerar du kryssrutan och ändrar skjutreglaget till . Välj eventuella ytterligare alternativ. Om du väljer Granskning används minskningar endast i granskningsläge. Du får ett meddelande om du behöver starta om processen eller programmet, eller om du behöver starta om Windows.

  7. Upprepa de här stegen för alla program och åtgärder som du vill konfigurera. Välj Använd när du är klar med konfigurationen.

Du kan nu exportera de här inställningarna som en XML-fil eller fortsätta med att konfigurera programspecifika åtgärder.

Om du exporterar konfigurationen som en XML-fil kan du kopiera konfigurationen från en enhet till andra enheter.

PowerShell-referens

Du kan använda Windows-säkerhet för att konfigurera Sårbarhetsskydd, eller så kan du använda PowerShell-cmdlets.

De konfigurationsinställningar som senast ändrades kommer alltid att användas – oavsett om du använder PowerShell eller Windows-säkerhet. Det innebär att om du använder appen för att konfigurera en minskning, och sedan använder PowerShell för att konfigurera samma minskning, uppdateras programmet så att det visar de ändringar du har gjort med PowerShell. Om du sedan använder appen för att ändra minskningar igen, tillämpas den ändringen.

Viktigt

Alla ändringar som distribueras till en enhet via Grupprincip åsidosätter den lokala konfigurationen. När du inställningar för en inledande konfiguration ska du använda en enhet där ingen grupprincipkonfiguration används för att säkerställa att ändringarna inte åsidosätts.

Du kan använda PowerShell-verbet Get eller Set med cmdleten ProcessMitigation. Användning Get visar aktuell konfigurationsstatus för åtgärder som har aktiverats på enheten – -Name lägg till cmdlet och app exe för att se åtgärder för just det programmet:

Get-ProcessMitigation -Name processName.exe

Viktigt

Åtgärder på systemnivå som inte har konfigurerats visar statusen för NOTSET.

Anger standardinställningen för NOTSET den minskning som har tillämpats för systemnivåinställningar.

För inställningar på programnivå anger NOTSET du systeminställningen för minskningar.

Standardinställningen för de olika minskningarna på systemnivån finns i Windows-säkerhet.

Används för Set att konfigurera åtgärder i följande format:

Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>

Var:

  • <Scope>:
    • -Name för att indikera att minskningar bör tillämpas på en viss app. Ange appens körbara efter den här flaggan.
    • -System för att indikera att minskningar bör tillämpas på systemnivån
  • <Action>:
    • -Enable för att aktivera minskningar
    • -Disable för att inaktivera minskningar
  • <Mitigation>:
    • Minsknings-cmdleten som definierats i tabellen för minskningar av cmdlets nedan, tillsammans med eventuella delalternativ (inom blanksteg). Alla åtgärder är åtskilda med kommatecken.

Om du till exempel vill aktivera dataexekveringsskydd (DEP) med ATL-thunk-egulering, och för en körbar fil som kallas testing.exe i mappen C:\Apps\LOB\tests, och för att förhindra att körbara processer skapas använder du följande kommando:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable DEP, EmulateAtlThunks, DisallowChildProcessCreation

Viktigt

Avgränsa varje alternativ för minskning med kommatecken.

Om du vill använda DEP på systemnivå använder du följande kommando:

Set-Processmitigation -System -Enable DEP

Om du vill inaktivera minskningar kan du ersätta -Enable med -Disable. För åtgärder på programnivå innebär det emellertid att minskningarna bara inaktiveras för det programmet.

Om du behöver återställa begränsningen till systemstandarden måste -Remove du inkludera cmdleten och i följande exempel:

Set-Processmitigation -Name test.exe -Remove -Disable DEP

Du kan också ange vissa åtgärder för granskningsläge. I stället för att använda PowerShell-cmdleten för minskningar använder du cmdleten Granskningsläge som anges i tabellen för åtgärder med cmdlet:ar nedan.

Om du till exempel vill aktivera ACG (Arbitrary Code Guard) i granskningsläge för testing.exe som använts tidigare använder du följande kommando:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable AuditDynamicCode

Du kan inaktivera granskningsläge genom att använda samma kommando men ersätta -Enable med -Disable.

PowerShell-referenstabell

Den här tabellen innehåller PowerShell-cmdlet:ar (och tillhörande cmdlet:ar för granskningsläge) som kan användas för att konfigurera varje minskning.

Riskreducering Gäller för PowerShell-cmdlets Cmdlet för granskningsläge
Kontrollflödesskydd (CFG) System- och appnivå CFG, StrictCFG, SuppressExports Granskning inte tillgänglig
Dataexekveringsskydd (DEP) System- och appnivå DEP, EmulateAtlThunks Granskning inte tillgänglig
Framtvinga slumpmässighet för bilder (obligatorisk ASLR) System- och appnivå ForceRelocateImages Granskning inte tillgänglig
Slumpmässiga minnesallokeringar (ASLR nedifrån och upp) System- och appnivå BottomUp, HighEnltey Granskning inte tillgänglig
Verifiera undantagskedjor (SEHOP) System- och appnivå SEHOP, SEHOPTelemetry Granskning inte tillgänglig
Verifiera integritet för heap System- och appnivå TerminateOnError Granskning inte tillgänglig
ACG (Arbitrary code guard) Endast på programnivå DynamicCode AuditDynamicCode
Blockera bilder med låg integritet Endast på programnivå BlockLowLabel AuditImageLoad
Blockera fjärrbilder Endast på programnivå BlockRemoteImages Granskning inte tillgänglig
Blockera teckensnitt som inte är betrodda Endast på programnivå DisableNonSystemFonts AuditFont, FontAuditOnly
Kodintegritetsskydd Endast på programnivå BlockNonMicrosoftSigned, AllowStoreSigned AuditMicrosoftSigned, AuditStoreSigned
Inaktivera tilläggspunkter Endast på programnivå ExtensionPoint Granskning inte tillgänglig
Inaktivera Win32k-systemanrop Endast på programnivå DisableWin32kSystemCalls AuditSystemCall
Tillåt inte underprocesser Endast på programnivå DisallowProcessCreation AuditProcess
EAF (Export address filtering) Endast på programnivå EnableExportAddressFilterPlus, EnableExportAddressFilter [1] Granskning inte tillgänglig2[]
IAF (Import address filtering) Endast på programnivå EnableImportAddressFilter Granskning inte tillgänglig2[]
Simulera körning (SimExec) Endast på programnivå EnableRopSimExec Granskning inte tillgänglig2[]
Verifiera API-anrop (CallerCheck) Endast på programnivå EnableRopCallerCheck Granskning inte tillgänglig2[]
Verifiera referensanvändning Endast på programnivå StrictHandle Granskning inte tillgänglig
Verifiera integritet för bildberoende Endast på programnivå EnforceModuleDepencySigning Granskning inte tillgänglig
Verifiera stackintegritet (StackPivot) Endast på programnivå EnableRopStackPivot Granskning inte tillgänglig2[]

[1]: Använd följande format för att aktivera EAF-moduler för DLL-filer för en process:

Set-ProcessMitigation -Name processName.exe -Enable EnableExportAddressFilterPlus -EAFModules dllName1.dll,dllName2.dll

[2]: Granskning av den här begränsningen är inte tillgänglig via PowerShell-cmdlets.

Anpassa meddelandet

Mer information om hur du anpassar meddelandet när en regel utlöses och blockerar en app eller fil finns i Windows-säkerhet.

Se även