AppLocker-Architektur und -Komponenten

In diesem Artikel für IT-Experten werden die grundlegende Architektur von AppLocker und ihre Hauptkomponenten beschrieben.

AppLocker verwendet den Anwendungsidentitätsdienst, um Attribute für eine Datei bereitzustellen und die AppLocker-Richtlinie für die Datei auszuwerten. AppLocker-Richtlinien sind bedingte Zugriffssteuerungseinträge (Conditional Access Control Entries, ACEs), und Richtlinien werden mithilfe der attributbasierten Zugriffssteuerung SeAccessCheckWithSecurityAttributes - oder AuthzAccessCheck-Funktionen ausgewertet.

AppLocker bietet drei Möglichkeiten zum Abfangen und Überprüfen, ob eine Datei gemäß einer AppLocker-Richtlinie ausgeführt werden darf.

Ein neuer Prozess wird erstellt.

Wenn eine App-Datei ausgeführt wird, wird ein neuer Prozess erstellt. In diesem Fall ruft AppLocker die Anwendungsidentitätskomponente auf, um die Attribute der Standard ausführbaren Datei zu berechnen, die zum Erstellen eines neuen Prozesses verwendet wird. Anschließend wird das Token des neuen Prozesses mit diesen Attributen aktualisiert und die AppLocker-Richtlinie überprüft, um zu überprüfen, ob die ausführbare Datei ausgeführt werden darf.

Eine DLL wird geladen.

Wenn eine DLL geladen wird, wird eine Benachrichtigung an AppLocker gesendet, um zu überprüfen, ob die DLL geladen werden darf. AppLocker ruft die Anwendungsidentitätskomponente auf, um die Dateiattribute zu berechnen. Es dupliziert das vorhandene Prozesstoken und ersetzt diese Anwendungsidentitätsattribute im doppelten Token durch Attribute der geladenen DLL. AppLocker wertet dann die Richtlinie für diese DLL aus, und das duplizierte Token wird verworfen. Je nach Ergebnis dieser Überprüfung lädt das System die DLL entweder weiter oder beendet den Prozess.

Ein Skript wird ausgeführt.

Bevor eine Skriptdatei ausgeführt wird, ruft der Skripthost (z. B. PowerShell) AppLocker auf, um das Skript zu überprüfen. AppLocker ruft die Anwendungsidentitätskomponente im Benutzermodus mit dem Dateinamen oder Dateihandle auf, um die Dateieigenschaften zu berechnen. Die Skriptdatei wird dann anhand der AppLocker-Richtlinie ausgewertet, um zu überprüfen, ob sie ausgeführt werden soll. In jedem Fall werden die von AppLocker ausgeführten Aktionen in das Ereignisprotokoll geschrieben.