Zum Inhalt springen
05 · AnwendungssteuerungTeil 1 von 4Fortgeschritten

App Control for Business (WDAC) oder AppLocker

App Control for Business (vormals WDAC) oder AppLocker wählen, mit Microsofts Beispielrichtlinien starten, überwachen, Code-Integrity-Ereignisse lesen und erzwingen.

Florian Amette6 Min. Lesezeit

Ein Virenschutz fragt: „Ist diese Datei als schädlich bekannt?“ Anwendungssteuerung stellt die umgekehrte Frage: „Ist diese Datei als gut bekannt?“ Alles andere wird abgelehnt. Diese Umkehrung besiegt Massen-Malware, die meisten Ransomware-Dropper und den Großteil der Werkzeuge, die ein aktiver Angreifer auf einen Host mitbringt, denn nichts davon steht auf Ihrer Allowlist.

Windows bringt zwei integrierte Allowlisting-Technologien mit. Dieser Leitfaden erklärt, wann Sie welche einsetzen, und führt dann durch einen realistischen Rollout von App Control for Business (dem neuen Namen von Windows Defender Application Control, WDAC).

App Control im Vergleich zu AppLocker

App Control for Business (WDAC)AppLocker
DurchsetzungspunktCodeintegrität im Kernel (Treiber und Benutzermodus)Benutzermodus, über den Dienst Anwendungsidentität
GeltungsbereichGanzes Gerät, alle BenutzerPro Benutzer oder Gruppe
RegeltypenSignaturgeber/Herausgeber, Datei-Hash, Dateipfad, Dateiattribute, Managed Installer, Reputation im Intelligent Security GraphHerausgeber, Pfad, Hash
Deckt Treiber abJaNein
SkripterzwingungJa, mit PowerShell Constrained Language Mode und hostbewusst für unterstützte InterpreterSkripte (.ps1, .bat, .cmd, .vbs, .js) per Regel
ManipulationsresistenzSignierte Richtlinien können dem Entfernen durch lokale Admins widerstehenEin lokaler Admin kann den Dienst stoppen oder die Richtlinie ändern
EntwicklungAktiv weiterentwickeltNur Sicherheitskorrekturen

Microsoft positioniert App Control als Sicherheitsgrenze und AppLocker als ergänzende Maßnahme. Wenn Sie neu beginnen, beginnen Sie mit App Control.

Schritt 1: eine Ausgangsrichtlinie wählen

Bauen Sie nicht bei null an. Windows liefert Beispiel-Basisrichtlinien in C:\Windows\schemas\CodeIntegrity\ExamplePolicies mit:

BeispielrichtlinieVertrautGeeignet für
DefaultWindows_Audit.xml / _Enforced.xmlWindows, Store-Apps, von Microsoft signierte KomponentenGeräte mit festem Zweck, Kiosks, Server mit wenigen Anwendungen
AllowMicrosoft.xmlAlles, was von Microsoft signiert ist (einschließlich Office, Visual Studio, SQL-Tools)Server und Admin-Arbeitsplätze
SmartAppControl.xml / ISG-basierte RichtlinienWindows plus Dateien mit guter Reputation im Intelligent Security GraphWenig verwaltete Clients, bei denen eine vollständige Allowlist unrealistisch ist

Der App Control Policy Wizard (ein kostenloses Microsoft-Tool) baut mit einer grafischen Oberfläche auf diesen Vorlagen auf und ist der einfachste Einstieg. Alles, was er tut, lässt sich auch mit dem PowerShell-Modul ConfigCI erledigen.

Schritt 2: eigene Software und einen Managed Installer hinzufügen

Eine Richtlinie, die nur Microsoft vertraut, blockiert jede Drittanbieteranwendung. Es gibt drei Wege, sie zu erweitern:

  1. Herausgeberregeln für Software, die von Herstellern signiert ist, denen Sie vertrauen (geringster Pflegeaufwand).
  2. Managed Installer: Kennzeichnen Sie die Intune Management Extension oder Configuration Manager als Managed Installer, dann gilt alles, was dieser installiert, automatisch als vertrauenswürdig. So machen die meisten Unternehmen App Control wartbar.
  3. Hashregeln für unsignierte Eigenentwicklungen, bei jedem Release neu erzeugt.

Scannen Sie einen Referenzrechner, um Regeln für die installierte Software zu erzeugen:

PowerShell
New-CIPolicy -Level Publisher -Fallback Hash -UserPEs `
  -ScanPath "C:\Program Files" -FilePath .\ProgramFiles.xml
Merge-CIPolicy -PolicyPaths .\AllowMicrosoft.xml, .\ProgramFiles.xml -OutputFilePath .\Base.xml

Vermeiden Sie Pfadregeln für von Benutzern beschreibbare Orte. App Control berücksichtigt Pfadregeln standardmäßig nur, wenn der Pfad ausschließlich von Administratoren beschreibbar ist. Das ist ein gutes Sicherheitsnetz; deaktivieren Sie diese Prüfung nicht.

Schritt 3: die Blockierregeln hinzufügen

Allowlists vertrauen Microsoft, und Microsoft signiert Werkzeuge, die Angreifer missbrauchen (die „Living off the Land“-Binärdateien). Führen Sie Folgendes mit ein:

  • Von Microsoft empfohlene Blockierregeln: eine veröffentlichte Liste signierter Binärdateien, mit denen sich Anwendungssteuerung umgehen lässt (etwa alte Versionen von Skripthosts und Debuggern). Nehmen Sie sie in jede Richtlinie auf.
  • Microsoft-Sperrliste für anfällige Treiber: bekanntermaßen anfällige signierte Treiber. Seit Windows 11 22H2 ist sie standardmäßig auf allen Geräten aktiv (und wird immer erzwungen, wenn Speicherintegrität, Smart App Control oder der S-Modus aktiv ist), die mitgelieferte Kopie wird aber seltener aktualisiert als Microsofts herunterladbare Liste. Nehmen Sie sie für ältere Builds und Server ausdrücklich auf.

Schritt 4: im Überwachungsmodus bereitstellen

Der Überwachungsmodus ist die Richtlinienregeloption 3. Stellen Sie sicher, dass sie gesetzt ist, vergeben Sie eine Richtlinien-ID und konvertieren Sie die Richtlinie ins Binärformat:

PowerShell
Set-RuleOption -FilePath .\Base.xml -Option 3          # Enabled:Audit Mode
Set-RuleOption -FilePath .\Base.xml -Option 16         # Enabled:Update Policy No Reboot
Set-CIPolicyIdInfo -FilePath .\Base.xml -PolicyName "Corp Base" -ResetPolicyID
ConvertFrom-CIPolicy -XmlFilePath .\Base.xml -BinaryFilePath .\Base.cip

Verteilen Sie sie mit Intune (Endpoint security > App Control for Business), Configuration Manager, Gruppenrichtlinie (System > Device Guard > Deploy Windows Defender Application Control, in neueren ADMX-Dateien für App Control umbenannt; nur im Einzelrichtlinienformat) oder lokal mit CiTool ab Windows 11 22H2:

PowerShell
CiTool.exe --update-policy .\Base.cip
CiTool.exe --list-policies

Schritt 5: die Ereignisse auswerten

Codeintegritätsereignisse finden Sie unter Applications and Services Logs > Microsoft > Windows > CodeIntegrity > Operational. Skript- und MSI-Ereignisse liegen unter AppLocker > MSI and Script, auch wenn App Control die durchsetzende Technologie ist.

EreignisBedeutung
3076Überwachung: Diese Datei wäre blockiert worden
3077Erzwungen: Diese Datei wurde blockiert
3089Signaturdetails zur Datei aus einem 3076/3077-Ereignis
3099Eine Richtlinie wurde aktiviert
8028 / 8029Skript oder MSI wäre blockiert worden / wurde blockiert

Sammeln Sie einige Wochen lang 3076-Ereignisse aus dem Pilotbetrieb. Eine ergänzende Richtlinie lässt sich direkt aus dem Überwachungsprotokoll erzeugen:

PowerShell
New-CIPolicy -Audit -Level Publisher -Fallback Hash -UserPEs -FilePath .\FromAudit.xml

Prüfen Sie diese Ausgabe von Hand. Überwachungsdaten von einem bereits kompromittierten Rechner oder von einem, auf dem ein Benutzer irgendeinen Download ausgeführt hat, lassen bereitwillig Dinge zu, die Sie nicht wollen.

Schritt 6: Ring für Ring erzwingen

Entfernen Sie Option 3 (Set-RuleOption -Option 3 -Delete), konvertieren Sie die Richtlinie und verteilen Sie sie an einen ersten Ring aus IT-Geräten, dann an Pilotbenutzer, dann an alle. Behalten Sie für neue Ringmitglieder die Überwachungsrichtlinie bei, bis ihre Ereignisse sauber sind.

Nutzen Sie ergänzende Richtlinien (Mehrfachrichtlinienformat, ab Windows 10 1903), damit Anwendungsverantwortliche die Basisrichtlinie erweitern können, ohne sie anzufassen. Sobald alles stabil läuft, signieren Sie die Basisrichtlinie; eine signierte Richtlinie lässt sich nur durch ein signiertes Update entfernen, sodass ein Angreifer mit Adminrechten sie nicht einfach löschen kann.

Wann AppLocker noch sinnvoll ist

  • Benutzerbezogene Regeln auf gemeinsam genutzten Rechnern (Kiosk-Mitarbeiterkonten gegenüber Administratoren).
  • Schnelle Erfolge auf Altsystemen, auf denen Sie App Control noch nicht bereitstellen können: Blockieren Sie für Standardbenutzer mindestens die Ausführung aus %USERPROFILE%, %TEMP% und %APPDATA%.

Wenn Sie AppLocker einsetzen, denken Sie daran, dass die Standardregeln alles unter %WINDIR% und %PROGRAMFILES% zulassen und einige Unterordner von C:\Windows (etwa C:\Windows\Tasks und C:\Windows\Temp) für Standardbenutzer beschreibbar sind. Fügen Sie dafür explizite Verweigerungsregeln hinzu oder verwenden Sie Herausgeberregeln statt der Pfadstandards. AppLocker benötigt den Dienst Application Identity (AppIDSvc) mit Starttyp Automatisch; seine Ereignisse liegen unter AppLocker > EXE and DLL: 8003 (Überwachung: würde blockiert) und 8004 (blockiert).

PowerShell
Get-AppLockerPolicy -Effective -Xml > effective.xml
Get-ChildItem C:\Users\Public -Recurse -Filter *.exe | Convert-Path |
  Test-AppLockerPolicy -XmlPolicy .\effective.xml -User Everyone

Checkliste

  • Technologie gewählt: App Control als Basis, AppLocker nur dort, wo es Mehrwert bringt
  • Basisrichtlinie aus einem Microsoft-Beispiel, plus empfohlene Blockierregeln und Treiber-Sperrliste
  • Managed Installer für Ihr Verteilungswerkzeug konfiguriert
  • Überwachungsmodus im Pilotbetrieb, 3076-/8028-Ereignisse mindestens zwei Wochen lang ausgewertet
  • Ring für Ring erzwungen; ergänzende Richtlinien für Anwendungsverantwortliche
  • Basisrichtlinie nach Stabilisierung signiert
  • 3077-Ereignisse weitergeleitet und mit Alarmen versehen

Anwendungssteuerung ist die Maßnahme, die die meisten anderen erleichtert: Sie zwingt PowerShell in den Constrained Language Mode, macht ASR-Regeln zur zweiten statt zur ersten Verteidigungslinie und verwandelt „ein Benutzer hat etwas ausgeführt“ in ein protokolliertes, blockiertes Ereignis.

Häufige Fragen

Ist AppLocker veraltet (deprecated)?

AppLocker ist nicht als veraltet eingestuft und erhält weiterhin Sicherheitskorrekturen, aber keine neuen Funktionen mehr. Microsoft empfiehlt für neue Bereitstellungen App Control for Business (vormals Windows Defender Application Control) und AppLocker als Ergänzung für benutzerbezogene Regeln oder ältere Systeme.

Kann ich App Control und AppLocker gemeinsam betreiben?

Ja. Gelten beide, muss eine Datei von beiden zugelassen sein, um ausgeführt zu werden. Ein gängiges Muster ist App Control als geräteweite Basis plus AppLocker für benutzerspezifische Einschränkungen auf gemeinsam genutzten Rechnern.

Stoppt App Control PowerShell-Angriffe?

Indirekt, aber wirksam. Wird eine App-Control-Richtlinie erzwungen, läuft PowerShell für Skripte, die die Richtlinie nicht zulässt, im Constrained Language Mode. Das blockiert die meisten offensiven PowerShell-Werkzeuge, während signierte und freigegebene Admin-Skripte den vollen Sprachumfang behalten.

App Control for Business (WDAC) oder AppLocker

Verwandte Leitfäden

Anwendungssteuerung

AppLocker-Rollout: Skripte, Installer und App-Pakete

AppLocker sicher ausrollen: Dienst Anwendungsidentität, Überwachungsmodus, Herausgeberregeln für EXE, Skripte, MSI und App-Pakete sowie Lücken in beschreibbaren Ordnern.

Fortgeschritten