Application Whitelisting bezeichnet in der Informationstechnik die Beschränkung der Nutzbarkeit von Elementen (z.B. Software, DLLs oder an einen Computer angeschlossene Geräte) auf solche, welche nach Meinung der Verfasser der Liste vertrauenswürdig sind. Nur auf der Whitelist enthaltene Elemente sind verwendbar. Die Nutzung jeglicher anderer, nicht auf der Liste aufgeführter Elemente ist grundsätzlich nicht erlaubt.
Das Umkehrprinzip von Application Whitelisting ist Application Blacklisting. Bei Blacklisting enthält die Liste die verbotenen Elemente; alle unbekannten Elemente können genutzt werden. Der Blacklisting Ansatz steht im Bereich der Sicherheit der Informationstechnik stets vor dem Problem, die Bedrohung kennen zu müssen, da bei einer Blacklist nur verhindert werden kann, was explizit in der Liste aufgeführt ist. Diesem Problem unterliegt der Whitelisting Ansatz nicht, da hier bereits automatisch sämtliche unbekannte Elemente - und damit auch jegliche Schadsoftware - nicht erlaubt sind.
Bei Application Whitelisting muss jede vertrauenswürdige Software auf der Liste eingepflegt sein, um genutzt werden zu können. Diese Aufgabe wird von modernen Application Whitelisting Lösungen weitgehend automatisiert, sodass sie in der Praxis (abhängig vom eingesetzten Produkt) mittlerweile keine Hürde mehr darstellt.
Inhaltsverzeichnis
In der praktischen Anwendung kommen Application Whitelisting und Blacklisting Verfahren im Bereich der Sicherheit der Informationstechnik zum Einsatz. Blacklisting wird z.B. von Virenscannern verwendet. Diese pflegen eine Liste der zu blockierenden Schadsoftware. Whitelisting wird von modernen IT-Management Lösungen angeboten (z.B. SecuLution Application Whitelisting oder Microsoft Applocker).
Die Funktion einer Application Whitelist (Deutsch: Positivliste)
besteht in erster Linie darin, Computer vor der Ausführung
schädlicher Anwendungen zu schützen. Beim Versuch des Starts einer
Software auf einem mit einer Application Whitelist geschützten
Computer wird geprüft, ob die Software auf der Positivliste
aufgeführt ist. Nur wenn die Software aufgeführt ist, ist deren
Ausführung möglich. Zusätzliche Einschränkungen (Application
Control) sind je nach Produkt z.B. auf Benutzerebene
möglich.
Das Whitelisting Prinzip kann je nach eingesetztem Produkt auch
auf andere Elementtypen angewandt werden, sodass nicht nur
Software, sondern auch z.B. USB-Geräte per Whitelist verwaltet
werden können.
Blacklisting, der umgekehrte Ansatz von Whitelisting, wird vor allem von Virenscannern verwendet. Beim Blacklisting wird eine Liste von unerwünschten Anwendungen geführt. Ziel ist, dass eben diese unerwünschten Anwendungen an der Ausführung gehindert werden. Idealerweise ist somit auf der Blacklist jegliche unerwünschte Software aufgeführt, was jedoch prinzipiell unmöglich ist. Programmiert ein Angreifer eine neue Schadsoftware, kann sie selbstverständlich noch nicht auf der Blacklist erfasst sein. Daher kann ein Virenscanner prinzipiell keinen Schutz vor neuen Bedrohungen bieten. Das Blacklisting Verfahren ist daher immer bewusst lückenhaft, da eben nur die zu einem bestimmten Zeitpunkt bekannten, älteren Bedrohungen verlässlich blockiert werden können. Mechanismen wie Sandboxing und verhaltensbasierte Analysen sollen dieses Problem lindern. Jedoch stellt auch die verhaltensbasierte Analyse nur ein weiteres Blacklisting Verfahren dar, da eben statt der Schadsoftware selbst nun das schadhafte Verhalten in der Blacklist definiert werden muss. Vollführt eine Schadsoftware auf eine Art seine Schadfunktion, die dem Virenscanner nicht bekannt ist, so schlägt auch die verhaltensbasierte Analyse nicht an. In der Konsequenz sind Hersteller von Virenscannern daher darauf angewiesen, dass ihre eigenen Kunden Opfer von Schadsoftware werden und dem Hersteller diese bislang noch unbekannte Schadsoftware zur Verfügung stellen. Dadurch kann der Hersteller die Schadsoftware und deren schadhaftes Verhalten in die Blacklist aufnehmen.
Obwohl Blacklist Befürworter den sicherheitstechnisch enormen Vorteil von Application Whitelisting einräumen, argumentieren sie, dass eine Whitelist mit allen benötigten Anwendungen komplex und nur schwer zu verwalten sei. Das Erstellen und Pflegen einer Whitelist sei zu aufwändig. Dies gelte insbesondere auch für das Aktualisieren dieser Liste, da ein modernes Netzwerk stetigen Veränderungen unterworfen ist. Diese Argumente stammen vor allem aus Erfahrungen mit frühen Versionen von Application Whitelisting Lösungen und trafen auf diese auch zu. Moderne Application Whitelisting Lösungen haben sich diesen Problemen angenommen und durch einen hohen Grad an Automatisierung gelöst. So bietet z.B. das Produkt SecuLution Application Whitelisting automatisiertes Patchmanagement und Softwareverteilung, sodass die Kritikpunkte der Blacklist Befürworter nicht mehr greifen.
Whitelist Befürworter räumen zwar ein, dass Installation und Wartung eines Virenscanners einfacher ist, als bei einer Application Whitelisting Lösung, aber sie führen ebenso an, dass die grundsätzliche Wirksamkeit von Virenscannern / Blacklisting in der Praxis heute nachweislich widerlegt sei. Virenscanner hatten im Jahre 2017 nahezu eine 100% Verbreitung auf Windows Computern. Gleichzeitig wurden pro Monat hunderttausende Systeme trotz aktivem Virenscanner infiziert. Diese Tatsache wird von Whitelist Befürwortern als Nachweis des Versagens des Blacklisting Verfahrens gewertet. Der Virenscanner habe gerade in dem Moment, wo man ihn brauchte, die Schadsoftware nicht verhindern können, da die Schadsoftware dem Virenscanner unbekannt war. Zudem wurden Fälle bekannt, wo erst durch den Einsatz des Virenscanners Sicherheitslücken eröffnet wurden, die ohne den Virenscanner nicht vorhanden waren (siehe Weblinks). Die Kritiker unterstellen Virenscannern nur eine Scheinsicherheit beim Anwender zu erzeugen und haben dieser Produktkategorie daher den Beinamen „Schlagenöl“ (Snake Oil) verpasst. Schlussendlich spiele die „Einfachheit“ dieser Produktkategorie auch keine Rolle, denn wenn der Schutz im Ernstfall nicht schützt, sei es unerheblich, wie einfach der unwirksame Schutz zu installieren und pflegen sei.
Der Fachbegriff für die Absicherung von Computersystemen gegen die Ausführung von unerwünschter Software ist „Endpoint Protection“. Außerhalb der Fachwelt ist jedoch der Begriff „Virenscanner“ fälschlicherweise zum Synonym für „Endpoint Protection“ geworden. Daher wird von Anwendern bei der Suche nach einer neuen Lösung dieser Aufgabenstellung wiederum häufig nach einem „Virenscanner“ gesucht, wodurch moderne und technisch überlegene Produkte oftmals gar nicht erst in Erwägung gezogen werden.
Security Experten raten mittlerweile vom Einsatz von Virenscannern ab und empfehlen den Einsatz von Application Whitelisting.
Authentifizierung des Elements – Eine zentrale Bedeutung kommt dem verwendeten Verfahren zu, das fragliche Element fälschungssicher zu authentifizieren. Hier stehen historisch verschiedene Methoden zur Verfügung, die sich bezüglich der erzeugten Sicherheit erheblich unterscheiden. Da frühe Application Whitelisting Produkte noch keine Features implementiert hatten, den Aufwand der Erstellung und der Pflege der Whitelist durch Automatisierung auf ein von einem Administrator machbares Maß zu reduzieren, wurden z.B. von Microsofts Applocker sehr einfach zu verwaltende Methoden der Authentifizierung bereitgestellt, die aber gleichzeitig trivial zu umgehen oder zu fälschen sind und daher den Anspruch einer modernen Sicherheitslösung heute nicht erfüllen können. Das nach dem Stand der Technik einzig sichere Verfahren zur Authentifizierung des Elements ist ausschließlich das Hash Verfahren. Die anderen hier aufgeführten Verfahren werden nur aus historischen Gründen genannt und sollten in der Praxis nicht eingesetzt werden.
Sicherheit +++++ Aufwand +++++
sämtliche Software aus einem freigegebenen Pfad ist erlaubt. Dies
ist trivial zu umgehen und stellt keinen nennenswerten Schutz dar.
Sicherheit +++++ Aufwand +++++
Software ist nur abhängig von ihrem Namen erlaubt. Dies ist
trivial zu umgehen, und stellt keinen nennenswerten Schutz dar.
Sicherheit +++++ Aufwand +++++
Als Merkmal für eine Authentifizierung wird (ebenfalls Microsoft
Applocker) eine ggf. vorhandene digitale
Signatur einer Software ausgewertet. Obwohl hier das
erzeugte Maß an Sicherheit deutlich höher als bei den vorgenannten
Methoden ist, ist doch der Aufwand zur Implementation sehr hoch,
da selbst Microsoft selbst nur einen kleinen Bruchteil ihrer
eigenen Software digital signiert (>95% aller Dateien einer
Windows 10 Installation sind nicht digital signiert). Zum Einsatz
dieser Methode muss der Administrator eine eigene Zertifizierungsstelle
(Certificate Authority) pflegen und warten. Darüber hinaus müssen
alle Anwendungen und Updates vor dem Ausrollen zunächst vom
Administrator signiert werden. Nur diese signierte Version kann
dann auf den einzelnen Computern ausgeführt werden. Ein spontanes
Freischalten von kurzfristig benötigter Software ist nicht oder
nur mit ganz erheblichem Mehraufwand möglich, was dieses Verfahren
in der Praxis bereits für die meisten Einsatzfälle
disqualifiziert. Darüber hinaus wurden in der Vergangenheit Lücken
in diesem Verfahren bekannt, die bereits aktiv durch Angreifer
ausgenutzt wurden. Wird beispielsweise der Private Key einer als
vertrauenswürdig definierten Hersteller Signatur kompromittiert,
kann ein Angreifer sich seine eigenen Signatur für seine
Schadsoftware generieren und damit ungestört und unbemerkt das
signaturbasierte Whitelisting umgehen.
Sicherheit +++++ Aufwand +++++
Das NTFS
Dateisystem ermöglicht die Auswertung, von welchem
Benutzeraccount eine Datei angelegt wurde. Application
Whitelisting Lösungen, die auf dieser Auswertung basierten, waren
relativ einfach zu handhaben und boten bereits ein deutlich
höheres Schutzniveau. Die Schwäche war auch hier das Problem der
Umsetzung von kurzfristig benötigten Anpassungen, sowie dem
Umgehbarkeit des Schutzes von sämtlichem Code, der mit erhöhten
Rechten ausgeführt wurden. Bei Angriffen auf Systemdienste konnte
die Schadsoftware die Berechtigungen im Dateisystem selbst
festlegen, wodurch diese Methode keinen Schutz mehr bot.
Sicherheit +++++ Aufwand +++++
Ähnlich wie bei der Auswertung der Dateirechte werden auch hier
Windows Rechte ausgewertet (Benutzeraccount des Elternprozesses).
Auch bei dieser Methode wurden Lücken bekannt, da auch hier ein
Angriff auf bereits mit Systemrechten laufende Prozesse den Schutz
komplett ausgehebelt hat. z.B. der Angriff „WannaCry“
konnte trotz aktivem Microsoft Applocker ungehindert Systeme
befallen, da von Wannacry der SMB1
Dienst von Windows angegriffen wurde. Dieser läuft unter Windows
mit Systemrechten. Da WannaCry damit als Kindprozess
dieses SMB1 Systemprozesses ausgeführt wurde, wurde der Code
grundsätzlich erlaubt.
Sicherheit +++++ Aufwand +++++
Ein Hash ist eine Zeichen- und Zahlendarstellung fester Länge
(z.B. SHA256: 256 bits) einer beliebig langen Eingabedatei, hier
vergleichbar mit einem Fingerabdruck. Basiert das Application
Whitelisting Verfahren bei der Authentifizierung des fraglichen
Elementes auf dem Abgleich von Hashes, muss nicht jede Software
vollständig als komplette Binärdatei in der Whitelist enthalten
sein, sondern nur ihr Hash (Fingerabdruck). Die Verwendung von
kryptografisch sicheren Hashes stellt sicher, dass auf diese Weise
ausschließlich eindeutig authentifizierte Software ausgeführt
werden kann. Hashes stellen damit das mit Abstand sicherste
Verfahren der Authentifizierung von Elementen dar, bringen aber
auch die größten Anforderungen an die Verwaltung der Application
Whitelisting Lösung mit sich. SecuLution Application Whitelisting
Software löst diese Anforderungen unter anderem mit einem Cloud
basierten Reputationsservice mit Hashes vertrauenswürdiger
Software. Aus dieser Datenbank können automatisiert Einträge in
die Whitelist-Datenbank des Anwenders übernommen werden. Das
Patchmanagement wird so z.B. extrem vereinfacht. Der Administrator
kann die Hashes von jeglicher von ihm als vertrauenswürdig
eingestufter Software (z.B. selbst programmierter Spezialsoftware)
mit einem Klick seiner individuellen in seinem Netzwerk gültigen
Whitelist-Datenbank hinzufügen. Dadurch wird die Sicherheit von
Hash basierendem Application Whitelisting mit der größtmöglichen
Einfachheit bei der Administration kombiniert.
Application Whitelisting über Hashes ist die derzeit sicherste und verlässlichste Methode der Endpoint Protection.
Application Whitelisting schützt daher unter anderem vor folgenden Angriffen:
Die Anfang Januar 2018 bekannt gewordenen Sicherheitslücken Meltdown und Spectre erlauben es Angreifern auf Daten laufender Prozesse zuzugreifen, auf die eigentlich kein Zugriff möglich sein sollte. Zugrunde liegt ein Problem im Design der Prozessorarchitektur, dass sich durch Patches nur „lindern“ (mitigate), aber nicht lösen lässt.
„Microsoft rät dazu, bei hoch belasteten Windows-Servern
abzuwägen, ob der Patch nötig ist, etwa weil außer der
Server-Anwendung keine fremde Software läuft und andere
Sicherheitssysteme wie Firewalls greifen. Es ist zu hoffen, dass
Performance-Einbußen nach optimierten Updates wieder abnehmen.“
- c't [1]
Im September 2016 wurde die Sicherheitslücke „Eternalblue“ allgemein publik gemacht, durch die ein Angreifer eine Lücke in dem auf allen Windows Computern vorhandenen SMB1 Dienst ausnutzen konnte, um Schadsoftware einzuschleusen. Die Lücke wurde zu diesem Zeitpunkt bereits mindestens fünf Jahre lang von der NSA genutzt, um Systeme anzugreifen. Die Ransomware Wannacry nutzte diese Lücke und legte damit zehntausende Systeme lahm.
Auch in all den vorgenannten Fällen ist das Ziel des Angreifers, eine Schadsoftware auf dem angegriffenen System auszuführen. Dies wird durch (Hash-basiertes) Application Whitelisting zuverlässig verhindert.
Obwohl einige Hersteller von Virenscannern den Begriff „Whitelisting“ in ihren Marketing Dokumenten verwenden, liefern (Stand 2018) lediglich folgende Hersteller tatsächliche Application Whitelisting Produkte, die den in diesem Dokument beschriebenen Prinzipien entsprechen:
Deutscher Application Whitelisting Hersteller, Gegründet 2001, patentierte Verfahren zur Automatisierung, Marktführer im Bereich Application Whitelisting
In den vergangenen 10 Jahren sind immer wieder neue Anbieter im Bereich Application Whitelisting auf den Markt getreten und nach einigen Monaten wieder verschwunden. Es werden hier nur Anbieter aufgelistet, die seit mindestens 8 Jahren kontinuierlich unter der selben Firmierung auftreten und eine Installationsbasis von mindestens 100.000 Endpoints haben.
Whitelisting ist ein Prinzip, das sich über das Verbieten unbekannter Software hinaus grundsätzlich auch zur Lösung anderer Aufgabenstellungen der IT Sicherheit anwenden lässt. Moderne Lösungen bieten über die oben beschriebene Funktionalität der Kontrolle der ausführbaren Software hinaus weitere wichtige Sicherheitsfunktionen. Exemplarisch werden im Folgenden die Features von SecuLution Whitelisting beschrieben.
Der begriffe Application Control wird oftmals (auch von
Herstellern) synonym mit Application Whitelisting verwendet.
Tatsächlich macht erst Application Whitelisting eine Application
Control möglich. Durch die Whitelist besteht eine Auswahl von
erwünschten Elementen, die in Ihren Nutzungsberechtigungen weiter
eingeschränkt werden können. Nimmt man beispielsweise ein Element
A welches bisher auf der Whitelist für alle Anwender ausführbar
ist und beschränkt diese Berechtigung, z.B. durch Auswahl eines
oder mehrer Active Directory Objekte, die künftig berechtigt sein
sollen dieses Element auszuführen, so hat man eine Application
Control eingerichtet.
Wie auch beim Prinzip des Whitelisting ist es nicht nötig weitere
Verbote für alle übrigen Nutzer einzurichten, es genügt definiert
zu haben welche Benutzer, Gruppen oder Hosts künftig nun dieses
Element benutzen können, alle übrigen nicht genannten sind
automatisch ausgeschlossen. Kombinationen und Definition von
mehreren Nutzern für ein Element sind ohne Weiteres möglich.
SecuLution beispielsweise erlaubt die mehrfache Auswahl von Active
Directory Objekten oder IP Netzmasken
für die Application Control.
Die Kontrolle ausführbaren Codes ist nicht auf nativen Code (kompilierten Code wie .exe oder .dll Dateien) beschränkt, auch Java Code kann verwaltet werden. Java Script hingegen läuft im Browser und nicht im Betriebssystem und wird daher nicht geprüft. Über eine Sicherheitslücke einer erlaubten Software (z.B. Browser) eingeschleuste nativ auf dem Computer ausgeführte Software wird jedoch von SecuLution Application Whitelisting erkannt und verhindert.
Ebenso wie Software auf der Whitelist geführt werden kann, lassen sich USB Geräte per Hash eindeutig identifizieren und führen das Prinzip der Whitelist logisch weiter. SecuLution ermöglicht sowohl Eingabegeräte wie Mäuse und Tastaturen aufzunehmen, als auch Datenspeicher wie externe Festplatten oder Speichersticks. Datenspeicher, die per USB angeschlossen werden können, stellen Lücken zum Informations- und Datenabfluss dar und können auf diese Weise simpel und effektiv geschlossen werden. Ebenso wie Software, können auch für USB Geräte die gleichen Einschränkungen wie in der Application Control eingerichtet werden. Erlaubte Geräte funktionieren so nur an ausgewählten Computern, oder nur im Zusammenhang mit dem korrekten Active Directory Nutzer.
Aufbauend auf dem Whitelisting von USB-Geräten trägt diese Funktion vor allem zur Data Loss Prevention bei (DLP). Sensible Daten wie Firmengeheimnisse oder personenbezogene Daten auf betriebseigenen USB Datenspeicher können teilweise oder komplett verschlüsselt werden. Innerhalb des Unternehmensnetzwerks sind die Daten jederzeit lesbar und der Verschlüsselungsvorgang ist vom Benutzer nicht zu bemerken. Steckt man den Speicher an einem PC außerhalb des Unternehmensnetzwerks an, wird dieser trotzdem erkannt, jedoch sind alle Daten nun verschlüsselt und können lediglich durch ein Zusatzprogramm, das sich auf dem Speichergerät befindet, nach einer Passworteingabe durch den jeweiligen Nutzer wieder lesbar}} gemacht werden. Die Passwörter sind hierbei ebenfalls individuell und Nutzerbezogen erstellbar. Sensible Daten sind so auch auf Reisen sicher und können dank kryptographisch sicherer Verschlüsselung nicht in die falschen Hände fallen. Einziger Schaden ist der Verlust des Speichergeräts.
Application Whitelisting schützt Endpoints innerhalb des abgesicherten Netzwerks durch die stetige Verbindung zum Whitelist Datenbankserver. Auf diese Weise sind Änderungen der Konfiguration oder Freigaben von neuen Hashes / Dateien ohne zeitliche Verzögerung möglich. Verliert ein Host diese Verbindung können keine Anfragen mehr an diesen Server gestellt werden. Das kann sowohl bei einem Ausfall des Servers der Fall sein aber auch wenn ein Host das gesicherte Netzwerk verlässt. Für diesen Fall speichert der SecuLution Agent alle jemals erlaubten Hashes der Software, die von diesem Endpoint verwendet wurden in einem verschlüsselten lokalen Cache. So sind alle Hosts auch unterwegs geschützt und es ist sichergestellt, dass keine unbekannten Anwendungen gestartet werden können. Auch im Offline Modus kann ein Administrator einem außer Haus befindlichen Anwender über Challenge-Response Verfahren individuell benötigten Hashes / Software freigeben.
Die kostenlosen und frei zugänglichen Inhalte dieser Webseite wurden mit größtmöglicher Sorgfalt erstellt. Der Anbieter dieser Webseite übernimmt jedoch keine Gewähr für die Richtigkeit und Aktualität der bereitgestellten kostenlosen und frei zugänglichen journalistischen Ratgeber und Nachrichten. Die Nutzung dieser Webseiteninhalte erfolgt auf eigene Gefahr. Allein durch den Aufruf dieser kostenlosen und frei zugänglichen Inhalte kommt keinerlei Vertragsverhältnis zwischen dem Nutzer und dem Anbieter zustande, insoweit fehlt es am Rechtsbindungswillen des Anbieters.
Die Webseite enthält Verlinkungen zu anderen Webseiten ("externe Links"). Diese Webseiten unterliegen der Haftung der jeweiligen Seitenbetreiber. Bei Verknüpfung der externen Links waren keine Rechtsverstöße ersichtlich. Auf die aktuelle und künftige Gestaltung der verlinkten Seiten hat der Anbieter keinen Einfluss. Die permanente Überprüfung der externen Links ist für den Anbieter ohne konkrete Hinweise auf Rechtsverstöße nicht zumutbar. Bei Bekanntwerden von Rechtsverstößen werden die betroffenen externen Links unverzüglich gelöscht.
Die auf dieser Webseite durch den Anbieter veröffentlichten
Inhalte unterliegen dem deutschen Urheberrecht und
Leistungsschutzrecht. Alle vom deutschen Urheber- und
Leistungsschutzrecht nicht zugelassene Verwertung bedarf der
vorherigen schriftlichen Zustimmung des Anbieters oder
jeweiligen Rechteinhabers. Dies gilt vor allem für
Vervielfältigung, Bearbeitung, Übersetzung, Einspeicherung,
Verarbeitung bzw. Wiedergabe von Inhalten in Datenbanken oder
anderen elektronischen Medien und Systemen. Dabei sind Inhalte
und Rechte Dritter als solche gekennzeichnet. Das unerlaubte
Kopieren der Webseiteninhalte oder der kompletten Webseite ist
nicht gestattet und strafbar. Lediglich die Herstellung von
Kopien und Downloads für den persönlichen, privaten und nicht
kommerziellen Gebrauch ist erlaubt.
Diese Website darf ohne schriftliche Erlaubnis nicht durch
Dritte in Frames oder iFrames dargestellt werden.
Die Verwendung der Kontaktdaten des Impressums zur gewerblichen Werbung ist ausdrücklich nicht erwünscht, es sei denn der Anbieter hatte zuvor seine schriftliche Einwilligung erteilt oder es besteht bereits eine Geschäftsbeziehung. Der Anbieter und alle auf dieser Website genannten Personen widersprechen hiermit jeder kommerziellen Verwendung und Weitergabe ihrer Daten.
Soweit besondere Bedingungen für einzelne Nutzungen dieser Website von den vorgenannten Nummern 1. bis 4. abweichen, wird an entsprechender Stelle ausdrücklich darauf hingewiesen. In diesem Falle gelten im jeweiligen Einzelfall die besonderen Bedingungen.
Quelle: Disclaimer Vorlage von fachanwalt.de