Del via


Tilpass Exploit Protection

Gjelder for:

Vil du oppleve Defender for endepunkt? Registrer deg for en gratis prøveperiode.

Exploit Protection bruker automatisk en rekke teknikker for utnyttelsesreduksjon, både på operativsystemprosessene og på individuelle apper.

Konfigurer disse innstillingene ved hjelp av Windows Security-appen på en individuell enhet. Eksporter deretter konfigurasjonen som en XML-fil, slik at du kan distribuere til andre enheter. Bruk gruppepolicy til å distribuere XML-filen til flere enheter samtidig. Du kan også konfigurere begrensningene med PowerShell.

Denne artikkelen viser hver av begrensningene som er tilgjengelige i Exploit Protection. Den angir om begrensningen kan brukes på hele systemet eller for individuelle apper, og gir en kort beskrivelse av hvordan begrensningen fungerer.

Den beskriver også hvordan du aktiverer eller konfigurerer begrensningene ved hjelp av konfigurasjonstjenesteleverandører (CSP-er) for Windows Security, PowerShell og administrasjon av mobilenheter (MDM). Dette er det første trinnet i å opprette en konfigurasjon som du kan distribuere på tvers av nettverket. Det neste trinnet omfatter generere, eksportere, importere og distribuere konfigurasjonen til flere enheter.

Advarsel

Noen sikkerhetsbegrensningsteknologier kan ha kompatibilitetsproblemer med enkelte programmer. Du bør teste Exploit Protection i alle målbruksscenarioer ved å bruke overvåkingsmodus før du distribuerer konfigurasjonen på tvers av et produksjonsmiljø eller resten av nettverket.

Utnytt beskyttelsesbegrensninger

Alle begrensninger kan konfigureres for individuelle apper. Noen begrensninger kan også brukes på operativsystemnivå.

Du kan angi hver av begrensningene på, av eller til standardverdien. Noen begrensninger har flere alternativer som er angitt i beskrivelsen i tabellen.

Standardverdier angis alltid i hakeparenteser i valget Bruk standardalternativet for hver begrensning. I eksemplet nedenfor er standarden for datakjøringsforhindring «På».

Bruk standard -konfigurasjonen for hver av begrensningsinnstillingene, angir vår anbefaling for et grunnleggende beskyttelsesnivå for daglig bruk for hjemmebrukere. Virksomhetsdistribusjoner bør vurdere beskyttelsen som kreves for deres individuelle behov, og må kanskje endre konfigurasjonen bort fra standardinnstillingene.

Hvis du vil se de tilknyttede PowerShell-cmdletene for hver begrensning, kan du se PowerShell-referansetabellen nederst i denne artikkelen.

Begrensning Beskrivelse Kan brukes på Overvåkingsmodus tilgjengelig
Control Flow Guard (CFG) Sikrer kontrollflytintegritet for indirekte anrop. Kan eventuelt undertrykke eksporter og bruke streng CFG. System- og appnivå Nei
Datakjøringsforhindring (DEP) Hindrer kjøring av kode fra minnesider som bare er for data, for eksempel heap og stakker. Bare konfigurerbar for 32-biters (x86) apper, permanent aktivert for alle andre arkitekturer. Kan eventuelt aktivere ATL-thunkemulering. System- og appnivå Nei
Tving randomisering for bilder (obligatorisk ASLR) Tvangsflytter bilder som ikke er kompilert med /DYNAMICBASE. Kan eventuelt mislykkes ved innlasting av bilder som ikke har informasjon om flytting. System- og appnivå Nei
Randomiser tildelinger av minne (nedenfra og opp-ASLR). Randomiser plasseringer for tildelinger av virtuelt minne. Det omfatter heaper, stakker, TEB-er og PEBer for systemstruktur. Kan eventuelt bruke en bredere tilfeldig varians for 64-biters prosesser. System- og appnivå Nei
Valider unntakskjeder (SEHOP) Sikrer integriteten til en unntakskjede under unntakssending. Kan bare konfigureres for 32-biters (x86) programmer. System- og appnivå Nei
Valider heap-integritet Avslutter en prosess når heap-skade oppdages. System- og appnivå Nei
Vilkårlig kodevern (ACG) Hindrer innføring av ikke-bildestøttet kjørbar kode og hindrer at tegntabeller endres. Kan eventuelt tillate å velge bort tråd og tillate ekstern nedgradering (bare konfigurerbar med PowerShell). Bare appnivå Ja
Blokker bilder med lav integritet Hindrer innlasting av bilder merket med lav integritet. Bare appnivå Ja
Blokker eksterne bilder Hindrer innlasting av bilder fra eksterne enheter. Bare appnivå Nei
Blokker uklarerte skrifttyper Hindrer innlasting av GDI-baserte skrifter som ikke er installert i systemskriftkatalogen, spesielt skrifter fra nettet. Bare appnivå Ja
Vern for kodeintegritet Begrenser innlasting av bilder signert av Microsoft, WHQL eller høyere. Kan eventuelt tillate Microsoft Store-signerte bilder. Bare appnivå Ja
Deaktiver utvidelsespunkter Deaktiverer ulike utvidelsesmekanismer som tillater DLL-innsetting i alle prosesser, for eksempel AppInit-DLL-filer, vindushooker og Winsock-tjenesteleverandører. Bare appnivå Nei
Deaktiver Win32k systemanrop Hindrer at en app bruker win32k-systemkalltabellen. Bare appnivå Ja
Ikke tillat underordnede prosesser Hindrer at en app oppretter underordnede prosesser. Bare appnivå Ja
Eksportadressefiltrering (EAF) Oppdager farlige operasjoner som løses av skadelig kode. Kan eventuelt validere tilgang av moduler som vanligvis brukes av utnyttelser. Bare appnivå Ja
Importadressefiltrering (IAF) Oppdager farlige operasjoner som løses av skadelig kode. Bare appnivå Ja
Simuler kjøring (SimExec) Sikrer at oppkall til sensitive API-er returnerer til legitime oppringere. Kan bare konfigureres for 32-biters (x86) programmer. Ikke kompatibel med ACG. Bare appnivå Ja
Valider API-aktivering (CallerCheck) Sikrer at sensitive API-er aktiveres av legitime oppringere. Kan bare konfigureres for 32-biters (x86) programmer. Ikke kompatibel med ACG Bare appnivå Ja
Valider referansebruk Fører til at det oppstår et unntak på eventuelle ugyldige referanser. Bare appnivå Nei
Valider integritet for avbildningsavhengighet Fremtvinger innlasting av kodesignering for Windows-avbildningsavhengighet. Bare appnivå Nei
Valider stabelintegritet (StackPivot) Sikrer at stakken ikke har blitt omdirigert for sensitive API-er. Ikke kompatibel med ACG. Bare appnivå Ja

Viktig

Hvis du legger til en app i delen Programinnstillinger og konfigurerer individuelle begrensningsinnstillinger der, vil de overholdes over konfigurasjonen for de samme begrensningene som er angitt i delen Systeminnstillinger. Følgende matrise og eksempler bidrar til å illustrere hvordan standarder fungerer:

Aktivert i Programinnstillinger Aktivert i Systeminnstillinger Virkemåte
Ja Nei Som definert i Programinnstillinger
Ja Ja Som definert i Programinnstillinger
Nei Ja Som definert i Systeminnstillinger
Nei Nei Standard som definert i alternativet Bruk standard
  • Eksempel 1 Mikael konfigurerer Datakjøringsforhindring (DEP) i delen Systeminnstillinger til å være deaktivert som standard. Mikael legger deretter til appen test.exe i delen Programinnstillinger. Under Datakjøringsforhindring (DEP), i alternativene for denne appen aktiverer han alternativet Overstyr systeminnstillinger og setter bryteren til . Det er ingen andre apper oppført i delen Programinnstillinger. Resultatet er at DEP bare aktiveres for test.exe. Alle andre apper vil ikke ha DEP brukt.

  • Eksempel 2 Josie konfigurerer Datakjøringsforhindring (DEP) i delen Systeminnstillinger til å være deaktivert som standard. Josie legger deretter til appen test.exe i delen Programinnstillinger. Under Datakjøringsforhindring (DEP), i alternativene for denne appen aktiverer hun alternativet Overstyr systeminnstillinger og setter bryteren til . Josie legger også til appen miles.exe i delen Programinnstillinger og konfigurerer Kontrollflytbeskyttelse (CFG) til . Hun aktiverer ikke alternativet Overstyr systeminnstillinger for DEP eller andre begrensninger for den appen. Resultatet blir at DEP aktiveres for test.exe. DEP aktiveres ikke for andre apper, inkludert miles.exe. CFG aktiveres for miles.exe.

Obs!

Hvis du har funnet problemer i denne artikkelen, kan du rapportere den direkte til en Windows Server/Windows Client-partner eller bruke microsofts tekniske støttenumre for landet/området ditt.

Konfigurer begrensninger på systemnivå med Windows Security-appen

  1. Åpne Windows Security-appen ved å velge skjoldikonet på oppgavelinjen eller søke i startmenyen etter Windows-sikkerhet.

  2. Velg flisen App- og nettleserkontroll (eller appikonet på den venstre menylinjen), og velg deretter Utnyttelsesbeskyttelse.

  3. Finn begrensningen du vil konfigurere under Systeminnstillinger, og angi deretter en av følgende. Apper som ikke er konfigurert individuelt i delen Programinnstillinger bruker innstillingene som er konfigurert her:

    • På som standard: Begrensningen er aktivert for apper som ikke har denne begrensningen angitt i den appspesifikke delen Programinnstillinger
    • Av som standard: Begrensningen er deaktivert for apper som ikke har denne begrensningen angitt i den appspesifikke delen Programinnstillinger
    • Bruk standard: Begrensningen er enten aktivert eller deaktivert, avhengig av standardkonfigurasjonen som er konfigurert av Windows 10 eller Windows 11-installasjonen. Standardverdien ( eller Av) angis alltid ved siden av Bruk standard -etiketten for hver begrensning.

    Obs!

    Det kan hende du ser et vindu for brukerkontokontroll når du endrer noen innstillinger. Angi administratorlegitimasjon for å bruke innstillingen.

    Hvis du endrer noen innstillinger, kan det hende at du må starte på nytt.

  4. Gjenta trinn 6 for alle begrensningene du vil konfigurere på systemnivå.

  5. Gå til delen Programinnstillinger og velg appen du vil bruke begrensninger på:

    1. Hvis appen du vil konfigurere allerede er oppført, velger du den og velger deretter Rediger
    2. Hvis appen ikke er oppført, velger du Legg til program for å tilpasse øverst i listen, og velg deretter hvordan du vil legge til appen:
      • Bruk Legg til etter programnavn for å få begrensningen brukt på alle kjørende prosesser med dette navnet. Du må angi en fil med en utvidelse. Du kan angi en fullstendig bane for å innskrenke begrensningen til bare appen med dette navnet på den plasseringen.
      • Bruk Velg nøyaktig filbane for å bruke et standard Windows Utforsker filvelgervindu for å finne og velge filen du vil bruke.
  6. Når du har valgt appen, ser du en liste over alle begrensningene som kan brukes. Hvis du vil aktivere begrensningen, merker du av i avmerkingsboksen og endrer glidebryteren til . Velg eventuelle andre alternativer. Hvis du velger Overvåking brukes begrensningen bare i overvåkingsmodus. Du blir varslet hvis du må starte prosessen eller appen på nytt, eller hvis du må starte Windows på nytt.

  7. Gjenta disse trinnene for alle appene og begrensningene du vil konfigurere. Velg Bruk når du er ferdig med å konfigurere konfigurasjonen.

Du kan nå eksportere disse innstillingene som en XML-fil, eller fortsette å konfigurere appspesifikke begrensninger.

Hvis du eksporterer konfigurasjonen som en XML-fil, kan du kopiere konfigurasjonen fra én enhet til andre enheter.

PowerShell-referanse

Du kan bruke Windows Security-appen til å konfigurere Exploit Protection, eller du kan bruke PowerShell-cmdleter.

Konfigurasjonsinnstillingene som sist ble endret, brukes alltid. Uavhengig av om du bruker PowerShell eller Windows Security. Dette betyr at hvis du bruker appen til å konfigurere en begrensning, og deretter bruker PowerShell til å konfigurere den samme begrensningen, oppdateres appen for å vise endringene du gjorde med PowerShell. Hvis du deretter skulle bruke appen til å endre begrensningen på nytt, vil denne endringen gjelde.

Viktig

Eventuelle endringer som distribueres til en enhet gjennom gruppepolicy, overstyrer den lokale konfigurasjonen. Når du konfigurerer en innledende konfigurasjon, bruker du en enhet som ikke har en gruppepolicy-konfigurasjon, for å sikre at endringene ikke overstyres.

Du kan bruke PowerShell-verbet Get eller Set med cmdlet ProcessMitigation. Ved hjelp av Get vises gjeldende konfigurasjonsstatus for eventuelle begrensninger som er aktivert på enheten. Legg til -Name cmdlet og app exe for å se begrensninger for bare den appen:

Get-ProcessMitigation -Name processName.exe

Viktig

Begrensninger på systemnivå som ikke er konfigurert, viser statusen NOTSET.

For innstillinger på systemnivå, angir NOTSET at standardinnstillingen for denne begrensningen blir brukt.

For innstillinger på appnivå, angir NOTSET at systemnivåinnstillingen for begrensningen blir brukt.

Standardinnstillingen for hver begrensning på systemnivå vises i Windows-sikkerhet.

Bruk Set til å konfigurere hver begrensning i følgende format:

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

Hvor:

  • <Omfang>:
    • -Name for å angi at begrensningene skal brukes på en bestemt app. Angi appens kjørbare fil etter dette flagget.
    • -System for å angi at begrensningen skal brukes på systemnivå
  • <Handling>:
    • -Enable for å aktivere begrensningen
    • -Disable for å deaktivere begrensningen
  • <Begrensning>:
    • Begrensningens cmdlet som definert i begrensnings-cmdleter-tabellen nedenfor, sammen med eventuelle underoperasjoner (omgitt av mellomrom). Hver begrensning er atskilt med komma.

Hvis du for eksempel vil aktivere thunk-emulering for Datakjøringsforhindring (DEP) med ATL og for en kjørbar fil kalt testing.exe i mappen C:\Apps\LOB\tests, og for å hindre at den kjørbare filen oppretter underordnede prosesser, ville du brukt følgende kommando:

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

Viktig

Skill hvert begrensningsalternativ med komma.

Hvis du vil bruke DEP på systemnivå, bruker du følgende kommando:

Set-Processmitigation -System -Enable DEP

Hvis du vil deaktivere begrensninger, kan du erstatte -Enable med -Disable. For begrensninger på appnivå, tvinger denne handlingen imidlertid begrensningen til å deaktiveres bare for denne appen.

Hvis du må gjenopprette begrensningen tilbake til systemstandarden, må du inkludere cmdleten -Remove også, som i følgende eksempel:

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

Du kan også angi noen begrensninger til overvåkingsmodus. I stedet for å bruke PowerShell-cmdleten for begrensningen, kan du bruke cmdleten Overvåkingsmodus som angitt i begrensnings-cmdleter-tabellen nedenfor.

Hvis du for eksempel vil aktivere Arbitrary Code Guard (ACG) i overvåkingsmodus for testing.exe brukt tidligere, bruker du følgende kommando:

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

Du kan deaktivere overvåkingsmodus ved å bruke samme kommando, men erstatte -Enable med -Disable.

PowerShell-referansetabell

Denne tabellen viser PowerShell-cmdleter (og tilknyttet cmdlet for overvåkingsmodus), som kan brukes til å konfigurere hver begrensning.

Begrensning Gjelder PowerShell-cmdleter Overvåkingsmodus-cmdlet
Control Flow Guard (CFG) System- og appnivå CFG, StrictCFG, SuppressExports Revisjon ikke tilgjengelig
Datakjøringsforhindring (DEP) System- og appnivå DEP, EmulerAtlThunks Revisjon ikke tilgjengelig
Tving randomisering for bilder (obligatorisk ASLR) System- og appnivå ForceRelocateImages Revisjon ikke tilgjengelig
Randomiser tildelinger av minne (nedenfra og opp-ASLR). System- og appnivå BottomUp, HighEntropy Revisjon ikke tilgjengelig
Valider unntakskjeder (SEHOP) System- og appnivå SEHOP, SEHOPTelemetry Revisjon ikke tilgjengelig
Valider heap-integritet System- og appnivå TerminateOnError Revisjon ikke tilgjengelig
Vilkårlig kodevern (ACG) Bare appnivå DynamicCode AuditDynamicCode
Blokker bilder med lav integritet Bare appnivå BlockLowLabel AuditImageLoad
Blokker eksterne bilder Bare appnivå BlockRemoteImages Revisjon ikke tilgjengelig
Blokker uklarerte skrifttyper Bare appnivå DisableNonSystemFonts AuditFont, FontAuditOnly
Vern for kodeintegritet Bare appnivå BlockNonMicrosoftSigned, AllowStoreSigned AuditMicrosoftSigned, AuditStoreSigned
Deaktiver utvidelsespunkter Bare appnivå ExtensionPoint Revisjon ikke tilgjengelig
Deaktiver Win32k systemanrop Bare appnivå DisableWin32kSystemCalls AuditSystemCall
Ikke tillat underordnede prosesser Bare appnivå DisallowChildProcessCreation AuditChildProcess
Eksportadressefiltrering (EAF) Bare appnivå EnableExportAddressFilterPlus, EnableExportAddressFilter [1] Overvåking er ikke tilgjengelig[2]
Importadressefiltrering (IAF) Bare appnivå EnableImportAddressFilter Overvåking er ikke tilgjengelig[2]
Simuler kjøring (SimExec) Bare appnivå EnableRopSimExec Overvåking er ikke tilgjengelig[2]
Valider API-aktivering (CallerCheck) Bare appnivå EnableRopCallerCheck Overvåking er ikke tilgjengelig[2]
Valider referansebruk Bare appnivå StrictHandle Revisjon ikke tilgjengelig
Valider integritet for avbildningsavhengighet Bare appnivå EnforceModuleDepencySigning Revisjon ikke tilgjengelig
Valider stabelintegritet (StackPivot) Bare appnivå EnableRopStackPivot Overvåking er ikke tilgjengelig[2]

[1]: Bruk følgende format til å aktivere EAF-moduler for DLL-er for en prosess:

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

[2]: Overvåking av denne begrensningen er ikke tilgjengelig via PowerShell-cmdleter.

Tilpass varselet

Hvis du vil ha mer informasjon om hvordan du tilpasser varselet når en regel utløses og en app eller fil blokkeres, kan du se Windows Security.

Se også

Tips

Vil du lære mer? Engage med Microsoft Security-fellesskapet i teknisk fellesskap: Microsoft Defender for endepunkt teknisk fellesskap.