Share via


Bescherming tegen misbruik aanpassen

Van toepassing op:

Wilt u Defender voor Eindpunt ervaren? Meld u aan voor een gratis proefversie.

Misbruikbeveiliging past automatisch een aantal technieken voor het beperken van het risico op aanvallen toe op zowel de besturingssysteemprocessen als op afzonderlijke apps.

Configureer deze instellingen met behulp van de app voor Windows-beveiliging op een afzonderlijk apparaat. Exporteer vervolgens de configuratie als een XML-bestand, zodat u deze op andere apparaten kunt implementeren. Gebruik Groepsbeleid om het XML-bestand naar meerdere apparaten tegelijk te distribueren. U kunt de risicobeperkingen ook configureren met PowerShell.

In dit artikel vindt u een overzicht van alle risicobeperkingen die beschikbaar zijn in Exploit Protection. Het geeft aan of de risicobeperking kan worden toegepast op het hele systeem of op afzonderlijke apps en geeft een korte beschrijving van de werking van de beperking.

Ook wordt beschreven hoe u de risicobeperking inschakelt of configureert met behulp van Windows-beveiliging, PowerShell en MDM-configuratieserviceproviders (MDM). Dit is de eerste stap bij het maken van een configuratie die u in uw netwerk kunt implementeren. De volgende stap omvat het genereren, exporteren, importeren en implementeren van de configuratie op meerdere apparaten.

Waarschuwing

Sommige technologieën voor misbruikbeveiliging kunnen compatibiliteitsproblemen hebben met sommige toepassingen. Test misbruikbeveiliging in alle scenario's voor doelgebruik met behulp van controlemodus, voordat u de configuratie implementeert in een productieomgeving of de rest van uw netwerk.

Exploit Protection-beperkingen

Alle risicobeperkingen kunnen worden geconfigureerd voor afzonderlijke apps. Sommige risicobeperkingen kunnen ook worden toegepast op het niveau van het besturingssysteem.

U kunt elk van de risicobeperkingen in- of uitschakelen of op de standaardwaarde instellen. Sommige risicobeperkingen hebben aanvullende opties die in de beschrijving in de tabel staan.

Standaardwaarden staan altijd tussen haakjes bij de optie Standaard gebruiken voor elke risicobeperking. In het volgende voorbeeld is de standaardinstelling voor preventie van gegevensuitvoering 'Aan'.

De configuratie Standaardwaarde gebruiken voor elk van de beperkingsinstellingen geeft onze aanbeveling aan voor een basisniveau voor beveiliging voor dagelijks gebruik voor thuisgebruikers. Bij bedrijfsimplementaties moet men rekening houden met de bescherming die nodig is voor individuele behoeften en mogelijk moet men de configuratie wijzigen buiten de standaardinstellingen.

Zie de PowerShell-referentietabel onder aan dit artikel voor de bijbehorende PowerShell-cmdlets voor elke risicobeperking.

Risicobeperking Beschrijving Kan worden toegepast op Controlemodus beschikbaar
Controlestroombeveiliging (CFG) Hiermee wordt de integriteit van de controlestroom voor indirecte oproepen gegarandeerd. Kan optioneel exports onderdrukken en strikte CFG gebruiken. Systeem- en app-niveau Nee
Preventie van gegevensuitvoering (DEP) Hiermee voorkomt u dat code wordt uitgevoerd vanaf geheugenpagina's met alleen gegevens, zoals de heap en stacks. Kan alleen worden geconfigureerd voor 32-bits (x86)-apps, permanent ingeschakeld voor alle andere architecturen. Kan optioneel ATL-thunk-emulatie inschakelen. Systeem- en app-niveau Nee
Randomisering voor afbeeldingen forceren (verplichte ASLR) Verplaatst geforceerd afbeeldingen die niet zijn gecompileerd met /DYNAMICBASE. Het laden van afbeeldingen die geen herlocatiegegevens bevatten, kan optioneel mislukken. Systeem- en app-niveau Nee
Geheugentoewijzingen willekeurig toekennen (bottom-up ASLR). Kent locaties voor toewijzingen van virtuele geheugen willekeurig toe. Het bevat systeemstructuur-heaps, -stacks, -TEB's en -PEB's. Kan eventueel een bredere afwijking van randomisatie gebruiken voor 64-bits processen. Systeem- en app-niveau Nee
Uitzonderingsketens valideren (SEHOP) Zorgt voor de integriteit van een uitzonderingsketen tijdens het verzenden van uitzonderingen. Kan alleen worden geconfigureerd voor 32-bits (x86)-toepassingen. Systeem- en app-niveau Nee
Integriteit van heap valideren Hiermee wordt een proces beëindigd wanneer heapbeschadiging wordt gedetecteerd. Systeem- en app-niveau Nee
Beveiliging van arbitraire code (ACG) Hiermee voorkomt u de introductie van uitvoerbare code zonder afbeelding en voorkomt u dat codepagina's worden gewijzigd. Kan optioneel opt-out van thread toestaan en externe downgrade toestaan (alleen configureerbaar met PowerShell). Alleen app-niveau Ja
Afbeeldingen met lage integriteit blokkeren Hiermee voorkomt u het laden van afbeeldingen die met lage integriteit zijn gemarkeerd. Alleen app-niveau Ja
Externe afbeeldingen blokkeren Hiermee wordt voorkomen dat afbeeldingen van externe apparaten worden geladen. Alleen app-niveau Nee
Niet-vertrouwde lettertypen blokkeren Hiermee voorkomt u dat GDI-lettertypen worden geladen die niet zijn geïnstalleerd in de map met systeemlettertypen, met name lettertypen van het web. Alleen app-niveau Ja
Beveiliging van code-integriteit Hiermee beperkt u het laden van afbeeldingen die zijn ondertekend door Microsoft, WHQL of hoger. Kan optioneel door Microsoft Store ondertekende afbeeldingen toestaan. Alleen app-niveau Ja
Uitbreidingspunten uitschakelen Hiermee schakelt u verschillende uitbreidbaarheidsmechanismen uit waarmee DLL-injectie in alle processen mogelijk is, zoals AppInit DLL's, vensterhooks en Winsock-serviceproviders. Alleen app-niveau Nee
Systeemoproepen van Win32k uitschakelen Hiermee voorkomt u dat een app de Win32k-systeemoproeptabel gebruikt. Alleen app-niveau Ja
Onderliggende processen niet toestaan Hiermee voorkomt u dat een app onderliggende processen maakt. Alleen app-niveau Ja
Export address filtering (EAF) Detecteert gevaarlijke bewerkingen die worden opgelost door schadelijke code. Kan optioneel de toegang valideren door modules die vaak door aanvallen worden gebruikt. Alleen app-niveau Ja
Filteren op adressen importeren (IAF) Detecteert gevaarlijke bewerkingen die worden opgelost door schadelijke code. Alleen app-niveau Ja
Uitvoering simuleren (SimExec) Zorgt ervoor dat oproepen naar gevoelige API's teruggaan naar legitieme bellers. Kan alleen worden geconfigureerd voor 32-bits (x86)-toepassingen. Niet compatibel met ACG. Alleen app-niveau Ja
API-aanroep valideren (CallerCheck) Zorgt ervoor dat gevoelige API's worden aangeroepen door legitieme bellers. Kan alleen worden geconfigureerd voor 32-bits (x86)-toepassingen. Niet compatibel met ACG Alleen app-niveau Ja
Ingangsgebruik valideren Zorgt ervoor dat er een uitzondering wordt gegenereerd voor ongeldige ingangsverwijzingen. Alleen app-niveau Nee
Integriteit van afhankelijkheid van afbeelding valideren Hiermee wordt ondertekening van code afgedwongen voor het laden van Windows-installatiekopieën. Alleen app-niveau Nee
Integriteit van stack valideren (StackPivot) Zorgt ervoor dat de stack niet is omgeleid voor gevoelige API's. Niet compatibel met ACG. Alleen app-niveau Ja

Belangrijk

Als u een app toevoegt aan de sectie Programma-instellingen en daar afzonderlijke risicobeperkingsinstellingen configureert, worden deze boven de configuratie toegepast voor dezelfde risicobeperkingen die zijn opgegeven in de sectie Systeeminstellingen. De volgende matrix en voorbeelden laten zien hoe standaardinstellingen werken:

Ingeschakeld in Programma-instellingen Ingeschakeld in Systeeminstellingen Gedrag
Ja Nee Zoals gedefinieerd in Programma-instellingen
Ja Ja Zoals gedefinieerd in Programma-instellingen
Nee Ja Zoals gedefinieerd in Systeeminstellingen
Nee Nee Standaard zoals gedefinieerd in de optie Standaard gebruiken
  • Voorbeeld 1 Mikael stelt Preventie van gegevensuitvoering (DEP) in de sectie Systeeminstellingen in op Standaard uitgeschakeld. Mikael voegt vervolgens de app test.exe toe aan de sectie Programma-instellingen. In de opties voor die app schakelt hij onder Preventie van gegevensuitvoering (DEP) de optie Systeeminstellingen overschrijven in en stelt de schakeloptie in op Aan. Er worden geen andere apps vermeld in de sectie Programma-instellingen. Het resultaat is dat DEP alleen wordt ingeschakeld voor test.exe. Op alle andere apps wordt DEP niet toegepast.

  • Voorbeeld 2 Josie stelt Preventie van gegevensuitvoering (DEP) in de sectie Systeeminstellingen in op Standaard uitgeschakeld. Josie voegt vervolgens de app test.exetoe aan de sectie Programma-instellingen. In de opties voor die app schakelt zij onder Preventie van gegevensuitvoering (DEP) de optie Systeeminstellingen overschrijven in en stelt de schakeloptie in op Aan. Josie voegt ook de app miles.exe toe aan de sectie Programma-instellingen en configureert Control Flow Guard (CFG) op Aan. Ze schakelt de optie Systeeminstellingen negeren voor DEP of andere oplossingen voor die app niet in. Het resultaat is dat DEP wordt ingeschakeld voor test.exe. DEP wordt niet ingeschakeld voor andere apps, inclusief miles.exe. CFG wordt ingeschakeld voor miles.exe.

Opmerking

Als u problemen in dit artikel hebt gevonden, kunt u deze rechtstreeks melden aan een Windows Server-/Windows-clientpartner of de technische ondersteuningsnummers van Microsoft voor uw land/regio gebruiken.

Configureer risicobeperkingen op systeemniveau met de app voor Windows-beveiliging

  1. Open de Windows-beveiliging-app door het schildpictogram in de taakbalk te selecteren of door in het startmenu naar Windows-beveiliging te zoeken.

  2. Selecteer de tegel App- en browserbeheer (of het app-pictogram op de linkermenubalk) en selecteer vervolgens Exploit Protection.

  3. Zoek in de sectie Systeeminstellingen de risicobeperking die u wilt configureren en selecteer een van de volgende. Apps die niet afzonderlijk zijn geconfigureerd in de sectie Programma-instellingen, gebruiken de instellingen die hier zijn geconfigureerd:

    • Standaard ingeschakeld - de risicobeperking is ingeschakeld voor apps waarvoor deze risicobeperking niet is ingesteld in de sectie app-specifieke Programma-instellingen
    • Standaard uitgeschakeld - de risicobeperking is ingeschakeld voor apps waarvoor deze risicobeperking niet is ingesteld in de sectie app-specifieke Programma-instellingen
    • Standaard gebruiken - de risicobeperking is in- of uitgeschakeld, afhankelijk van de standaardconfiguratie die is ingesteld door de Windows 10- of Windows 11-installatie; de standaardwaarde (Aan of Uit) wordt altijd opgegeven naast het standaardlabel Standaard gebruiken voor elke risicobeperking

    Opmerking

    Mogelijk ziet u een venster Gebruikersaccountbeheer wanneer u bepaalde instellingen wijzigt. Voer beheerdersreferenties in om de instelling toe te passen.

    Als u sommige instellingen wijzigt, moet u mogelijk opnieuw opstarten.

  4. Herhaal dit voor alle risicobeperkingen op systeemniveau die u wilt configureren.

  5. Ga naar de sectie Programma-instellingen en kies de app waarvoor u oplossingen wilt toepassen:

    1. Als de app die u wilt configureren al wordt weergegeven, selecteert u deze en selecteert u Bewerken.
    2. Als de app niet wordt weergegeven, selecteert u bovenaan de lijst Programma toevoegen om aan te passen en kiest u vervolgens hoe u de app wilt toevoegen:
      • Gebruik Toevoegen op programmanaam om de beperking toe te passen op elk actief proces met die naam. U moet een bestand met een extensie opgeven. U kunt een volledig pad invoeren om de beperking te beperken tot alleen de app met die naam op die locatie.
      • Gebruik Exact bestandspad kiezen om een standaard Windows Verkenner-venster voor bestandskiezer te gebruiken om het gewenste bestand te zoeken en te selecteren.
  6. Nadat u de app hebt geselecteerd, ziet u een lijst met alle oplossingen die kunnen worden toegepast. Als u de risicobeperking wilt inschakelen, schakelt u het selectievakje in en zet u de schuifregelaar op Aan. Selecteer eventueel nog andere opties. Als u Controle kiest, wordt de beperking alleen toegepast in de controlemodus. U ontvangt een melding als u het proces of de app opnieuw moet starten of als u Windows opnieuw moet starten.

  7. Herhaal deze stappen voor alle apps en oplossingen die u wilt configureren. Selecteer Toepassen wanneer u klaar bent met het instellen van uw configuratie.

U kunt deze instellingen nu exporteren als een XML-bestand of doorgaan met het configureren van app-specifieke risicobeperkingen.

Als u de configuratie exporteert als een XML-bestand, kunt u de configuratie van het ene apparaat naar andere apparaten kopiëren.

PowerShell-verwijzing

U kunt de app voor Windows-beveiliging gebruiken om Exploit Protection te configureren of u kunt PowerShell-cmdlets gebruiken.

De configuratie-instellingen die het laatst zijn gewijzigd, worden altijd toegepast, ongeacht of u PowerShell of Windows Security gebruikt. Dit betekent dat als u de app gebruikt om een risicobeperking te configureren en vervolgens PowerShell gebruikt om dezelfde risicobeperking te configureren, de app wordt bijgewerkt om de wijzigingen weer te geven die u met PowerShell hebt aangebracht. Als u vervolgens de app zou gebruiken om de risicobeperking opnieuw te wijzigen, zou die wijziging van toepassing zijn.

Belangrijk

Wijzigingen die via Groepsbeleid op een apparaat worden geïmplementeerd, overschrijven de lokale configuratie. Gebruik bij het instellen van een initiële configuratie een apparaat waarop geen groepsbeleidconfiguratie is toegepast om ervoor te zorgen dat uw wijzigingen niet worden overschreven.

U kunt de PowerShell-woorden Get of Set gebruiken met de cmdlet ProcessMitigation. Als u Get gebruikt, wordt de huidige configuratiestatus weergegeven van alle oplossingen die zijn ingeschakeld op het apparaat. Voeg de cmdlet -Name en app-exe toe om risicobeperkingen voor alleen die app weer te geven:

Get-ProcessMitigation -Name processName.exe

Belangrijk

Bij oplossingen op systeemniveau die niet zijn geconfigureerd, wordt de status van NOTSET weergegeven.

Voor instellingen op systeemniveau geeft NOTSET aan dat de standaardinstelling voor die beperking is toegepast.

Voor instellingen op app-niveau geeft NOTSET aan dat de instelling op systeemniveau voor de beperking wordt toegepast.

De standaardinstelling voor elke beperking op systeemniveau is te zien in de Windows-beveiliging.

Gebruik Set om elke beperking in de volgende indeling te configureren:

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

Waarbij:

  • <Bereik>:
    • -Name om aan te geven dat de risicobeperkingen moeten worden toegepast op een specifieke app. Geef het uitvoerbare bestand van de app op na deze vlag.
    • -System om aan te geven dat de beperking moet worden toegepast op systeemniveau
  • <Actie>:
    • -Enable om de risicobeperking in te schakelen
    • -Disable om de beperking uit te schakelen
  • <Beperking>:
    • De cmdlet van de risicobeperking, zoals gedefinieerd in de tabel met risicobeperkings-cmdlets hieronder, samen met eventuele suboptions (omgeven door spaties). Elke beperking wordt gescheiden door een komma.

Als u bijvoorbeeld de DEP-beperking (Preventie van gegevensuitvoering) wilt inschakelen met ATL-thunk-emulatie en voor een uitvoerbaar bestand met de naam testing.exe in de map C:\Apps\LOB\tests, en om te voorkomen dat uitvoerbare bestand onderliggende processen maakt, gebruikt u de volgende opdracht:

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

Belangrijk

Scheid elke risicobeperkingsoptie met komma's.

Als u DEP op systeemniveau wilt toepassen, gebruikt u de volgende opdracht:

Set-Processmitigation -System -Enable DEP

Als u oplossingen wilt uitschakelen, kunt u -Enable vervangen door -Disable. Voor oplossingen op app-niveau zorgt dit er echter voor dat de risicobeperking alleen voor die app wordt uitgeschakeld.

Als u de beperking wilt herstellen naar de standaardinstelling van het systeem, moet u ook de cmdlet -Remove opnemen, zoals in het volgende voorbeeld:

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

U kunt ook risicobeperkingen instellen voor de controlemodus. In plaats van de PowerShell-cmdlet te gebruiken voor de risicobeperking, gebruikt u de cmdlet Controlemodus zoals opgegeven in de onderstaande tabel met risicobeperkings-cmdlets.

Als u bijvoorbeeld Randomy Code Guard (ACG) wilt inschakelen in de controlemodus voor de testing.exe die eerder is gebruikt, gebruikt u de volgende opdracht:

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

U kunt de controlemodus uitschakelen met dezelfde opdracht, maar door -Enable te vervangen door -Disable.

PowerShell-referentietabel

Deze tabel bevat de PowerShell-cmdlets (en de bijbehorende controlemodus-cmdlet) die kunnen worden gebruikt om elke risicobeperking te configureren.

Risicobeperking Van toepassing op PowerShell-cmdlets Cmdet controlemodus
Controlestroombeveiliging (CFG) Systeem- en app-niveau CFG, StrictCFG, SuppressExports Controle niet beschikbaar
Preventie van gegevensuitvoering (DEP) Systeem- en app-niveau DEP, EmulateAtlThunks Controle niet beschikbaar
Randomisering voor afbeeldingen forceren (verplichte ASLR) Systeem- en app-niveau ForceRelocateImages Controle niet beschikbaar
Geheugentoewijzingen willekeurig toekennen (bottom-up ASLR). Systeem- en app-niveau BottomUp, HighEntropy Controle niet beschikbaar
Uitzonderingsketens valideren (SEHOP) Systeem- en app-niveau SEHOP, SEHOPTelemetry Controle niet beschikbaar
Integriteit van heap valideren Systeem- en app-niveau TerminateOnError Controle niet beschikbaar
Beveiliging van arbitraire code (ACG) Alleen app-niveau DynamicCode AuditDynamicCode
Afbeeldingen met lage integriteit blokkeren Alleen app-niveau BlockLowLabel AuditImageLoad
Externe afbeeldingen blokkeren Alleen app-niveau BlockRemoteImages Controle niet beschikbaar
Niet-vertrouwde lettertypen blokkeren Alleen app-niveau DisableNonSystemFonts AuditFont, FontAuditOnly
Beveiliging van code-integriteit Alleen app-niveau BlockNonMicrosoftSigned, AllowStoreSigned AuditMicrosoftSigned, AuditStoreSigned
Uitbreidingspunten uitschakelen Alleen app-niveau ExtensionPoint Controle niet beschikbaar
Systeemoproepen van Win32k uitschakelen Alleen app-niveau DisableWin32kSystemCalls AuditSystemCall
Geen onderliggende processen toestaan Alleen app-niveau DisallowChildProcessCreation AuditChildProcess
Export address filtering (EAF) Alleen app-niveau EnableExportAddressFilterPlus, EnableExportAddressFilter [1] Controle niet beschikbaar[2]
Filteren op adressen importeren (IAF) Alleen app-niveau EnableImportAddressFilter Controle niet beschikbaar[2]
Uitvoering simuleren (SimExec) Alleen app-niveau EnableRopSimExec Controle niet beschikbaar[2]
API-aanroep valideren (CallerCheck) Alleen app-niveau EnableRopCallerCheck Controle niet beschikbaar[2]
Ingangsgebruik valideren Alleen app-niveau StrictHandle Controle niet beschikbaar
Integriteit van afhankelijkheid van afbeelding valideren Alleen app-niveau EnforceModuleDepencySigning Controle niet beschikbaar
Integriteit van stack valideren (StackPivot) Alleen app-niveau EnableRopStackPivot Controle niet beschikbaar[2]

[1]: Gebruik de volgende indeling om EAF-modules in te schakelen voor dll's voor een proces:

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

[2]: Controle voor deze beperking is niet beschikbaar via PowerShell-cmdlets.

Melding aanpassen

Zie Windows-beveiliging voor meer informatie over het aanpassen van de melding wanneer een regel wordt geactiveerd en een app of bestand blokkeert.

Zie ook

Tip

Wil je meer weten? Engage met de Microsoft Security-community in onze Tech Community: Microsoft Defender voor Eindpunt Tech Community.