Anwendungssteuerung – Grundlagen

Übersicht über WDAC-Ereignisse

WDAC protokolliert Ereignisse, wenn eine Richtlinie geladen wird, wenn eine Datei blockiert wird oder wenn eine Datei im Überwachungsmodus blockiert würde. Diese Blockereignisse enthalten Informationen, die die Richtlinie identifizieren und weitere Details zum Block enthalten. WDAC generiert keine Ereignisse, wenn eine Binärdatei zulässig ist. Sie können jedoch Überwachungsereignisse für Dateien zulassen aktivieren, die von einem verwalteten Installationsprogramm oder dem Intelligent Security Graph (ISG) autorisiert wurden, wie weiter unten in diesem Artikel beschrieben.

Core WDAC-Ereignisprotokolle

WDAC-Ereignisse werden an zwei Speicherorten im Windows-Ereignisanzeige generiert:

  • Anwendungs- und Dienstprotokolle – Microsoft – Windows – CodeIntegrity – Operational umfasst Ereignisse zur Aktivierung von Anwendungssteuerungsrichtlinien und zur Steuerung von ausführbaren Dateien, DLLs und Treibern.
  • Anwendungs- und Dienstprotokolle – Microsoft – Windows – AppLocker – MSI und Skript enthalten Ereignisse zur Steuerung von MSI-Installationsprogrammen, Skripts und COM-Objekten.

Die meisten App- und Skriptfehler, die auftreten, wenn WDAC aktiv ist, können mithilfe dieser beiden Ereignisprotokolle diagnostiziert werden. In diesem Artikel werden die Ereignisse, die in diesen Protokollen vorhanden sind, ausführlicher beschrieben. Informationen zur Bedeutung verschiedener Datenelemente oder Tags in den Details dieser Ereignisse finden Sie unter Grundlegendes zu Anwendungssteuerungs-Ereignistags.

Hinweis

Anwendungs- und Dienstprotokolle – Microsoft – Windows – AppLocker – MSI- und Script-Ereignisse sind in der Windows Server Core Edition nicht enthalten.

WDAC-Blockereignisse für ausführbare Dateien, DLLs und Treiber

Diese Ereignisse befinden sich im CodeIntegrity - Operational-Ereignisprotokoll .

Ereignis-ID Erläuterung
3004 Dieses Ereignis ist nicht üblich und kann mit oder ohne eine Anwendungssteuerungsrichtlinie auftreten. Dies deutet in der Regel darauf hin, dass ein Kerneltreiber versucht hat, mit einer ungültigen Signatur zu laden. Beispielsweise ist die Datei möglicherweise nicht WHQL-signiert auf einem System, auf dem WHQL erforderlich ist.

Dieses Ereignis wird auch für Kernel- oder Benutzermoduscode angezeigt, den der Entwickler für /INTEGRITYCHECK aktiviert hat, aber nicht ordnungsgemäß signiert ist.
3033 Dieses Ereignis kann mit oder ohne eine Anwendungssteuerungsrichtlinie auftreten und sollte zusammen mit einem 3077-Ereignis auftreten, wenn dies durch eine WDAC-Richtlinie verursacht wird. Dies bedeutet häufig, dass die Signatur der Datei widerrufen wird oder eine Signatur mit der EKU "Lifetime Signing" abgelaufen ist. Das Vorhandensein der Lebensdauersignatur-EKU ist der einzige Fall, in dem WDAC Dateien aufgrund einer abgelaufenen Signatur blockiert. Versuchen Sie, die Option 20 Enabled:Revoked Expired As Unsigned in Ihrer Richtlinie zusammen mit einer Regel (z. B. Hash) zu verwenden, die nicht auf dem gesperrten oder abgelaufenen Zertifikat basiert.

Dieses Ereignis tritt auch auf, wenn mit Code Integrity Guard (CIG) kompilierter Code versucht, anderen Code zu laden, der die CIG-Anforderungen nicht erfüllt.
3034 Dieses Ereignis ist nicht üblich. Dies ist das Überwachungsmodus-Äquivalent zu Ereignis 3033.
3076 Dieses Ereignis ist das Standard Anwendungssteuerungsblockereignis für Überwachungsmodusrichtlinien. Es gibt an, dass die Datei blockiert worden wäre, wenn die Richtlinie erzwungen wurde.
3077 Dieses Ereignis ist das Standard Anwendungssteuerungsblockereignis für erzwungene Richtlinien. Dies weist darauf hin, dass die Datei Ihre Richtlinie nicht bestanden hat und blockiert wurde.
3089 Dieses Ereignis enthält Signaturinformationen für Dateien, die von der Anwendungssteuerung blockiert oder überwacht wurden. Eines dieser Ereignisse wird für jede Signatur einer Datei erstellt. Jedes Ereignis zeigt die Gesamtzahl der gefundenen Signaturen und einen Indexwert zum Identifizieren der aktuellen Signatur an. Nicht signierte Dateien generieren ein einzelnes dieser Ereignisse mit TotalSignatureCount von 0. Diese Ereignisse korrelieren mit den Ereignissen 3004, 3033, 3034, 3076 und 3077. Sie können die Ereignisse mithilfe der Correlation ActivityID im Systemteil des Ereignisses gefundenen abgleichen.

WDAC-Blockereignisse für gepackte Apps, MSI-Installationsprogramme, Skripts und COM-Objekte

Diese Ereignisse befinden sich im Ereignisprotokoll AppLocker – MSI und Script .

Ereignis-ID Erläuterung
8028 Dieses Ereignis gibt an, dass ein Skripthost, z. B. PowerShell, die Anwendungssteuerung zu einer Datei abgefragt hat, die der Skripthost gerade ausführen möchte. Da sich die Richtlinie im Überwachungsmodus befand, sollte das Skript oder die MSI-Datei ausgeführt werden, hätte aber die WDAC-Richtlinie nicht übergeben, wenn sie erzwungen wurde. Einige Skripthosts enthalten möglicherweise zusätzliche Informationen in ihren Protokollen. Hinweis: Die meisten Skripthosts von Drittanbietern lassen sich nicht in die Anwendungssteuerung integrieren. Berücksichtigen Sie die Risiken von nicht überprüften Skripts, wenn Sie auswählen, welche Skripthosts Sie ausführen lassen.
8029 Dieses Ereignis entspricht dem Erzwingungsmodus des Ereignisses 8028. Hinweis: Während dieses Ereignis besagt, dass ein Skript blockiert wurde, steuern die Skripthosts das tatsächliche Verhalten der Skripterzwingung. Der Skripthost kann zulassen, dass die Datei mit Einschränkungen ausgeführt wird und die Datei nicht direkt blockiert wird. PowerShell führt beispielsweise Skripts aus, die von Ihrer WDAC-Richtlinie im eingeschränkten Sprachmodus nicht zulässig sind.
8036 DAS COM-Objekt wurde blockiert. Weitere Informationen zur COM-Objektautorisierung finden Sie unter Zulassen der COM-Objektregistrierung in einer Windows Defender Anwendungssteuerungsrichtlinie.
8037 Dieses Ereignis gibt an, dass ein Skripthost überprüft hat, ob ein Skript ausgeführt werden kann, und die Datei hat die WDAC-Richtlinie übergeben.
8038 Signaturinformationsereignis, das mit einem 8028- oder 8029-Ereignis korreliert ist. Für jede Signatur einer Skriptdatei wird ein 8038-Ereignis generiert. Enthält die Gesamtzahl der Signaturen in einer Skriptdatei und einen Index, um welche Signatur es sich handelt. Nicht signierte Skriptdateien generieren ein einzelnes 8038-Ereignis mit TotalSignatureCount 0. Diese Ereignisse werden mit 8028- und 8029-Ereignissen korreliert und können mithilfe der Correlation ActivityID im Teil System des Ereignisses gefunden werden.
8039 Dieses Ereignis gibt an, dass eine gepackte App (MSIX/AppX) installiert oder ausgeführt werden darf, da sich die WDAC-Richtlinie im Überwachungsmodus befindet. Sie wäre jedoch blockiert worden, wenn die Richtlinie erzwungen wurde.
8040 Dieses Ereignis gibt an, dass die Installation oder Ausführung einer gepackten App aufgrund der WDAC-Richtlinie verhindert wurde.

WDAC-Richtlinienaktivierungsereignisse

Diese Ereignisse befinden sich im CodeIntegrity - Operational-Ereignisprotokoll .

Ereignis-ID Erläuterung
3095 Die Anwendungssteuerungsrichtlinie kann nicht aktualisiert werden und muss stattdessen neu gestartet werden.
3096 Die Anwendungssteuerungsrichtlinie wurde nicht aktualisiert, da sie bereits auf dem neuesten Stand ist. Die Details dieses Ereignisses enthalten nützliche Informationen zur Richtlinie, z. B. ihre Richtlinienoptionen.
3097 Die Anwendungssteuerungsrichtlinie kann nicht aktualisiert werden.
3099 Gibt an, dass eine Richtlinie geladen wurde. Die Details dieses Ereignisses enthalten nützliche Informationen zur Anwendungssteuerungsrichtlinie, z. B. deren Richtlinienoptionen.
3100 Die Anwendungssteuerungsrichtlinie wurde aktualisiert, aber nicht erfolgreich aktiviert. Wiederholen.
3101 Die Aktualisierung der Anwendungssteuerungsrichtlinie wurde für N-Richtlinien gestartet.
3102 Die Aktualisierung der Anwendungssteuerungsrichtlinie für N-Richtlinien wurde abgeschlossen.
3103 Das System ignoriert die Aktualisierung der Anwendungssteuerungsrichtlinie. Beispielsweise eine Windows-Posteingangsrichtlinie, die die Bedingungen für die Aktivierung nicht erfüllt.
3105 Das System versucht, die Anwendungssteuerungsrichtlinie mit der angegebenen ID zu aktualisieren.

Diagnoseereignisse für Intelligent Security Graph (ISG) und Managed Installer (MI)

Hinweis

Wenn Managed Installer aktiviert ist, sollten Kunden, die LogAnalytics verwenden, beachten, dass managed Installer viele 3091-Ereignisse auslösen kann. Kunden müssen diese Ereignisse möglicherweise herausfiltern, um hohe LogAnalytics-Kosten zu vermeiden.

Die folgenden Ereignisse bieten hilfreiche Diagnoseinformationen, wenn eine WDAC-Richtlinie die ISG- oder MI-Option enthält. Diese Ereignisse können Ihnen beim Debuggen helfen, warum etwas basierend auf dem verwalteten Installationsprogramm oder der ISG zugelassen/verweigert wurde. Die Ereignisse 3090, 3091 und 3092 deuten nicht unbedingt auf ein Problem hin, sollten aber im Kontext mit anderen Ereignissen wie 3076 oder 3077 überprüft werden.

Sofern nicht anders angegeben, werden diese Ereignisse je nach Version von Windows entweder im Ereignisprotokoll CodeIntegrity – Operational oder im Ereignisprotokoll CodeIntegrity – Ausführlich gefunden.

Ereignis-ID Erläuterung
3090 Optional Dieses Ereignis gibt an, dass eine Datei nur basierend auf ISG oder verwaltetem Installationsprogramm ausgeführt werden darf.
3091 Dieses Ereignis gibt an, dass eine Datei keine ISG- oder verwaltete Installationsprogrammautorisierung hatte und sich die Anwendungssteuerungsrichtlinie im Überwachungsmodus befindet.
3092 Dieses Ereignis entspricht dem Erzwingungsmodus 3091.
8002 Dieses Ereignis befindet sich im Ereignisprotokoll AppLocker – EXE und DLL . Wenn ein Prozess gestartet wird, der mit einer verwalteten Installationsprogrammregel übereinstimmt, wird dieses Ereignis mit PolicyName = MANAGEDINSTALLER ausgelöst, das in den Ereignisdetails gefunden wird. Ereignisse mit PolicyName = EXE oder DLL beziehen sich nicht auf WDAC.

Die Ereignisse 3090, 3091 und 3092 werden pro aktiver Richtlinie auf dem System gemeldet, sodass möglicherweise mehrere Ereignisse für dieselbe Datei angezeigt werden.

ISG- und MI-Diagnoseereignisdetails

Die folgenden Informationen finden Sie in den Details zu den Ereignissen 3090, 3091 und 3092.

Name Erläuterung
ManagedInstallerEnabled Gibt an, ob die angegebene Richtlinie die Vertrauensstellung des verwalteten Installationsprogramms aktiviert.
PassesManagedInstaller Gibt an, ob die Datei von einem MI stammt.
SmartlockerEnabled Gibt an, ob die angegebene Richtlinie die ISG-Vertrauensstellung aktiviert.
PassesSmartlocker Gibt an, ob die Datei gemäß ISG einen positiven Ruf hatte.
AuditEnabled True, wenn sich die Anwendungssteuerungsrichtlinie im Überwachungsmodus befindet, andernfalls im Erzwingungsmodus
Policyname Der Name der Anwendungssteuerungsrichtlinie, auf die das Ereignis angewendet wird.

Aktivieren von ISG- und MI-Diagnoseereignissen

Um 3090 allow-Ereignisse zu aktivieren, erstellen Sie einen TestFlags-Registrierungsschlüssel mit dem Wert 0x300, wie im folgenden PowerShell-Befehl gezeigt. Starten Sie dann Ihren Computer neu.

reg add hklm\system\currentcontrolset\control\ci -v TestFlags -t REG_DWORD -d 0x300

Die Ereignisse 3091 und 3092 sind in einigen Versionen von Windows inaktiv und werden durch den vorherigen Befehl aktiviert.

Anhang

Eine Liste anderer relevanter Ereignis-IDs und deren entsprechende Beschreibung.

Ereignis-ID Beschreibung
3001 Es wurde versucht, einen nicht signierten Treiber auf das System zu laden.
3002 Die Codeintegrität konnte das Startimage nicht überprüfen, da der Seitenhash nicht gefunden wurde.
3004 Die Codeintegrität konnte die Datei nicht überprüfen, da der Seitenhash nicht gefunden wurde.
3010 Der Katalog, der die Signatur für die zu überprüfende Datei enthält, ist ungültig.
3011 Codeintegrität hat das Laden des Signaturkatalogs abgeschlossen.
3012 Die Codeintegrität hat mit dem Laden des Signaturkatalogs begonnen.
3023 Die Treiberdatei, die überprüft wird, erfüllte nicht die Anforderungen zum Bestehen der Anwendungssteuerungsrichtlinie.
3024 Das Windows-Anwendungssteuerelement konnte die Startkatalogdatei nicht aktualisieren.
3026 Microsoft oder die Zertifizierungsstelle hat das Zertifikat widerrufen, das den Katalog signiert hat.
3032 Die Datei, die überprüft wird, wird widerrufen, oder die Datei verfügt über eine Signatur, die widerrufen wird.
3033 Die zu überprüfende Datei erfüllt nicht die Anforderungen zum Bestehen der Anwendungssteuerungsrichtlinie.
3034 Die zu überprüfende Datei würde die Anforderungen zum Übergeben der Anwendungssteuerungsrichtlinie nicht erfüllen, wenn sie erzwungen wurde. Die Datei wurde zugelassen, da sich die Richtlinie im Überwachungsmodus befindet.
3036 Microsoft oder die Zertifizierungsstelle haben das Zertifikat widerrufen, das die zu überprüfende Datei signiert hat.
3064 Wenn die Anwendungssteuerungsrichtlinie erzwungen wurde, erfüllt eine Benutzermodus-DLL, die überprüft wird, nicht die Anforderungen zum Übergeben der Anwendungssteuerungsrichtlinie. Die DLL war zulässig, da sich die Richtlinie im Überwachungsmodus befindet.
3065 Wenn die Anwendungssteuerungsrichtlinie erzwungen wurde, erfüllt eine Benutzermodus-DLL, die überprüft wird, nicht die Anforderungen zum Übergeben der Anwendungssteuerungsrichtlinie.
3074 Seitenhashfehler, während hypervisorgeschützte Codeintegrität aktiviert war.
3075 Dieses Ereignis misst die Leistung der Anwendungssteuerungsrichtlinienüberprüfung während der Dateiüberprüfung.
3076 Dieses Ereignis ist das Standard Anwendungssteuerungsblockereignis für Überwachungsmodusrichtlinien. Es gibt an, dass die Datei blockiert worden wäre, wenn die Richtlinie erzwungen wurde.
3077 Dieses Ereignis ist das Standard Anwendungssteuerungsblockereignis für erzwungene Richtlinien. Dies weist darauf hin, dass die Datei Ihre Richtlinie nicht bestanden hat und blockiert wurde.
3079 Die zu überprüfende Datei erfüllt nicht die Anforderungen zum Bestehen der Anwendungssteuerungsrichtlinie.
3080 Wenn sich die Anwendungssteuerungsrichtlinie im erzwungenen Modus befindet, hätte die zu überprüfende Datei die Anforderungen zum Übergeben der Anwendungssteuerungsrichtlinie nicht erfüllt.
3081 Die zu überprüfende Datei erfüllt nicht die Anforderungen zum Bestehen der Anwendungssteuerungsrichtlinie.
3082 Wenn die Anwendungssteuerungsrichtlinie erzwungen wurde, hätte die Richtlinie diesen Nicht-WHQL-Treiber blockiert.
3084 Die Codeintegrität erzwingt die Signaturanforderungen des WHQL-Treibers für diese Startsitzung.
3085 Codeintegrität erzwingt keine Signaturanforderungen für WHQL-Treiber in dieser Startsitzung.
3086 Die zu überprüfene Datei erfüllt nicht die Signaturanforderungen für einen isolierten Benutzermodusprozess (IUM).
3089 Dieses Ereignis enthält Signaturinformationen für Dateien, die von der Anwendungssteuerung blockiert oder überwacht wurden. Für jede Signatur einer Datei wird ein 3089-Ereignis erstellt.
3090 Optional Dieses Ereignis gibt an, dass eine Datei nur basierend auf ISG oder verwaltetem Installationsprogramm ausgeführt werden darf.
3091 Dieses Ereignis gibt an, dass eine Datei keine ISG- oder verwaltete Installationsprogrammautorisierung hatte und sich die Anwendungssteuerungsrichtlinie im Überwachungsmodus befindet.
3092 Dieses Ereignis entspricht dem Erzwingungsmodus 3091.
3095 Die Anwendungssteuerungsrichtlinie kann nicht aktualisiert werden und muss stattdessen neu gestartet werden.
3096 Die Anwendungssteuerungsrichtlinie wurde nicht aktualisiert, da sie bereits auf dem neuesten Stand ist.
3097 Die Anwendungssteuerungsrichtlinie kann nicht aktualisiert werden.
3099 Gibt an, dass eine Richtlinie geladen wurde. Dieses Ereignis enthält auch Informationen zu den Optionen, die von der Anwendungssteuerungsrichtlinie festgelegt werden.
3100 Die Anwendungssteuerungsrichtlinie wurde aktualisiert, aber nicht erfolgreich aktiviert. Wiederholen.
3101 Das System hat mit dem Aktualisieren der Anwendungssteuerungsrichtlinie begonnen.
3102 Das System hat die Aktualisierung der Anwendungssteuerungsrichtlinie abgeschlossen.
3103 Das System ignoriert die Aktualisierung der Anwendungssteuerungsrichtlinie.
3104 Die datei, die überprüft wird, erfüllt nicht die Signierungsanforderungen für einen PPL-Prozess (Protected Process Light).
3105 Das System versucht, die Anwendungssteuerungsrichtlinie zu aktualisieren.
3108 Das Windows-Modusänderungsereignis war erfolgreich.
3110 Das Windows-Modusänderungsereignis war nicht erfolgreich.
3111 Die zu überprüfende Datei erfüllte nicht die Hypervisor-geschützte Codeintegritätsrichtlinie (HVCI).
3112 Windows hat das Zertifikat widerrufen, das die zu überprüfende Datei signiert hat.
3114 Dynamic Code Security hat die .NET-App oder DLL für die Überprüfung der Anwendungssteuerungsrichtlinie aktiviert. Die Datei, die überprüft wird, hat Ihre Richtlinie nicht bestanden und wurde blockiert.