Lässt sich ein unvermeidliches Übel vermeiden?

False-Positives und wie man sie bekämpft

Inhalt

Der Scan eines beliebigen Objekts (Datei oder Webressource) mit einem IT-Sicherheitsprogramm führt zwangsläufig zu einer Entscheidung zwischen den beiden Möglichkeiten ‚gefährlich oder nicht gefährlich‘? Die AV-Engine stellt die Hypothese auf, dass das entsprechende Objekt schädlich ist und überprüft dann, ob dem so ist oder nicht. Da es das ideale Antiviren-Programm leider nicht gibt, sind manchmal Fehler möglich, die sich in zwei Kategorien unterteilen lassen. Die Fehler des ersten Typs treten dann auf, wenn ein ungefährliches Objekt als gefährlich eingestuft wird, die Fehler des zweiten Typs, wenn umgekehrt ein schädliches Objekt als ungefährlich anerkannt wird. Der Terminologie aus der mathematischen Statistik folgend, werden die Fehler des ersten Typs als falsch-positiver Befund – False Positives – bezeichnet.

Die Entwickler von Sicherheitssystemen haben unterschiedliche Einstellungen zu diesen falsch-positiven Diagnosen. Einige halten die Bekämpfung von Infektionen für vorrangig. Kaspersky Lab nimmt diesbezüglich eine ganz klare Position ein: Die Vermeidung von falsch-positiven Resultaten ist nicht weniger wichtig als die Bekämpfung von Schadsoftware. Im Folgenden betrachten wir verschiedene Methoden zur Bekämpfung von False Positives am Beispiel unseres Unternehmens.

Negatives Positiv

Für die Anwender bedeutet eine falsche Detektion durch die Sicherheitslösung, dass eine benötigte Webressource nicht verfügbar ist oder ein tatsächlich ungefährliches Programm nicht benutzt werden kann. Doch ganz egal, wie wichtig eine konkrete Datei oder Website auch ist, eine falsche Detektion ist immer mit Unannehmlichkeiten verbunden, die zur Störung der Geschäftsabläufe führen können.

Wird ein Programm, das erst kürzlich von einem Nutzer geschrieben wurde, fälschlicherweise als gefährlich eingestuft, so wird sich der Autor mit einer Beschwerde an den AV-Anbieter wenden, die Analysten werden den Fehler einräumen und ihn mit dem nächsten Update der Datenbanken beseitigen. Normalerweise vergehen darüber mehrere Stunden, vorausgesetzt, das Programm macht wirklich nichts, das den Rahmen dessen sprengt, was für legitime Programme zulässig ist.

Eine ganz andere Situation tritt dann ein, wenn eine Komponente des Betriebssystems als schädlich eingestuft wird. Das kann weitaus schwerer wiegende Folgen nach sich ziehen, bis hin zum Systemabsturz. Kommt es in einem großen Unternehmen zu einer solchen Fehldiagnose, so ist ein Arbeitsausfall – und folglich auch ein Verdienstausfall – unausweichlich. Daher sind wir der Meinung, dass die Hersteller von Sicherheitssystemen solcher Art von Fehlern überaus gewissenhaft gegenüberstehen und versuchen sollten, sie auf ein Minimum zu reduzieren.

Gründe für False Positives

Zunächst einmal müssen unbedingt die Gründe für derartige Fehler gefunden werden. Sie können vielfältiger Natur sein.

Ein möglicher Grund für eine Fehldiagnose ist der menschliche Faktor – auch ein Virenanalyst ist nicht vor Fehlern gefeit. Man muss allerdings dazu sagen, dass derartige Fälle in der heutigen Zeit tatsächlich überaus selten sind, da praktisch alle Bedrohungen (99%) automatisch detektiert werden.

Ein Fehlalarm kann auch dann ausgelöst werden, wenn die Entwickler legitimer Anwendungen Obfuskationstechnologien (zur Verschleierung des Codes) und Packprogramme (Komprimierung ausführbarer Dateien) benutzen. Diese Methoden werden häufig auch von Cyberkriminellen eingesetzt, um die Analyse von Schadprogrammen zu erschweren, daher könnten die Sicherheitssysteme solche Apps als schädlich einstufen.

Eine falsch-positive Diagnose kann auch auftreten, wenn generische Signaturen verwendet werden, die sich ähnelnde Schadobjekte detektieren. Wir wissen schon seit Langem, dass die meisten schädlichen Objekte häufig Variationen über ein und denselben Code sind. Das bedeutet also, mit „intelligenteren“ Klassifizierungsmethoden lässt sich der Teil, den alle ähnlichen Schadsamples gemein haben, identifizieren und man kann eine einzige Detektionslogik (d.h. Signatur) erstellen, die alle sich ähnelnden Objekte erkennt. Solche zusammenfassenden Signaturen werden von verschiedenen Erkennungssystemen erstellt. Je weiter die von dem System verwendeten Kriterien gefasst sind, mittels derer die ähnlichen Teile von Schadobjekten identifiziert werden, desto größer ist die Wahrscheinlichkeit, dass die Signatur bei einem ähnlichen, jedoch unschädlichen Objekt, Alarm auslöst.

Schließlich kann ein Objekt auch von solchen Technologien fälschlicherweise als schädlich eingestuft werden, die das Verhalten von Programmen analysieren. Wenn beispielsweise eine unbekannte Anwendung plötzlich irgendwelche verdächtigen Veränderungen in der System-Registry vornimmt oder persönliche Daten des Nutzers ins Netz übermittelt, so sollte die Komponente, die die Ereignisse im Betriebssystem verfolgt, Alarm schlagen. Dabei könnte es sich um ein absolut harmloses Programm handeln, das einfach nur nicht sehr häufig verwendet wird.

Der Kampf gegen False Positives

Die potentiellen Folgen von falsch-positiven Befunden sind den Virenanalysten praktisch seit Entstehung der Branche bewusst. Zu der Zeit war die Zahl der Nutzer und der Internetbedrohungen allerdings um ein Tausendfaches geringer, und auch die Antivirendatenbanken wurden nur sehr viel seltener aktualisiert. Daher wurden vor 18 Jahren für die Durchführung eines Antiviren-Scans auch recht simple Methoden angewandt: Die Entwickler verfügten über eine Sammlung kritisch wichtiger sauberer Dateien (in erster Linie System-Dateien) und vor der Veröffentlichung eines Updates scannten sie diese Kollektion einfach mit Hilfe jeder neuen Datenbank. Bei falsch-positiven Alarmen wurde diese Detektion nach dem Lautwerden erster Beschwerden herausgenommen. Das heißt, das Analysten-Team korrigierte die Datenbanken manuell, und eine Bedrohung gelangte gar nicht erst zu einer großen Zahl von Anwendern.

Doch im Laufe der Zeit hat sich der Malware-Strom viele Male vertausendfacht, und sowohl die Schadprogramme als auch die Technologien zur Erkennung schädlicher Objekte sind komplexer geworden. Heute detektiert Kaspersky Lab täglich 325.000 neue schädliche Objekte. Auch das Arsenal der Methoden zur Bekämpfung von Internet-Bedrohungen wurde erweitert: Während die Signatur-basierten Erkennungsmethoden in den neunziger Jahren für den Schutz des Computers noch absolut ausreichend waren, so kommen heute in den Produkten von Kaspersky Lab auch Technologien zur automatischen Verhinderung von Sicherheitslückenausnutzung und Tools zur Kontrolle der Privilegien von Apps zum Einsatz, sowie eine Komponente, die die Ereignisse im Betriebssystem verfolgt und noch eine Reihe anderer Technologien. Hinzu kommt, dass zeitgemäße Datenbanken mit legitimer Software Terrabytes Festplattenplatz belegen würden.

Es wird klar, dass die überholten Methoden zur Vermeidung von falsch-positiven Resultaten unter diesen Umständen nicht angewandt werden können. Moderne Technologien zur Verhinderung dieser Fehler sind weitaus vielfältiger und effizienter. Diese Methoden werden sowohl auf der Etappe der Detektion von schädlichen Objekten und als auch während des Testens und Veröffentlichens der Datenbanken eingesetzt. Darüber hinaus gibt es auch noch eine spezielle Auswahl an Methoden, die es bereits während des Betriebs des Schutzprodukts ermöglichen, die Wahrscheinlichkeit eines falsch-positiven Ergebnisses zu minimieren.

Kontrolle der Signaturen

Es ist eine Binsenweisheit, dass sich False Positives am einfachsten vermeiden lassen, wenn man ausschließlich fehlerfreie Signaturen herausgibt. Daher muss man gerade im Stadium der Erstellung von Signaturen schädlicher Objekte höchste Aufmerksamkeit walten lassen. Doch auch wenn ein Fehler erst später zutage tritt, so bleibt noch immer die Möglichkeit, die Situation schnell zu bereinigen, selbst wenn die Signaturen den Anwendern bereits zugestellt wurden.

Erkennungsstadium (Erstellung statischer Signaturen)

Zuerst analysiert ein separates automatisches Kontrollsystem die statischen Signaturen, die die Virenanalysten der Datenbank manuell hinzugefügt haben. Der Grund dafür ist, dass eine Person, die voll auf die Analyse von Code konzentriert ist, nicht das gesamte Bild sehen kann. Daher wird bei dem Versuch, der Datenbank die Signatur eines Objektes hinzuzufügen, das aufgrund gewisser Kriterien vom System als sauber angesehen wird, dem Analysten der mögliche Fehler automatisch gemeldet, zusammen mit den Argumenten, die für einen Fehler sprechen.

Dann wird zur Untersuchung neuer Signaturen auf False Positives eine Sammlung von Hashes (einzigartige Ergebnisse der Umwandlung von Code nach einem bestimmten Algorithmus) von offensichtlich „sauberen“ Objekten verwendet. Die Signatur, die auf der Basis eines Fragments des Schadcodes erstellt wird, wird auf Übereinstimmung mit den Hashes aus der Kollektion getestet. Wenn ein System entdeckt, dass eine neue Signatur nach einigen Kriterien mit einem Hash-Wert eines legitimen Objekts zusammenfällt, so wird ein anderer Codeabschnitt für die Signatur diesesr Bedrohung ausgewählt.

Überdies führen wir bei Kaspersky Lab eine gesonderte Datenbank mit der „Personalakte“ jedes schädlichen Objekts, das je von Schutztechnologien analysiert wurde. Bei der Erstellung von Kennungen wird die Vergangenheit des zu detektierenden Objekts berücksichtigt — wenn dieses Objekt früher keinerlei Verdacht erregt hat, so wird es einer zusätzlichen Prüfung unterzogen.

Zum Schutz vor Fehlern wird außerdem eine Sammlung von Dateien herangezogen, die früher schon einmal falsch-positive Resultate verursacht haben. Diese Kollektion hilft, die Wiederholung des Vorfalls zu vermeiden, wenn es eine unbedeutende Veränderung an dem Objekt gegeben hat (beispielsweise bei Herausgabe einer neuen Programmversion).

Die Datenbanken der statischen Signaturen werden regelmäßig durch generische Signaturen ergänzt: Wenn das automatische Erkennungssystem eine Vielzahl ähnlicher Schädlinge registriert, so wird für den Kampf gegen diese eine einheitliche Detektionslogik erstellt.

Stadium des Testens und der Herausgabe der Datenbanken

Um sicher zu stellen, dass die Signaturen (sowohl die statischen als auch die generischen) nicht bei „sauberer“ Software Alarm schlagen, werden die fertigen Datenbanken mit Hilfe einer Weißen Liste überprüft, und zwar mit der dynamischen Wissensdatenbank Dynamic Whitelist. Das ist eine riesige, ständig wachsende Kollektion legitimer Software, die zudem zusätzliche Daten über jedes der Objekte enthält (Hersteller, Produktname, letzte Updateversion und vieles mehr). Genaueres über die Dynamic Whitelist erfahren Sie hier.

Bei Kaspersky Lab ist eine eigene Abteilung mit der Pflege und dem rechtzeitigen Aktualisieren dieser Kollektion beschäftigt. Dank einer Vereinbarung, der mehr als sechshundert Softwarehersteller zugestimmt haben, werden die meisten populären Anwendungen dieser Sammlung hinzugefügt, noch bevor sie einem breiten Anwenderkreis als kommerzielles Produkt zur Verfügung gestellt werden.

Besondere Aufmerksamkeit verdient das System, das diesen Scan durchführt. Da der Umfang der Datenbank mit legitimer Software unglaublich groß ist und sie stündlich aktualisiert wird, liegt es auf der Hand, dass ein normaler Server diesen Scan nicht leisten kann. Eigens für diese Aufgabe wurde ein System zur verteilten Datenverarbeitung entwickelt, das für die Lastverteilung Dutzende Server und Datenspeicher verwendet.

Alle Signaturen, die auch nur den leisesten Verdacht erwecken, werden in ein gesondertes Register eingetragen, das man in gewisser Weise mit „potentiell gefährliche Objekte“ betiteln kann. Diese Signaturen werden zusätzlich überprüft, häufig unter Einbeziehung von Analysten.

Schnelles Reagieren (Vermeidung im Betriebszustand)

Wenn die Antiviren-Datenbanken alle vorgesehenen Prüfungen durchlaufen haben, werden sie den Anwendern geschickt. Die verteilte Cloud-Infrastruktur des Kaspersky Security Network erhält Statistiken zu jeder Detektion auf einem Anwenderrechner und verfolgt, wie häufig eine Signatur anschlägt.

Die Analysten, die für die Veröffentlichung der Datenbank-Updates verantwortlich sind, verfolgen weiterhin aufmerksam, wie die Produkte auf die Aktualisierungen reagieren. Registrieren sie eine Anomalie (für eine winzige Zeitspanne ist die Bedrohung bei einer zu großen Zahl von Anwendern aufgetreten), so kann das ein Hinweis auf einen falsch-positiven Alarm sein. In diesem Fall erhalten die Analysten ein Alarmsignal und starten eine weitere Analyse des detektierten Objekts.

Stellt sich aufgrund der Analyse heraus, dass das Objekt fälschlicherweise als schädlich eingestuft wurde, so tritt die Technologie Record Management System in Aktion, mittels derer ein Eintrag innerhalb von Sekunden zurückgerufen werden kann, ebenfalls unter Einsatz des Kaspersky Security Network. Nicht korrekte Signaturen werden ebenfalls aus den Datenbanken entfernt. Wird erkannt, dass eine generische Signatur fälschlicherweise auch ein „sauberes“ Objekt detektiert, so ändern die Analysten die Detektionslogik und korrigieren die Datenbanken. In jedem Fall sind die Fehler bei der nächsten Aktualisierung der Datenbanken behoben.

Fehlerkontrolle in proaktiven Technologien

Es ist nicht ganz einfach in der Entwicklungsphase solche Technologien auf False Positives zu überprüfen, die anomales Verhalten von Programmen auf Anwendercomputern feststellen. Zu bedenken und vorherzusehen, was ein Anwender auf seinem Computer theoretisch alles machen kann, und alle möglichen Verhaltensweisen „sauberer“ Software vorauszusagen, ist schlicht unmöglich. Daher sind es in erster Linie Cloud-Technologien, die die Anwender vor falschen Alarmen proaktiver Technologien schützen.

Wenn das Produkt ein unbekanntes Objekt erkennt, über das keine Informationen in den Antiviren-Datenbanken vorhanden sind, so wird der Hash-Wert dieses Objekts umgehend an die Cloud-Infrastruktur weitergeleitet, die in Sekundenbruchteilen antwortet, was über dieses Objekt bekannt ist. Befindet es sich auf der Weißen Liste vertrauenswürdiger Software, so wird das Objekt als ungefährlich gekennzeichnet.

Überdies ermöglichen Cloud-Technologien die Überprüfung der Vertrauenswürdigkeit der digitalen Signaturen von verdächtigen Dateien sowie die Überprüfung der Reputation des Unternehmens, das das digitale Zertifikat herausgegeben hat. Ist die Reputation tadellos und das Zertifikat echt, so zeugt auch das von der Legitimität des Objekts. Anzumerken ist, dass die Daten über die Reputation eines Unternehmens und über eine Signatur nicht statisch sind. Werden Vorfälle registriert, kann das einen Vertrauensverlust nach sich ziehen, was wiederum bedeuten kann, dass sich auch die Reaktion der Schutzlösung auf dieselben Dateien ändert.

Proaktive Erkennungstools erfordern insbesondere dann besondere Aufmerksamkeit, wenn die Funktionalität eines Produkts aktualisiert wird. Wenn eine aktualisierte Technologie nach Testläufen in einer Lab-Umgebung erstmals unter Feldbedingungen arbeitet, können unvorhergesehene Fehler auftreten. Daher werden neue Schutzmechanismen nicht sofort in allen Produkten aktualisiert, sondern nur etappenweise. Zunächst werden die Updates einer begrenzten Testgruppe zur Verfügung gestellt. Treten dabei keine falsch-positiven Resultate auf, so erhält eine größere Anwendergruppe Zugriff auf die neuen Funktionen. Selbst wenn die neue Technologie also Fehler verursachen sollte, bekommt ein großer Teil der Nutzer es gar nicht mit.

Bekämpfung von False Positives beim Scannen von Webressourcen

Einige spezielle Worte lohnt es über die Technologien zum Schutz falscher Alarme bei der Überprüfung von Webressourcen zu verlieren. Mit Hilfe von Kaspersky Security Network lässt sich die Historie der Reputation einer Ressource verfolgen. Wird schädlicher Content auf einer der Seiten einer Website gefunden, so hängt es von ihrer Reputation ab, ob sie vollständig oder nur teilweise blockiert wird. Ist die Reputation der Website einwandfrei, so blockieren die Lösungen von Kaspersky Lab nicht die gesamte Site, sondern nur die Seite, die eine Bedrohung für die Anwender darstellt.

Außerdem verfolgt das Kaspersky Security Network die Besucherstatistik einer Webressource. Wird eine unter den Nutzern populäre Site als gefährlich eingestuft, so werden die Analysten automatisch davon in Kenntnis gesetzt, die dann eine zusätzliche Überprüfung durchführen. Dadurch können False Positives auf populären Ressourcen vermieden werden.

Fazit

Dass Schutzprodukte falschen Alarm auslösen, ist unvermeidlich – die ideale Lösung gibt es leider nicht. Doch die Aufgabe der Hersteller solcher Schutzlösungen ist es, die falsch-positiven Befunde auf ein Minimum zu reduzieren. Und diese Aufgabe ist machbar.

Die Experten von Kaspersky Lab kontrollieren die Funktion der Schutztechnologien sorgfältig, damit sie keinen Fehler übersehen. Für alle Objekttypen, bei denen eine Bedrohung auftreten könnte (Webseiten, Dateien, Banner, Bootsektoren, Trafficströme und so weiter), gibt es spezielle Mechanismen zur Vermeidung von falsch-positiven Alarmen und eigene Sammlungen offenbar sauberer Objekt.

Bei Kaspersky Lab arbeitet eine spezielle Gruppe daran, die bestehenden Methoden zum Kampf gegen falschen Alarm zu verbessern und neue zu entwickeln. Sie verfolgen jeden Vorfall, analysieren die Ursachen und entwickeln Tools, die verhindern, dass sich dieselben Fehler in der Zukunft wiederholen.

Es ist in erster Linie der Arbeit dieser Gruppe geschuldet, dass bei Tests von Kaspersky Lab-Produkten, durchgeführt von unabhängigen Forschern, praktisch keine falschen Alarme aufgetreten sind.

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.