Sicherheitsüberlegungen zu AppLocker

Betrifft

  • Windows 10
  • Windows 11
  • Windows Server 2016 und höher

Hinweis

Einige Funktionen von Windows Defender Anwendungssteuerung sind nur für bestimmte Windows Versionen verfügbar. Erfahren Sie mehr über die Verfügbarkeit des Defender App Guard-Features.

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

Der Zweck von AppLocker besteht darin, den Zugriff auf Software und damit die Daten, auf die von der Software zugegriffen wird, auf eine bestimmte Gruppe von Benutzern oder innerhalb einer definierten Unternehmensgruppe zu beschränken. Im Folgenden werden Sicherheitsüberlegungen für AppLocker erläutert:

AppLocker wird in einem Unternehmen bereitgestellt und zentral von it-Mitarbeitern mit vertrauenswürdigen Anmeldeinformationen verwaltet. Dies macht die Erstellung und Bereitstellung der Richtlinie mit ähnlichen Richtlinienbereitstellungsprozessen und Sicherheitseinschränkungen konform.

AppLocker-Richtlinien werden über bekannte Prozesse und über bekannte Mittel innerhalb der Domäne über Gruppenrichtlinien verteilt. AppLocker-Richtlinien können jedoch auch auf einzelnen Computern festgelegt werden, wenn die Person über Administratorrechte verfügt und diese Richtlinien möglicherweise mit der schriftlichen Sicherheitsrichtlinie der Organisation abweichen. Die Erzwingungseinstellungen für lokale Richtlinien werden von denselben AppLocker-Richtlinien in einem Gruppenrichtlinienobjekt (Group Policy Object, GPO) überschrieben. Da AppLocker-Regeln jedoch additiv sind, wird eine lokale Richtlinie, die sich nicht in einem Gruppenrichtlinienobjekt befindet, weiterhin für diesen Computer ausgewertet.

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 Windows PowerShell Cmdlets automatisieren. Informationen zu den Windows PowerShell Cmdlets für AppLocker finden Sie in den AppLocker-Cmdlets in Windows PowerShell.

AppLocker wird im Kontext von "Administrator" oder "LocalSystem" ausgeführt, bei dem es sich um den höchsten Berechtigungssatz handelt. Dieser Sicherheitskontext kann missbraucht werden. Wenn ein Benutzer mit Administratoranmeldeinformationen Änderungen an einer AppLocker-Richtlinie auf einem lokalen Gerät vornimmt, das mit einer Domäne verknüpft ist, können diese Änderungen vom Gruppenrichtlinienobjekt überschrieben oder nicht zugelassen werden, das die AppLocker-Regel für dieselbe Datei (oder denselben Pfad) enthält, die auf dem lokalen Gerät geändert wurde. Da AppLocker-Regeln jedoch additiv sind, wird eine lokale Richtlinie, die sich nicht in einem Gruppenrichtlinienobjekt befindet, weiterhin für diesen Computer ausgewertet. Wenn der lokale Computer nicht mit einer Domäne verbunden ist und nicht durch eine Gruppenrichtlinie verwaltet wird, kann eine Person mit Administratoranmeldeinformationen die AppLocker-Richtlinie ändern.

Beim Sichern von Dateien in einem Verzeichnis mit einer Regel des Pfadbedingungstyps, unabhängig davon, ob die Aktion "Zulassen" oder "Verweigern" für die Regel verwendet wird, ist es dennoch erforderlich und bewährte Methode, den Zugriff auf diese Dateien einzuschränken, indem Sie die Zugriffssteuerungslisten (Access Control Lists, ACLs) gemäß Ihrer Sicherheitsrichtlinie festlegen.

AppLocker schützt nicht vor der Ausführung von 16-Bit-DOS-Binärdateien auf dem virtuellen DOS-Computer (NTVDM). Diese Technologie ermöglicht das Ausführen von älteren DOS- und 16-Bit-Windows-Programmen auf Computern, die Intel 80386 oder höher verwenden, wenn bereits ein anderes Betriebssystem ausgeführt und die Hardware gesteuert wird. Das Ergebnis ist, dass 16-Bit-Binärdateien weiterhin auf Windows Server 2008 R2 und Windows 7 ausgeführt werden können, wenn AppLocker so konfiguriert ist, dass Binärdateien und Bibliotheken andernfalls blockiert werden. Wenn die Ausführung von 16-Bit-Anwendungen verhindert werden muss, müssen Sie die Verweigerungsregel in der ausführbaren Regelsammlung für NTVDM.exe konfigurieren.

Sie können AppLocker (oder Softwareeinschränkungsrichtlinien) nicht verwenden, um zu verhindern, dass Code außerhalb des Win32-Subsystems ausgeführt wird. Dies gilt insbesondere für das (POSIX)-Subsystem in Windows NT. Wenn Sie verhindern möchten, dass Anwendungen im POSIX-Subsystem ausgeführt werden, müssen Sie das Subsystem deaktivieren.

AppLocker kann nur VBScript-, JScript-, .bat-, 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. Beispielsweise werden Windows Batchdateien (*.bat) im Kontext des Windows Command Host (cmd.exe) ausgeführt. Um interpretierten Code mithilfe von AppLocker zu steuern, muss der Hostprozess AppLocker aufrufen, bevor der interpretierte Code ausgeführt wird, und dann die von AppLocker zurückgegebene Entscheidung erzwingen. Nicht alle Hostprozesse rufen AppLocker auf und daher kann AppLocker nicht jede Art von interpretierten 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 erlauben oder verhindern, dass eine Anwendung gestartet wird. AppLocker steuert nicht das Verhalten von Anwendungen nach dem Start. 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 kann eine Anwendung, die von AppLocker zugelassen wird, diese Flags verwenden, um AppLocker-Regeln zu umgehen und untergeordnete Prozesse zu starten. Sie müssen jede Anwendung sorgfältig untersuchen, bevor Sie sie mithilfe von AppLocker-Regeln ausführen können.

Hinweis

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

Sie können die Windows-Subsystem für Linux blockieren, indem Sie LxssManager.dll blockieren.

Verwandte Themen