Das wunderbare Whitelisting (im Gegensatz zum Blacklisting)

17 Okt 2014

Viele Menschen sehen im Schutz vor Schadprogrammen vor allem die Entdeckung von Viren durch Signaturen. Allerdings ist das nur eine Seite der Antivirus-Medaille. Manche würden sogar sagen, dass die signaturbasierte Erkennung – im Grunde eine Art Blacklisting – die weniger wirksame Seite dieser Medaille darstellt. Auf der anderen Seite steht das Whitelisting, also das Erlauben harmloser Software, und damit das Gegenteil des Blockierens schädlicher Software.

Was ist Blacklisting?

Lassen Sie mich das mit unserer speziellen Kaspersky-Technologie erklären, dem Kaspersky Security Network (KSN). Wenn ein Anwender ein Kaspersky-Produkt installiert, wird ihm angeboten, kostenlos am KSN teilzunehmen. Nimmt er dieses Angebot an, wird der zu einem Teil einer verteilten Infrastruktur, über die sicherheitsrelevante Informationen verarbeitet werden. Wenn zum Beispiel ein KSN-Nutzer in Indien durch einen brandneuen Virus infiziert wird, erstellt Kaspersky Lab eine Signatur, über die dieser Virus entdeckt werden kann und fügt diese Signatur seiner Datenbank hinzu, so dass kein weiterer Kaspersky-Nutzer von diesem Virus infiziert werden kann.

Einfach gesagt, ist das ein Blacklisting. Wir erstellen eine Liste schädlicher Dinge und halten diese Dinge damit von Ihrem Computer fern. Das Blacklisting funktioniert sehr gut, wenn es zu 99,9 Prozent effizient ist und es jährlich nur etwa 10.000 neue schädliche Programme geben würde. Doch es ist nicht gut genug, wenn es zwar zu 99,9 Prozent effizient ist, aber 10 Millionen neue schädliche Programme pro Jahr erscheinen.

Was ist Whitelisting?

Auch hier möchte ich wieder Kaspersky-Technologie und Branchenbegriffe nutzen, um zu erklären, wie das Whitelisting funktioniert. In diesem Fall sprechen wir von einem Prozess namens „Default Deny“ (Standard-Ablehnung). Dabei würde eine Sicherheitslösung alle Programme blockieren, außer sie wurden explizit zugelassen. Dafür benötigen Sie eine Whitelist der erlaubten Programme.

Diese Art des Default-Deny-Whitelisting wird vor allem in Firmen eingesetzt, denn dort hat meist eine zentrale Stelle Kontrolle darüber, was die Anwender benötigen. Man kann recht einfach voraussagen, welche Programme für die Arbeit benötigt werden und welche man ignorieren kann. Zudem bleibt die Liste der erlaubten Programme in einer Firmenumgebung meist über längere Zeit gleich. Bei Heimanwendern gibt es dagegen einige Fallstricke, denn es ist nur schwer vorauszusagen, was ein bestimmter Anwender benötigt und welche Programme er nutzen will.

„Default Deny“ gegen „Vertrauenswürdige Programme“

Doch die Kaspersky-Experten haben eine Möglichkeit gefunden, die Default-Deny-Prinzipien für Heimanwender anzupassen – dafür gibt es in den Kaspersky-Produkten das Modul der „vertrauenswürdigen Programme“. Im Grunde stellen die vertrauenswürdigen Programme eine dynamisch aktualisierte Whitelist von Programmen dar, die gegen eine Reihe von Kriterien und Daten aus dem KSN getestet wurden.

Mit anderen Worten: Unsere dynamische Whitelist ist eine umfassende und laufend aktualisierte Wissensdatenbank bestehender Programme. Sie enthält Informationen über eine Milliarde einzigartiger Dateien – von populären Programmen, etwa Office-Paketen, Browsern und Bildanzeigeprogrammen, bis zu vielen anderen Programmen, die nur selten eingesetzt werden.

Im Grunde stellen die vertrauenswürdigen Programme eine dynamisch aktualisierte Whitelist von Programmen dar, die gegen eine Reihe von Kriterien und Daten aus dem KSN getestet wurden.

Mit zusätzlichen Informationen von fast 450 Partnern, vor allem Software-Entwicklern, minimiert diese Datenbank das Auftreten so genannter False Positives (Fehlalarme), da sie sogar den Inhalt von Updates kennt, bevor diese von den Entwicklern ausgeliefert werden.

Die Vertrauenskette

Doch was ist mit den Programmen, die wir nicht kennen? Manche Programme und Prozesse erzeugen neue Apps und es ist unmöglich für unsere Whitelist, da den Überblick zu behalten. So kann es zum Beispiel vorkommen, dass eine Software für den Download eines Updates ein spezielles Modul starten muss, das sich mit den Servern des Softwareherstellers verbindet und die neue Programmversion herunterlädt. Dieses Update-Modul ist nichts anderes als ein neues Programm, das vom Originalprogramm erstellt wird und zu dem es vielleicht in der Whitelist noch keine Daten gibt. Da dieses Programm aber von einem vertrauenswürdigen Programm erstellt und gestartet worden ist, wird es ebenfalls als vertrauenswürdig angesehen. Diesen Prozess nennt man auch „Trust Chain“, die Vertrauenskette.

Ganz ähnlich kann auch ein automatisch heruntergeladenes Update, das sich vom alten Programm unterscheidet, freigegeben werden, indem zum Beispiel seine digitale Signatur oder sein Zertifikat überprüft werden. Eine dritte Möglichkeit kommt ins Spiel, wenn sich ein Programm unerwartet verändert und zudem nicht signiert ist. In diesem Fall kann die Vertrauenskette die Domain, von der das Programm heruntergeladen wurde, mit der Liste vertrauenswürdiger Domains vergleichen, die normalerweise zu bekannten Softwareherstellern gehören. Ist eine Domain vertrauenswürdig, gilt das auch für das neu heruntergeladene Programm. Wird eine Domain aber irgendwann einmal zur Verbreitung von Schadprogrammen verwendet, wird sie aus der Liste der vertrauenswürdigen Domains gelöscht.

Zu guter Letzt

Wie Sie sich vielleicht denken können, wissen die Angreifer auch ganz gut darüber Bescheid, was wir auf der Schutzseite so machen. Unter anderem deshalb finden sie gerne Sicherheitslücken in populären Programmen und missbrauchen diese Lücken, um die oben genannten Schutzmechanismen zu umgehen, indem sie schädliche Handlungen von vertrauenswürdigen Programmen ausführen lassen.

Um etwas dagegen tun zu können, haben unsere Entwickler ein System namens „Security Corridor“ (Sicherheitskorridor) entwickelt. Dieses Modul ergänzt die dynamische Whitelist, indem es sicherstellt, dass zugelassene Programme nur Aktionen ausführen, die sie ausführen sollen.

Andrey Ladikov vom Whitelisting and Cloud Infrastructure Research Team erklärt dazu: „Die Logik eines Browser ist zum Beispiel, Webseiten anzuzeigen und Dateien herunterzuladen. Aktionen wie die Änderung von Systemdateien oder Disk-Sektoren sind dem Browser grundsätzlich fremd. Ein Textprogramm ist dafür da, Textdokumente zu öffnen und zu speichern, aber nicht, neue Programme auf die Festplatte zu speichern und diese zu starten.“ Wenn also zum Beispiel Ihr Grafikprogramm auf einmal anfängt, Ihr Mikrofon zu nutzen, wird das Programm als verdächtig markiert werden.

Welche Computer sind geschützt?

Die dynamische Whitelist ist nur in Kaspersky-Produkten zu finden: Kaspersky Internet Security, Kaspersky Internet Security Multi-Device und Kaspersky PURE bieten diese Schutzfunktion.

Weitere Artikel

Die Kaspersky-Experten haben nicht einen, nicht zwei, sondern drei weitere Artikel zur Whitelisting-Technik geschrieben. Wenn Sie also tiefer in die Materie einsteigen möchten, finden Sie hier ausführliche technische Informationen.