Exploit-Schutz bewerten

In diesem Artikel wird erläutert, wie Sie den Überwachungsmodus verwenden, um Exploit-Schutzminderungen auszuwerten, Kompatibilitätsrichtlinien zu überprüfen, System- und Programmeinstellungen für Tests zu konfigurieren und Überwachungsereignisse zu interpretieren, bevor Sie Gegenmaßnahmen in der Produktion aktivieren.

Der Exploit-Schutz trägt zum Schutz von Geräten vor Schadsoftware bei, die Exploits verwendet, um Geräte zu infizieren und sich zu verbreiten. Die Risikominderung kann entweder auf das Betriebssystem oder auf eine einzelne App angewendet werden. Viele der Features, die Teil des Enhanced Mitigation Experience Toolkits (EMET) waren, sind im Exploit-Schutz enthalten. (EMET hat das Ende des Supports erreicht.)

Bei der Überwachung können Sie sehen, wie die Risikominderung für bestimmte Apps in einer Testumgebung funktioniert. Der Überwachungsmodus zeigt, was geschehen würde, wenn Sie den Exploit-Schutz in Ihrer Produktionsumgebung aktivieren. Mithilfe des Überwachungsmodus können Sie überprüfen, ob sich der Exploit-Schutz nicht negativ auf Ihre Branchen-Apps auswirkt, und sehen, welche verdächtigen oder böswilligen Ereignisse auftreten.

Allgemeine Richtlinien für die Auswertung des Exploit-Schutzes

Exploit-Schutzminderungen funktionieren auf einer niedrigen Ebene im Betriebssystem, und einige Arten von Software, die ähnliche Vorgänge auf niedriger Ebene ausführen, können Kompatibilitätsprobleme haben, wenn sie so konfiguriert sind, dass sie durch Exploit-Schutz geschützt werden.

Welche Arten von Software sollten nicht durch Exploit-Schutz geschützt werden?

  • Anti-Malware- und Angriffsschutz- oder Erkennungssoftware
  • Debugger
  • Software, die DRM-Technologien (Digital Rights Management) verarbeitet (d. a. Videospiele)
  • Software, die Antidebugging-, Obfuskations- oder Hookingtechnologien verwendet

Welche Art von Anwendungen sollten Sie in Betracht ziehen, Exploit-Schutz zu aktivieren?

Anwendungen, die nicht vertrauenswürdige Daten empfangen oder verarbeiten.

Welche Arten von Prozessen liegen außerhalb des Bereichs des Exploit-Schutzes?

Dienste

  • Systemdienste
  • Netzwerkdienste

Exploit-Schutzmaßnahmen standardmäßig aktiviert

In der folgenden Tabelle sind die Exploit-Schutz-Gegenmaßnahmen aufgeführt, die standardmäßig aktiviert sind:

Abhilfemaßnahme Standardmäßig aktiviert
Datenausführungsverhinderung (DEP, Data Execution Prevention) 64-Bit- und 32-Bit-Anwendungen
Ausnahmeketten überprüfen (SEHOP) 64-Bit-Anwendungen
Heap-Integrität überprüfen 64-Bit- und 32-Bit-Anwendungen

Veraltete „Programmeinstellungen“-Risikominderungen

Die folgenden Abhilfemaßnahmen für Programmeinstellungen sind veraltet. In der Tabelle wird erläutert, warum jede entfernt wurde:

Schutzmaßnahmen für „Programmeinstellungen“ Grund
Export-Adressfilterung (EAF) Probleme mit der Anwendungskompatibilität
Import-Adressfilterung (IAF) Probleme mit der Anwendungskompatibilität
Simulieren der Ausführung (SimExec) Ersetzt durch Arbitrary Code Guard (ACG)
Überprüfen des API-Aufrufs (CallerCheck) Ersetzt durch Arbitrary Code Guard (ACG)
Überprüfen der Stapelintegrität (StackPivot) Ersetzt durch Arbitrary Code Guard (ACG)

Bewährte Methoden für Office-Anwendungen

Verwenden Sie für Office-Apps wie Outlook, Word, Excel, PowerPoint und OneNote Regeln zur Verringerung der Angriffsfläche (Attack Surface Reduction, ASR) anstelle von Exploit-Schutz. ASR-Regeln bieten eine modernere Möglichkeit, um Missbrauch dieser Anwendungen zu verhindern:

Verwenden Sie für Adobe Reader die folgende ASR-Regel:

Adobe Reader am Erstellen von untergeordneten Prozessen hindern

Google Chrome empfiehlt nicht mehr, Exploit Protection (EMET) zu aktivieren, da er redundant ist oder durch integrierte Angriffsminderungen ersetzt wird.

Anwendungskompatibilitätsliste

In der folgenden Tabelle sind bestimmte Produkte aufgeführt, die Kompatibilitätsprobleme mit den Risikominderungen haben, die im Exploit-Schutz enthalten sind. Sie müssen bestimmte inkompatible Risikominderungen deaktivieren, wenn Sie das Produkt mithilfe von Exploit-Schutz schützen möchten. Beachten Sie, dass diese Liste die Standardeinstellungen für die neuesten Versionen des Produkts berücksichtigt. Kompatibilitätsprobleme können auftreten, wenn Sie bestimmte Add-Ins oder andere Komponenten auf die Standardsoftware anwenden.

Note

EMET-Gegenmaßnahmen sind möglicherweise nicht mit Oracle Java kompatibel, wenn sie mithilfe von Einstellungen ausgeführt werden, die einen großen Speicherabschnitt für den virtuellen Computer reservieren (d. h. mithilfe der Option -Xms).

Produkt Risikominderung des Exploit-Schutzes
.NET 2.0/3.5 EAF/IAF
7-Zip-Konsole/GUI/Datei-Manager EAF
AMD 62xx-Prozessoren EAF
Avecto (Beyond Trust) Power Broker EAF, EAF+, Stapel-Pivot
Bestimmte AMD-Videotreiber (ATI) System ASLR=AlwaysOn
Dropbox EAF
Excel Power Query, Power View, Power Map und PowerPivot EAF
Google Chrome (nicht mehr empfohlen) EAF+
Immidio Flex+ EAF
Microsoft Office Webkomponenten (OWC) System-DEP=AlwaysOn
Microsoft PowerPoint EAF
Microsoft Teams EAF+
Oracle Javaǂ Heapspray
Pitney Bowes Print Audit 6 SimExecFlow
Siebel CRM-Version ist 8.1.1.9 SEHOP
Skype EAF
SolarWinds Syslogd Manager EAF
Windows Media Player Verpflichtendes ASLR, EAF

ǂ EMET-Entschärfungen sind möglicherweise nicht mit Oracle Java kompatibel, wenn sie mithilfe von Einstellungen ausgeführt werden, die einen großen Speicherblock für den virtuellen Computer reservieren (d. h. mithilfe der Option -Xms).

Aktivieren von Exploit-Schutzsystemeinstellungen für Tests

Diese Systemeinstellungen für den Exploit-Schutz sind standardmäßig aktiviert, mit Ausnahme der obligatorischen Adressraumlayout-Randomisierung (ASLR) unter Windows 10 und höher, Windows Server 2019 und höher sowie unter Windows Server Version 1803 Core Edition und höher.

Systemeinstellungen Einstellung
Ablaufsteuerungsschutz (Control Flow Guard, CFG) Standard verwenden (Ein)
Datenausführungsverhinderung (DEP, Data Execution Prevention) Standard verwenden (Ein)
Randomisierung für Images erzwingen (Verpflichtendes ASRL) Standard verwenden (Aus)
Zufällige Speicherbelegungen (Bottom-up-ASRL) Standard verwenden (Ein)
ASRL mit hoher Entropie Standard verwenden (Ein)
Ausnahmeketten überprüfen (SEHOP) Standard verwenden (Ein)

Das folgende XML-Beispiel zeigt die Standardkonfiguration für die Systemminderung:

<?xml version="1.0" encoding="UTF-8"?>
<MitigationPolicy>
  <SystemConfig>
    <DEP Enable="true" EmulateAtlThunks="false" />
    <ASLR ForceRelocateImages="false" RequireInfo="false" BottomUp="true" HighEntropy="true" />
    <ControlFlowGuard Enable="true" SuppressExports="false" />
    <SEHOP Enable="true" TelemetryOnly="false" />
    <Heap TerminateOnError="true" />
  </SystemConfig>
</MitigationPolicy>

Aktivieren der Einstellungen des Exploit-Schutzprogramms für Tests

Tipp

Es wird dringend empfohlen, den modernen Ansatz zur Entschärfung von Sicherheitsrisiken zu überprüfen, bei dem ASR-Regeln verwendet werden.

Mithilfe der Windows-Sicherheit-App oder Windows PowerShell können Sie Risikominderungen in einem Testmodus für bestimmte Programme festlegen.

Windows-Sicherheit-App

Verwenden Sie die Windows-Sicherheit-App, um Exploit-Schutzminderungen im Testmodus für ein bestimmtes Programm zu konfigurieren:

  1. Öffnen Sie die Windows-Sicherheit-App. Klicken Sie entweder das Schildsymbol in der Taskleiste an oder suchen Sie im Startmenü nach Windows-Sicherheit.

  2. Wählen Sie die Kachel App- und Browsersteuerung (oder das App-Symbol auf der linken Menüleiste) und dann Exploit-Schutz aus.

  3. Wechseln Sie zu den Programmeinstellungen, und wählen Sie die App aus, auf die Sie Schutzfunktionen anwenden möchten:

    1. Wenn die App, die Sie konfigurieren möchten, bereits aufgeführt ist, wählen Sie sie aus, und wählen Sie dann Bearbeiten aus.

    2. Wenn die App nicht oben in der Liste aufgeführt ist, wählen Sie Programm zum Anpassen hinzufügen aus. Wählen Sie dann aus, wie die App hinzugefügt werden soll.

      • Verwenden Sie Per Programmnamen hinzufügen, um die Risikominderung auf alle laufenden Prozesse mit diesem Namen anzuwenden. Geben Sie eine Datei samt einer Erweiterung an. Sie können den vollständigen Pfad angeben, um die Abhilfemaßnahme nur auf die App mit diesem Namen an diesem Speicherort zu beschränken.
      • Wählen Sie Genauen Dateipfad auswählen, um über ein Standard-Windows-Explorer-Fenster die gewünschte Datei zu suchen und auszuwählen.
  4. Nach dem Auswählen der App wird eine Liste aller Risikominderungsfunktionen angezeigt, die angewendet werden können. Wenn Sie Audit auswählen, wird die Abhilfemaßnahme nur im Testmodus angewendet. Sie werden benachrichtigt, wenn Sie den Prozess, die App oder Windows neu starten müssen.

  5. Wiederholen Sie den Vorgang für alle Apps und Risikominderungsfunktionen, die Sie konfigurieren möchten. Klicken Sie auf Übernehmen, wenn Sie mit der Einrichtung Ihrer Konfiguration fertig sind.

PowerShell

Um Abhilfemaßnahmen auf App-Ebene auf den Testmodus festzulegen, verwenden Sie Set-ProcessMitigation mit dem Cmdlet Audit mode.

Verwenden Sie die folgende Set-ProcessMitigation-Syntax, um Abhilfemaßnahmen für eine bestimmte App zu aktivieren oder zu überprüfen. Ersetzen Sie die Platzhalter mit dem Bereich, die ausführbare Datei, die Aktion und die Abhilfe-Cmdlets:

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

Dabei gilt:

  • <Bereich>:
    • -Name, um anzugeben, dass die Risikominderungen auf eine bestimmte App angewendet werden sollen. Geben Sie die ausführbare Datei der App nach diesem Flag an.
  • <Aktion>:
    • -Enable, um die Abhilfe zu aktivieren
      • -Disable zum Deaktivieren der Abhilfemaßnahme
  • <Risikominderung>:
    • Das Abhilfe-Cmdlet gemäß folgender Tabelle Die einzelnen Risikominderungen sind durch ein Komma getrennt.
Abhilfemaßnahme Cmdlet für den Testmodus
Beliebiger Code Guard (ACG) AuditDynamicCode
Bilder mit niedriger Integrität blockieren AuditImageLoad
Nicht vertrauenswürdige Schriftarten blockieren AuditFont, FontAuditOnly
Codeintegritätsschutz AuditMicrosoftSigned, AuditStoreSigned
Win32k-Systemaufrufe deaktivieren AuditSystemCall
Untergeordnete Prozesse nicht zulassen AuditChildProcess

Mit dem folgenden Befehl wird beispielsweise "Arbitrary Code Guard(ACG)" im Überwachungsmodus für eine App mit dem Namen testing.exeaktiviert, sodass Sie die Auswirkungen dynamischer Codeeinschränkungen testen können, bevor Sie sie erzwingen:

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

Sie können den Überwachungsmodus deaktivieren, indem Sie -Enable durch -Disable ersetzen.

Überprüfen von Exploit-Schutzüberwachungsereignissen

Um zu überprüfen, welche Apps blockiert würden, öffnen Sie Ereignisanzeige, und filtern Sie nach den folgenden Ereignissen im Security-Mitigations Protokoll.

Funktion Anbieter/Quelle Ereignis-ID Beschreibung
Exploit-Schutz Sicherheitsmaßnahmen (Kernelmodus/Benutzermodus) 1 ACG-Überwachung
Exploit-Schutz Sicherheitsmaßnahmen (Kernelmodus/Benutzermodus) 3 Untergeordnete Prozesse nicht zulassen (Überwachung)
Exploit-Schutz Sicherheitsmaßnahmen (Kernelmodus/Benutzermodus) 5 Images mit niedriger Integrität blockieren (Überwachung)
Exploit-Schutz Sicherheitsmaßnahmen (Kernelmodus/Benutzermodus) 7 Remote-Images blockieren (Überwachung)
Exploit-Schutz Sicherheitsmaßnahmen (Kernelmodus/Benutzermodus) 9 Win32k-Systemaufrufe deaktivieren (Überwachung)
Exploit-Schutz Sicherheitsmaßnahmen (Kernelmodus/Benutzermodus) 11 Codeintegrität (Überwachung)