Tilpass Exploit Protection
Gjelder for:
- Microsoft Defender for endepunkt plan 1
- Microsoft Defender for endepunkt plan 2
- Microsoft Defender XDR
Vil du oppleve Defender for endepunkt? Registrer deg for en gratis prøveperiode.
Utnyttelsesbeskyttelse bruker automatisk mange teknikker for utnyttelsesreduksjon på både 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). Denne konfigurasjonen 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 hindring av datakjøring 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 dermed måtte 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 unntaksutsendinger. 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 en 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 legitime innringere aktiverer sensitive API-er. 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 programinnstillingsdelen og konfigurerer individuelle begrensningsinnstillinger der, overholdes de 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 På. 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 På. Josie legger også til appen miles.exe i delen Programinnstillinger og konfigurerer Kontrollflytbeskyttelse (CFG) til På. 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 ditt land/område.
Konfigurer begrensninger på systemnivå med Windows Security-appen
Åpne Windows Security-appen ved å velge skjoldikonet på oppgavelinjen eller søke i startmenyen etter Windows-sikkerhet.
Velg flisen App- og nettleserkontroll (eller appikonet på den venstre menylinjen), og velg deretter Utnyttelsesbeskyttelse.
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 (På 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.
Gjenta trinn 6 for alle begrensningene du vil konfigurere på systemnivå.
Gå til delen Programinnstillinger og velg appen du vil bruke begrensninger på:
- Hvis appen du vil konfigurere allerede er oppført, velger du den og velger deretter Rediger
- 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.
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 På. 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.
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å
- Beskytt enheter mot utnyttelser
- Vurder utnyttelsesbeskyttelse
- Aktiver utnyttelsesbeskyttelse
- Importer, eksporter og distribuer konfigurasjoner av beskyttelsesbegrensninger
Tips
Vil du lære mer? Engage med Microsoft Security-fellesskapet i teknisk fellesskap: Microsoft Defender for endepunkt teknisk fellesskap.