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 tekniker för att reducera exploateringar för operativsystemprocesser och appar.

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

I den här artikeln visas var och en av de åtgärder som är tillgängliga för sårbarhetsskydd. Den anger om åtgärden kan tillämpas i hela systemet eller på enskilda appar och ger en kort beskrivning av hur åtgärden fungerar.

Den beskriver också hur du aktiverar eller konfigurerar åtgärder med hjälp av Windows Säkerhet, PowerShell och MDM-konfigurationstjänstleverantörer (CSP:er). Det här är det första steget när du skapar en konfiguration som du kan distribuera i nätverket. Nästa steg omfattar generera, exportera, importera och distribuera konfigurationen till 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.

Åtgärder för sårbarhetsskydd

Alla åtgärder kan konfigureras för enskilda appar. Vissa åtgärder kan också tillämpas på operativsystemnivå.

Du kan ställa in var och en av åtgärderna som på, av eller till deras standardvärde. 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 åtgärd. I följande exempel är standardvärdet för datasårbarhetsskydd "På".

Konfigurationen Använd standard för var och en av inställningarna för åtgärder anger vår rekommendation om en grundläggande skyddsnivå för daglig användning för hemanvändare. Företagsdistributioner bör överväga det skydd som krävs för deras individuella behov och kan behöva ändra konfigurationen från standard.

De associerade PowerShell-cmdletarna för varje åtgärd finns i PowerShell-referenstabellen längst ned i den här artikeln.

Riskreducering Beskrivning Kan tillämpas på Granskningsläge tillgängligt
Control Flow Guard (CFG) Säkerställer kontrollflödesintegritet för direkta anrop. Du kan också ignorera exporter och använda strikt CFG. System- och appnivå Nej
Dataexekveringsskydd (DEP) Förhindrar att kod körs från endast dataminnessidor, till exempel heap och stacks. Endast konfigurerbar för 32-bitars (x86) appar, permanent aktiverad för alla andra arkitekturer. Kan även aktivera ATL-emulering. System- och appnivå Nej
Framtvinga slumpmässighet för bilder (obligatorisk ASLR) Tvingande flyttning av avbildningar som inte kompilerats med /DYNAMICBASE. Du kan också misslyckas med att läsa in avbildningar som inte har flyttinformation. System- och appnivå Nej
Slumpmässiga minnesallokeringar (ASLR nedifrån och upp) Randomiserar platser för virtuell minnesallokering. Den innehåller systemstruktur heaps, staplar, TEB och PEB. Du kan också använda en bredare randomiseringsavvikelse för 64-bitarsprocesser. System- och appnivå Nej
Verifiera undantagskedjor (SEHOP) Säkerställer integriteten för en undantagskedja under undantagssändning. Kan endast konfigureras för 32-bitars (x86) applikationer. System- och appnivå Nej
Verifiera integritet för heap Avslutar en process när heapskada identifieras. System- och appnivå Nej
ACG (Arbitrary code guard) Förhindrar introduktion av körbar kod som inte är avbildningsbaserad och förhindrar att kodsidor ändras. Du kan också tillåta att tråden avregistreras och tillåta fjärrnedgradering (kan endast konfigureras med PowerShell). Endast appnivå Ja
Blockera bilder med låg integritet Hindrar inläsningen av avbildningar som markerats med låg integritet. Endast appnivå Ja
Blockera fjärrbilder Hindrar inläsning av avbildningar från fjärrenheter. Endast appnivå Nej
Blockera teckensnitt som inte är betrodda Förhindrar inläsning av GDI-baserade teckensnitt som inte är installerade i systemets teckensnittskatalog, särskilt teckensnitt från webben. Endast appnivå Ja
Kodintegritetsskydd Begränsar inläsning av bilder som signerats av Microsoft, WHQL eller senare. Kan också tillåta Microsoft Store signerade avbildningar. Endast appnivå Ja
Inaktivera tilläggspunkter Inaktiverar olika utökningsmekanismer som tillåter DLL-inmatning i alla processer, till exempel AppInit-DLL:er, fönsterhooks och Winsock-tjänstleverantörer. Endast appnivå Nej
Inaktivera Win32k-systemanrop Förhindrar att en app använder tabellen för Win32k-systemanrop. Endast appnivå Ja
Tillåt inte blockering av underordnade processer Förhindrar att en app skapar underordnade processer. Endast appnivå Ja
EAF (Export address filtering) Identifierar farliga åtgärder som löses av skadlig kod. Du kan också verifiera åtkomsten via moduler som ofta används av sårbarheter. Endast appnivå Ja
IAF (Import address filtering) Identifierar farliga åtgärder som löses av skadlig kod. Endast appnivå Ja
Simulera körning (SimExec) Säkerställer att anrop till känsliga API:er återgår till legitima anropare. Kan endast konfigureras för 32-bitars (x86) applikationer. Inte kompatibel med ACG. Endast appnivå Ja
Verifiera API-anrop (CallerCheck) Säkerställer att känsliga API:er anropas av legitima anropare. Kan endast konfigureras för 32-bitars (x86) applikationer. Inte kompatibelt med ACG Endast appnivå Ja
Verifiera referensanvändning Gör att ett undantag utlöses för alla ogiltiga handtagsreferenser. Endast appnivå Nej
Verifiera integritet för bildberoende Framtvingar kodsignering för inläsning av Windows-avbildningsberoende. Endast appnivå Nej
Verifiera stackintegritet (StackPivot) Säkerställer att stacken inte har omdirigerats för känsliga API:er. Inte kompatibel med ACG. Endast appnivå Ja

Viktigt

Om du lägger till en app i avsnittet Programinställningar och konfigurerar enskilda åtgärdsinställningar där, kommer de att respekteras ovanför konfigurationen för samma åtgärder som anges i avsnittet Systeminställningar . Följande matris och exempel hjälper till att illustrera hur standardvärden fungerar:

Aktiverad i Programinställningar Aktiverad i Systeminställningar Beteende
Ja Nej Enligt definitionen i Programinställningar
Ja Ja Enligt definitionen i Programinställningar
Nej Ja Enligt definitionen i systeminställningarna
Nej Nej Standard enligt definitionen i Använd standardalternativ
  • Exempel 1Mikael konfigurerar Dataexekveringsskydd (DEP) i avsnittet Systeminställningar som ärinaktiverade som standard. Mikael lägger till appen test.exe i avsnittet Programinställningar. Under Dataexekveringsskydd (DEP) i alternativen för den appen aktiverar han alternativet Åsidosätt systeminställningar och anger växlingen till . Det finns inga andra appar i avsnittet Programinställningar . Resultatet blir att DEP endast aktiveras för test.exe. Alla andra appar kommer inte att ha DEP tillämpat.

  • Exempel 2 Josie konfigurerar Dataexekveringsskydd (DEP) i avsnittet Dataexekveringsskydd (DEP) i avsnittet Systeminställningar som ärinaktiverade som standard. Josie lägger till appen test.exe i avsnittet Programinställningar. Under Dataexekveringsskydd (DEP) i alternativen för den appen aktiverar hon alternativet Åsidosätt systeminställningar och anger växlingen till . Josie lägger också till appen miles.exe i avsnittet Programinställningar och konfigurerar Control Flow Guard (CFG) till . Hon aktiverar inte alternativet Åsidosätt systeminställningar för DEP eller andra åtgärder för den appen. Resultatet blir att DEP aktiveras för test.exe. DEP aktiveras inte för någon annan app, inklusive miles.exe. CFG aktiveras för miles.exe.

Obs!

Om du har hittat några 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/din region.

Konfigurera åtgärder på systemnivå med appen Windows Säkerhet

  1. Öppna Windows-säkerhet-appen genom att välja sköldikonen i aktivitetsfältet eller genom att söka i Start-menyn efter Windows-säkerhet.

  2. Välj panelen App- & webbläsarkontroll (eller appikonen på den vänstra menyraden) och välj sedan Sårbarhetsskydd.

  3. Under avsnittet Systeminställningar sök efter den åtgärd du vill konfigurera och välj sedan någon av följande. Appar som inte konfigureras individuellt i avsnittet Programinställningar använder de inställningar som konfigureras här:

    • På som standard – Begränsningen är aktiverad för appar som inte har den här begränsningen angiven i det appspecifika avsnittet Programinställningar
    • Av som standard – Begränsningen är inaktiverad för appar som inte har den här begränsningen angiven i det appspecifika avsnittet Programinställningar
    • Använd standard – Åtgärden är antingen aktiverad eller inaktiverad, beroende på vilken standardkonfiguration som konfigureras av Windows 10 eller Windows 11-installation; standardvärdet ( eller Av) anges alltid bredvid Använd standard för varje åtgärd

    Obs!

    Du kan se ett User Account Control-fönster när du ändrar vissa inställningar. Ange administratörsautentiseringsuppgifter för att tillämpa inställningen.

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

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

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

    1. Om appen du vill konfigurera redan finns med i listan markerar du den och väljer sedan Redigera
    2. Om appen inte finns med i listan väljer du Lägg till program att anpassa överst i listan och väljer sedan hur du vill lägga till appen:
      • Använd Lägg till efter programnamn om du vill att åtgärden ska tillämpas på alla processer som körs 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 endast appen med det namnet på den platsen.
      • Använd Välj exakt filsökväg om du vill använda ett standardfönster för utforskaren för att söka efter och välja den fil du vill använda.
  6. När du har valt appen visas en lista över alla åtgärder som kan tillämpas. Om du vill aktivera åtgärden markerar du kryssrutan och ändrar skjutreglaget till On. Välj eventuella ytterligare alternativ. Om du väljer Granska tillämpas begränsningen endast i granskningsläge. Du meddelas om du behöver starta om processen eller appen eller om du behöver starta om Windows.

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

Du kan nu exportera dessa inställningar som en XML-fil eller fortsätta att konfigurera appspecifika å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 appen Windows Säkerhet för att konfigurera sårbarhetsskydd, eller så kan du använda PowerShell-cmdletar.

Konfigurationsinställningarna som senast ändrades tillämpas alltid – oavsett om du använder PowerShell eller Windows Säkerhet. Det innebär att om du använder appen för att konfigurera en åtgärd och sedan använder PowerShell för att konfigurera samma åtgärd, uppdateras appen för att visa de ändringar du gjort med PowerShell. Om du sedan skulle använda appen för att ändra åtgärden igen skulle den ändringen gälla.

Viktigt

Ändringar som distribueras till en enhet via grupprincip åsidosätter den lokala konfigurationen. När du konfigurerar en första konfiguration använder du en enhet som inte har någon grupprincipskonfiguration för att säkerställa att ändringarna inte åsidosättas.

Du kan använda PowerShell-verbet Get eller Set med cmdleten ProcessMitigation. Om du använder Get visas den aktuella konfigurationsstatusen för alla åtgärder som har aktiverats på enheten – lägg till -Name -cmdleten och app-exe för att se åtgärder för just den appen:

Get-ProcessMitigation -Name processName.exe

Viktigt

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

För inställningar på systemnivå anger NOTSET standardinställningen för den begränsningen har tillämpats.

För inställningar på appnivå anger NOTSET att inställningen på systemnivå för åtgärden kommer att tillämpas.

Standardinställningen för varje åtgärd på systemnivå visas i Windows-säkerhet.

Använd Set för att konfigurera varje åtgärd i följande format:

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

Var:

  • <Omfång>:
    • -Name för att ange att åtgärder ska tillämpas på en specifik app. Ange appens körbara fil efter den här flaggan.
    • -System för att ange att riskreduceringen ska tillämpas på systemnivå
  • <Åtgärd>:
    • -Enable för att aktivera åtgärden
    • -Disable för att inaktivera åtgärden
  • <Åtgärd:>
    • Åtgärdens cmdlet enligt definitionen i tabellen åtgärds-cmdlets nedan, tillsammans med eventuella underalternativ (omgivna av blanksteg). Varje åtgärd avgränsas med kommatecken.

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

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

Viktigt

Avgränsa varje åtgärdsalternativ med kommatecken.

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

Set-Processmitigation -System -Enable DEP

Om du vill inaktivera åtgärder kan du ersätta -Enable med -Disable. För åtgärder på appnivå tvingas åtgärden att endast inaktiveras för den appen.

Om du behöver återställa begränsningen till systemets standardvärde måste du även ta med cmdleten -Remove, som i följande exempel:

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

Du kan också ställa in vissa åtgärder på granskningsläge. Använd cmdleten Granskningsläge som anges i tabellen åtgärds-cmdlets nedan i stället för att använda PowerShell-cmdleten för att åtgärden.

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

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

Du kan inaktivera granskningsläget med samma kommando men ersätta -Enable med -Disable.

PowerShell-referenstabell

I den här tabellen visas de PowerShell-cmdletar (och tillhörande cmdlet för granskningsläge) som kan användas för att konfigurera varje åtgärd.

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

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

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

[2]: Granskning för den här åtgärden är inte tillgänglig via PowerShell-cmdletar.

Anpassa aviseringen

Information om hur du anpassar meddelandet när en regel utlöses och en app eller fil blockeras finns i Windows Säkerhet.

Se även

Tips

Vill du veta mer? Engage med Microsofts säkerhetscommunity i vår Tech Community: Microsoft Defender för Endpoint Tech Community.