Windows 10 Enterprise Serie: AppLocker
>> zur Übersicht und Einleitung der Blogserie “Windows Enterprise Serie”
AppLocker wurde erstmals in Windows 7 eingeführt, dort jedoch nur in den Versionen Ultimate und Enterprise. Es ist ein Windows Feature, das mit Hilfe von Regeln den Schutz vor unerwünschter Software sicherstellen soll. Gleichzeitig sollen die Regeln dazu dienen, eine Lizenzierungskonformität und Softwarestandardisierung herbeizuführen. Zusätzlich sollen die AppLocker Regeln eine verbesserte Verwaltbarkeit der verwendeten Software bieten.
Früher hießen die AppLocker Regeln „Software Restriction Policies“. Mit der Einführung von Windows 7 sind diese jedoch als veraltet eingestuft worden. Eine Gegenüberstellung von SRP und AppLocker ist hier zu finden https://technet.microsoft.com/library/hh994614 (zuletzt abgerufen 21.01.16). Vereinfacht gesagt kann man mit AppLocker ein White- und Blacklisting von Anwendungen vornehmen, entsprechend der Unternehmensphilosophie.
Technische Anforderungen
AppLocker ist nur in den Windows 10 Versionen Enterprise und Education vorhanden. Die Regeln können nur auf den unterstützten Windows Betriebssystemen konfiguriert und angewendet werden. Im Falle von Windows 10 ist sowohl die Konfiguration als auch die Erzwingung von Regeln möglich.
Die Anwendung von AppLocker Regeln ist auf einzelne Computer oder Gruppen von Computern möglich. Dies ist über die folgenden Wege möglich:
- für einzelne Computer: Local Security Policy Editor (secpol.msc)
- für Computergruppen: Group Policy Management Console (GPMC)
Für die GPMC müssen jedoch die Remote Server Administration Tools installiert sein. Ansonsten ist eine Nutzung nicht möglich.
Bereits seit Windows 7 ist AppLocker im Einsatz. Es ist jedoch nicht, wie andere Features oder Einstellungen von Windows, offensichtlich zu finden. Das liegt daran, dass eine Einrichtung von AppLocker Regeln
a) meistens nur auf Servern innerhalb einer Domäne Sinn macht und
b) die Konfiguration in den Computer Policies vorgenommen werden muss, also nicht direkt offensichtlich ist.
Nachfolgend der entsprechende Screenshot, wo die Einstellungen der AppLocker Regeln vorgenommen werden können; in diesem Fall auf dem Domain Controller, einem Windows Server 2012 R2. Dort sollten zuerst die Standardregeln definiert werden, damit sich die Administratoren nicht selbst aus dem System aussperren. Durch die Standardregeln werden alle Anwendungen erlaubt, die im Windows- und Programme–Ordner liegen.
Was ist AppLocker?
Wie schon in der Einleitung geschrieben, dient AppLocker dazu, ein White- und auf diese Weise auch ein Blacklisting für Anwendungen vorzunehmen. Die Erstellung von AppLocker Regeln kann auf verschiedene Weisen erfolgen. Entweder über den Pfadnamen, den Hashwert oder durch Angabe des vollständigen Herstellernamens. Bei einer Regel mit Hashwert muss die Regel jedoch jedes Mal manuell aktualisiert werden, wenn ein Dateiupdate vorgenommen worden ist (egal ob es sich dabei um ein Securityupdate oder ein normales Upgrade gehandelt hat). Denn dadurch ändert sich der entsprechende Hashwert und die alte Regel greift nicht mehr für die aktualisierte Datei.
Bei der Verwendung des Herstellernamens (Publisher) müssen die Dateien signiert sein. Nur so ist es AppLocker möglich die Regel entsprechend anzuwenden auf Basis der Informationen, die in dem Zertifikat vorhanden sind. Obwohl die Möglichkeit besteht, eine ganze Produktgruppe (Suite) über die Pfadangabe mittels AppLocker zu regulieren, müssen dann sämtliche Dateien, die sich in dem Pfad befinden, signiert sein.
Bei der Benutzung eines Pfadnamens werden alle Anwendungen, die sich in diesem Pfad befinden, entsprechend freigegeben oder gesperrt. Je nachdem wie die Regel erstellt wird.
Folgend wird der Vorgang beschrieben, der bei der Einrichtung von AppLocker Regeln befolgt werden sollte. Zuerst sollte man die Standardregeln aktivieren, bevor man spezielle Regeln für einzelne Anwendungen einrichtet. Durch die Einrichtung der Standardregeln wird es Nutzern erlaubt, die Applikationen im Windows- und Programme-Ordner zu nutzen und die Administratoren können sich so nicht aus dem System aussperren. Für die Einrichtung weiterer Regeln sollte man diese im ersten Schritt zuerst in einer Testumgebung mit wenigen Benutzern testen. Nachdem dieser Test erfolgreich war, sollte man die Testgruppe erweitern und die entsprechenden Regel oder Regeln erneut testen. Erst wenn auch dieser Test erfolgreich verlaufen ist, sollte als letzter Schritt die Ausrollung der AppLocker Regel(n) in die produktive Umgebung erfolgen.
Es gibt verschiedene Einstellmöglichkeiten bei AppLocker Regeln. Die Zuweisung einer Richtlinie ist entweder an einen individuellen Nutzer oder eine Sicherheitsgruppe möglich.
Wie schon zu Beginn des Kapitels beschrieben, geschieht die Erstellung von Regeln basierend auf „nicht veränderlichen“ Attributen. Dies sind die folgenden drei:
- Pfadname
- Hashwert
- Herstellername
Weiterhin ist eine Erstellung von Regeln mittels PowerShell bzw. durch PowerShell-Cmdlets möglich. Abschließend ist noch anzumerken, dass AppLocker Regeln nur auf Domain Controllern erstellt werden können.
AppLocker besitzt jedoch nur eingeschränkte Möglichkeiten bei der Überwachung. Es erlaubt oder verhindert nur den Start einer Anwendung. Dagegen überwacht es nicht das Verhalten der Anwendung nach dem Start.
Dadurch ist es möglich, dass ein durch AppLocker Regeln erlaubter Prozess weitere Prozesse aufruft und somit bestehende AppLocker Regeln umgangen werden. Daher sollte man, bevor man eine Anwendung als erlaubt einstuft, genau prüfen, was sie im Anschluss an den Aufruf macht.
Die AppLocker Regeln, die Anwendungen verbieten, gewinnen immer über Regeln die Anwendungen erlauben. Falls man für einzelne Nutzer doch so etwas braucht, kann man stattdessen Regelausnahmen machen. Dadurch ist es beispielsweise möglich, dass jeder Benutzer Anwendungen im Windows-Ordner ausführen darf bis auf die regedit.exe.
Grundsätzlich ist es nicht möglich, alle Arten von Anwendungen mittels AppLocker Regeln zu regulieren. Die Erstellung ist beschränkt auf die folgenden Dateitypen:
- Windows Install Dateien (.msi und .msp)
- ausführbare Dateien (.exe und .com)
- Skripte; dies umfasst jedoch nur die folgenden Skripttypten: VBScript, JScript, .bat files, .cmd files, und Windows PowerShell scripts (.js, .ps1, .vbs, .cmd und .bat)
- DLLs (.dll und .ocx)
- gepackte Applikationen
- gepackte Installations-Applikationen (.appx)
Es gibt jedoch auch Skripte, die nicht blockiert werden können. Dabei handelt es sich um jeglichen interpretierten Code, der in einem Host Prozess läuft. Dies ist beispielsweise bei Makros oder Perl Skripten der Fall. Der Grund dafür ist, dass nicht alle Prozesse vor ihrem Start AppLocker aufrufen. Somit würden in diesem Fall die entsprechenden Regeln, sofern man solche eingerichtet hätte, nicht geprüft werden und wären wirkungslos.
Neuerungen in Windows 10
Seit Windows 10 gibt es im Windows PowerShell-Cmdlet New-AppLockerPolicy einen neuen Parameter. Mit diesem ist es möglich auszuwählen, ob die Regelsammlungen für ausführbare Dateien und DLLs auf nicht interaktive Prozesse angewendet werden sollen oder nicht. Um dies zu aktivieren, setzt man den Parameter ServiceEnforcement auf “aktiviert”. Im Detail sieht das entsprechende Cmdlet so aus:
Parameter Set: Default
New-AppLockerPolicy [-FileInformation] <List<FileInformation>> [-IgnoreMissingFileInformation] [-InformationAction <System.Management.Automation.ActionPreference> {SilentlyContinue | Stop | Continue | Inquire | Ignore | Suspend} ] [-InformationVariable <System.String> ] [-Optimize] [-RuleNamePrefix <String> ] [-RuleType <List<RuleType>> ] [-ServiceEnforcement <System.String> ] [-User <String> ] [-Xml] [ <CommonParameters>]
Zusätzlich wurde ein neuer AppLocker-Konfigurationsdienstanbieter (CSP) hinzugefügt, damit man die AppLocker-Regeln mithilfe eines MDM-Servers aktivieren kann. Weiterhin kann man mit dem neuen AppLocker CSP Mobile-Geräte mit Windows 10 verwalten. Über den folgenden Link gelangt man zur entsprechenden Übersichtseite von Microsoft, wo die Neuerungen von AppLocker aufgelistet sind
https://technet.microsoft.com/en-us/library/mt592860(v=vs.85).aspx (zuletzt abgerufen 21.01.16).
Pro / Kontra
Um den geringsten Arbeitsaufwand mit AppLocker Regeln zu haben, sollte man diese mit dem Attribut „Herstellername“ einrichten. Dazu müssen zwar die Dateien entsprechend signiert sein, aber Änderungen haben so den wenigsten Einfluss darauf. Durch das Attribut „Pfadname“ kann man ganze Dateipfade und die Ausführung der darin enthaltenen Anwendungen erlauben oder verbieten. In diesem Fall kann es jedoch möglich sein, dass man Ausnahmen von einzelnen Regeln machen muss. Die Variante mit „Hashwert“ als Attribut empfiehlt sich nur für Anwendungen, die selten bis gar nicht aktualisiert werden. Denn jede Aktualisierung der Datei, sei es über ein Update oder eine andere Möglichkeit, verändert den Hashwert. Dadurch ist die erstellte Regel unwirksam und muss entsprechend angepasst werden.
Fazit
Grundsätzlich ist AppLocker jedoch eine gute Möglichkeit, innerhalb eines Unternehmens entsprechende Anwendungen zu blockieren oder eine Softwarestandardisierung herbeizuführen. Laut dem unter dem folgenden Link bereitgestellten pdf-Dokument, sollte AppLocker jedoch nicht als alleinige Absicherung genutzt werden. https://www.allianz-fuer-cybersicherheit.de/ACS/DE/_/downloads/BSI-CS_117.html (zuletzt abgerufen 21.01.16). AppLocker Regeln sind eine von vielen weiteren Maßnahmen, die im Rahmen der Sicherheit eines Unternehmens angewendet werden sollten.