Sicherheitsüberlegungen zu AppLocker

In diesem Artikel für IT-Experten werden die Sicherheitsüberlegungen beschrieben, die Sie bei der Implementierung von AppLocker berücksichtigen müssen.

AppLocker hilft dabei, den Zugriff auf Software für bestimmte Benutzer oder Benutzergruppen einzuschränken. Im Folgenden finden Sie Sicherheitsüberlegungen für AppLocker:

AppLocker wird innerhalb eines Unternehmens bereitgestellt und zentral von diesen Ressourcen in der IT mit vertrauenswürdigen Anmeldeinformationen verwaltet. Dieses System sorgt dafür, dass die Richtlinienerstellung und -bereitstellung ähnlichen Richtlinienbereitstellungsprozessen und Sicherheitseinschränkungen entspricht.

AppLocker-Richtlinien werden über bekannte Prozesse und mit bekannten Mitteln innerhalb der Domäne über Gruppenrichtlinie verteilt. AppLocker-Richtlinien können jedoch auch auf einzelnen Computern festgelegt werden, wenn die Person über Administratorrechte verfügt, und diese Richtlinien können der geschriebenen Sicherheitsrichtlinie des organization widersprechen. Die Einstellungen für den Erzwingungsmodus von AppLocker-Richtlinien, die über Gruppenrichtlinie Objects (GPO) verteilt werden, haben Vorrang vor lokalen Richtlinien. Da AppLocker-Regeln jedoch additiv sind, werden die Regeln einer lokalen Richtlinie mit Regeln aus allen Gruppenrichtlinienobjekten zusammengeführt, die auf den Computer angewendet werden.

Microsoft bietet keine Möglichkeit, Erweiterungen für AppLocker zu entwickeln. Die Schnittstellen sind nicht öffentlich. Ein Benutzer mit Administratoranmeldeinformationen kann einige AppLocker-Prozesse mithilfe von Windows PowerShell-Cmdlets automatisieren. Informationen zu den Windows PowerShell-Cmdlets für AppLocker finden Sie unter AppLocker-Cmdlets in Windows PowerShell.

AppLocker wird im Kontext von Administrator oder LocalSystem ausgeführt, wobei es sich um den höchsten Berechtigungssatz handelt. Dieser Sicherheitskontext kann missbraucht werden. Da AppLocker-Regeln additiv sind, werden alle lokalen Richtlinienregeln zusammen mit gpOs auf diesen Computer angewendet. Wenn der lokale Computer nicht mit einer Domäne verknüpft oder von Gruppenrichtlinie gesteuert wird, kann eine Person mit Administratoranmeldeinformationen die AppLocker-Richtlinie vollständig steuern.

AppLocker-Pfadregeln ersetzen keine Zugriffssteuerungslisten (Access Control Lists, ACLs). Sie sollten weiterhin ACLs verwenden, um den Zugriff auf Dateien gemäß Ihrer Sicherheitsrichtlinie einzuschränken.

Sie können AppLocker nicht verwenden, um zu verhindern, dass Code außerhalb des Win32-Subsystems ausgeführt wird. Es kann z. B. keinen Code steuern, der im Windows-Subsystem für Linux ausgeführt wird. Wenn es erforderlich ist, die Ausführung von Anwendungen im Linux-Subsystem zu verhindern, müssen Sie das Subsystem deaktivieren. Alternativ können Sie die Windows-Subsystem für Linux blockieren, indem Sie LxssManager.dll blockieren.

AppLocker kann nur VBScript, JScript, .bat-Dateien, .cmd-Dateien und Windows PowerShell-Skripts steuern. Es steuert nicht den gesamten interpretierten Code, der innerhalb eines Hostprozesses ausgeführt wird, z. B. Perl-Skripts und Makros. Interpretierter Code ist eine Form von ausführbarem Code, der innerhalb eines Hostprozesses ausgeführt wird. Windows-Batchdateien (*.bat) werden beispielsweise im Kontext des Windows-Befehlshosts (cmd.exe) ausgeführt. Um interpretierten Code mithilfe von AppLocker zu steuern, muss der Hostprozess AppLocker aufrufen, bevor er den interpretierten Code ausführt, und dann die von AppLocker zurückgegebene Entscheidung erzwingen. Nicht alle Hostprozesse rufen AppLocker auf, und daher kann AppLocker nicht jede Art von interpretiertem Code steuern, z. B. Microsoft Office-Makros.

Wichtig

Sie sollten die entsprechenden Sicherheitseinstellungen dieser Hostprozesse konfigurieren, wenn Sie deren Ausführung zulassen müssen. Konfigurieren Sie beispielsweise die Sicherheitseinstellungen in Microsoft Office, um sicherzustellen, dass nur signierte und vertrauenswürdige Makros geladen werden.

AppLocker-Regeln lassen die Ausführung von Anwendungsdateien zu oder blockieren sie. AppLocker steuert nicht das Verhalten von Anwendungen, nachdem sie gestartet wurden. Anwendungen können Flags enthalten, die an Funktionen übergeben werden, die AppLocker signalisieren, die Regeln zu umgehen und das Laden eines anderen .exe oder .dll zuzulassen. In der Praxis könnte eine zulässige Anwendung diese Flags verwenden, um AppLocker-Regeln zu umgehen und untergeordnete Prozesse zu starten. Sie müssen jede Anwendung gründlich untersuchen, bevor Sie die Ausführung mithilfe von AppLocker-Regeln zulassen.

Hinweis

Zwei Flags, die diese Bedingung veranschaulichen, sind SANDBOX_INERT, die an CreateRestrictedTokenübergeben werden können, und LOAD_IGNORE_CODE_AUTHZ_LEVEL, die an LoadLibraryExübergeben werden können. Beide Flags signalisieren AppLocker, die Regeln zu umgehen und das Laden eines untergeordneten .exe oder .dll zuzulassen.