Bundesamt für Sicherheit in der Informationstechnik

M 4.419 Anwendungssteuerung ab Windows 7 mit AppLocker

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Administrator

Softwarekonfiguration und Installation

Die Softwarekonfiguration eines Clients weicht in manchen Fällen bereits kurz nach der Bereitstellung von der vorgegebenen Standardkonfiguration ab, sofern dies nicht technisch verhindert wird. Diese Abweichungen nehmen in der Regel zu, je länger der Client in Betrieb ist. Die Ursache dafür sind Installationen durch die Endbenutzer, die nicht den Standard-Änderungsmanagementprozess durchlaufen. Dabei kann es sich um nützliche Werkzeuge für die tägliche Arbeit handeln. Es wird aber auch oft Software installiert, die nichts mit dem Regelbetrieb zu tun hat. In beiden Fällen sollte jedoch der definierte Änderungsmanagementprozess durchlaufen werden.

Durch die Installation dieser zusätzlichen Software verliert ein Administrator schnell den Überblick über die aktuelle Softwarekonfiguration auf den Clients. Dies kann dazu führen, dass eventuell auftretende Fehler für einen Administrator nicht mehr nachvollziehbar sind. Gravierender ist jedoch die Tatsache, dass die zusätzlich installierte Software nicht durch das Patch- und Änderungsmanagement abgedeckt wird (siehe M 2.273 Zeitnahes Einspielen sicherheitsrelevanter Patches und Updates). So können Sicherheitslücken in der Software von Angreifern ausgenutzt werden, um beispielsweise Schadcode auf den Clients einzuschleusen und auszuführen.

Auch auf Server-Systemen darf Software nicht unkontrolliert installiert werden. Wenn beispielsweise ein Backup-Administrator bestimmte Tools einsetzen will, sollte er diese nicht einfach installieren, sondern über den Änderungsmanagementprozess einbringen. So wird die Installation dokumentiert und die Tools werden in das Patch-Management einbezogen.

AppLocker

Das mit Windows 7 (nur Versionen Enterprise und Ultimate) und Windows Server 2008 R2 eingeführte Feature AppLocker hilft dem Administrator, die Kontrolle über die Systeme zu behalten, indem es die unautorisierte Installation und Ausführung von Software durch andere Benutzer technisch verhindert. Unter Windows 7 Professional kann AppLocker die gestarteten Anwendungen protokollieren, nicht jedoch Ausführungsregeln erzwingen.

AppLocker sollte zum Schutz der Systemintegrität eingesetzt werden.

AppLocker ist die Weiterentwicklung der Softwareeinschränkungsrichtlinien (Software Restriction Policies, SRP), die in den Betriebssystemen Microsoft Windows XP, Vista und Server 2003 eingesetzt werden (siehe M 4.286 Verwendung der Softwareeinschränkungsrichtlinie unter Windows Server 2003). Bei der Konfiguration dieser Richtlinien muss der Administrator jedoch für jede Software und jede notwendige Aktualisierung eine eigene Regel erstellen. Dies kann zu einem hohen Verwaltungsaufwand führen.

AppLocker bietet Administratoren im Gegensatz zu den Softwareeinschränkungsrichtlinien flexiblere Möglichkeiten, Richtlinien für die Softwaresteuerung zu definieren, die den Anforderungen der Institution gerecht werden. Beispiele hierfür sind die enthaltenen Assistenten und Regelerstellungstools, mit deren Hilfe Regeln automatisch erstellt werden können. Sie sollten benutzt werden, um beispielsweise die Standardregeln, die die Ausführung von wichtigen Systemdateien erlauben, zu definieren. Die schrittweisen Anleitungen und die integrierte Hilfe unterstützen den Administrator zusätzlich bei der Konfiguration benutzerdefinierter Regeln. Ergänzend zu den Standardregeln sollten Richtlinien für ausführbare Dateien, Installationsprogramme, Skripte und DLLs definiert werden. Die Richtlinien sind separat konfigurierbar und bieten einen besseren Schutz der Systeme, da sie nicht ausschließlich auf ausführbare Dateien beschränkt sind.

Regeln

Es gibt drei Regeltypen: Zulassen, Verweigern und Ausnahme. Damit können Regeln definiert werden, die die Ausführung der in der Institution definierten Standardsoftware erlauben (Positivliste), oder die Ausführung bekannter Schadprogramme verweigern (Negativliste). Es sollte der Ansatz gewählt werden, alle Anwendungen zu verbieten, und nur die Installation und Ausführung von Software aus der Positivliste zu erlauben. So wird verhindert, dass Software, die noch nicht in die Negativliste aufgenommen wurde, installiert und ausgeführt werden kann.

Die Standardregeln werten den Datei- oder Ordnerpfad oder einen Hashwert über die ausführbare Datei ("Dateihash") der Software aus. Zusätzlich sind Regeln auf der Grundlage von Anwendungssignaturen möglich. Folgende Aspekte sind hierbei zu beachten:

Regeln, die auf dem Datei- oder Ordnerpfad basieren

Wird beispielsweise eine Regel definiert, die die Ausführung aller Software unter C:\Programme erlaubt, kann der Schutz umgangen werden, indem eine ausführbare Datei einer gesperrten Software in diesen Ordner verschoben wird. Voraussetzung hierfür sind lokale Administrationsrechte der Endbenutzer. Dies sollte durch entsprechende Maßnahmen verhindert werden (siehe M 2.32 Einrichtung einer eingeschränkten Benutzerumgebung).

Regeln, die auf dem Dateihash basieren

Ein Dateihash kann als ein kryptographischer Fingerabdruck einer Datei bezeichnet werden. Dieser Regeltyp kann eingesetzt werden, wenn eine ausführbare Datei nicht digital signiert ist. Nach jeder Softwareaktualisierung müssen der Hash erneut gebildet und die Regeln angepasst werden. Dies kann zu einem hohen Verwaltungsaufwand führen. Aus diesem Grund sind die Regeltypen, die entweder auf dem Datei- oder Ordnerpfad oder der digitalen Anwendungssignatur basieren, diesem Regeltyp vorzuziehen.

Regeln, die auf Anwendungssignaturen basieren

Ist die Datei elektronisch signiert, sollten Herausgeberregeln definiert werden, die auf den digitalen Anwendungssignaturen basieren. Bei dieser Methode muss sichergestellt sein, dass der Anwendungsidentitätsdienst (AppIDSvc) auf dem Client ausgeführt wird.

Bei der Nutzung von Anwendungssignaturen sollte nicht die Sicherheitsstufe "Beliebiger Herausgeber" gewählt, sondern mindestens der jeweilige Herausgeber definiert werden. Durch die zusätzliche Angabe von Attributen wie der Versionsnummer, kann die Regel weiter eingeschränkt werden. So ist zum Beispiel die Ausführung einer Anwendung ab einer bestimmten Version möglich, solange sie vom Herausgeber signiert wurde. Ältere Versionen werden nicht ausgeführt, neuere Versionen hingegen automatisch zugelassen.

Verantwortlich für die Erstellung der Positiv- und Negativliste sind der Informationssicherheitsbeauftragte und der Leiter IT. Sie sollten in Gesprächen mit den Abteilungsleitern und den Endbenutzern deren jeweilige Anforderungen aufnehmen, auf Vollständigkeit prüfen und die Listen in regelmäßigen Abständen kontrollieren. Gegebenenfalls müssen Anpassungen vorgenommen werden.

Gruppenrichtlinienverwaltung

Die Umsetzung der Anwendungssteuerung sollte durch einen Administrator erfolgen. In einem Domänennetzwerk sollten die Regeln zentral über die Gruppenrichtlinienverwaltung konfiguriert werden. Voraussetzung ist mindestens die Domänenfunktionsebene Windows Server 2008 R2. In einer Domäne mit der Funktionsebene Windows Server 2008 R2 kann die Anwendungssteuerung mit entsprechenden Client-Verwaltungstools (beispielsweise den Remoteserver-Verwaltungstools für Windows 7 und Windows 8) konfiguriert werden.

Mit Hilfe von Gruppenrichtlinienobjekten (Group Policy Objects, GPOs) sollten verschiedene Regelsätze definiert und im Anschluss bestimmten Benutzern oder Gruppen zugeordnet werden. So kann beispielsweise festgelegt werden, dass das Verwaltungstool für die zentrale Datenbank nur von der Entwicklungsabteilung ausgeführt werden darf. Die Office Suite von Microsoft darf hingegen von allen Mitarbeitern der Institution in ihrem vollen Funktionsumfang genutzt werden.

Die nötigen Einstellungen sind im Gruppenrichtlinienverwaltungs-Editor unter Computerkonfiguration | Richtlinien | Windows-Einstellungen | Sicherheitseinstellungen | Anwendungssteuerungsrichtlinien | AppLocker zu finden.

AppLocker für Windows-Apps

Die ab Windows 8 eingeführten Windows-Apps (Modern UI Apps) können mit AppLocker getrennt von Desktopanwendungen administriert werden. Die nötigen Einstellungen sind im Gruppenrichtlinienverwaltungs-Editor unter Computerkonfiguration | Richtlinien | Windows-Einstellungen | Sicherheitseinstellungen | Anwendungssteuerungsrichtlinien | AppLocker| App-Paketregeln zu finden.

Eine Paketregel besteht aus den folgenden 3 Informationen:

  • Herausgeber des Pakets
  • Name des Pakets
  • Version des Pakets

Durch das neue Design mit einer isolierten Sandbox (AppContainer) für jede Windows-App haben alle Bestandteile der Windows-App die selbe Identität und so können mit einer Regel Installation und Ausführung administriert werden.

Protokollierung

Versucht ein Benutzer, eine Anwendung entgegen den in AppLocker definierten Regeln zu starten, so unterbindet AppLocker die Programmausführung und dokumentiert den Vorgang durch einen Eintrag im Systemprotokoll. Um Manipulationsversuche zu erkennen und aufzuklären, muss das Systemprotokoll auch im Hinblick auf die AppLocker-Einträge regelmäßig ausgewertet werden. Idealerweise werden die Systemprotokolle dazu auf einem zentralen Log-Server zusammengeführt und automatisiert ausgewertet.

Wenn AppLocker auf einem produktiven System neu eingeführt wird, kann es übergangsweise auch im Überwachungsmodus betrieben werden. In diesem Modus wird bei einer Regelverletzung die Programmausführung nicht verhindert, aber dennoch ein Protokolleintrag geschrieben. Durch die Auswertung der Protokolle können Programme identifiziert werden, die durch das Regelwerk noch nicht geeignet erfasst werden.

Prüffragen:

  • Wird AppLocker zur Verhinderung der unautorisierten Installation und Ausführung von Software und Windows-Apps (ab Windows 8) auf den Clients genutzt?

  • Wird bei der Nutzung von AppLocker der Ansatz der Positivliste ("Es ist alles verboten, was nicht explizit erlaubt ist") genutzt?

  • Werden unter AppLocker bevorzugt Regeln auf der Grundlage von Anwendungssignaturen definierter Herausgeber eingesetzt?

  • Erfolgt die Verwaltung der AppLocker-Regelsätze in einem domänenbasierten Netz mittels Gruppenrichtlinienobjekten je Benutzer/Benutzergruppe?

  • Werden die Protokolleinträge, die AppLocker bei versuchten Regelverstößen generiert, bei der Protokollauswertung der Systeme berücksichtigt?

  • Werden die AppLocker-Regeln vor dem Einsatz auf einem produktiven System zunächst auf einem Testsystem oder durch den Betrieb im Überwachungsmodus erprobt?

Stand: 15. EL Stand 2016