Science @ Avira

Es ist hinreichend bekannt, dass bei der Entwicklung klassischer Computerarchitekturen die Sicherheit nicht oberste Priorität hatte. Das wollen wir ändern, und zwar mit dem Projekt iTES. Hier wird ein System erstellt, das speziell auf Hochsicherheitsumgebungen abgestimmt ist.

Das aktuelle iTES-System nutzt über virtuelle Maschinen verifizierte Compartments für verschiedene Aufgaben. Ein Compartment enthält ein Betriebssystem und die erforderlichen Programme (z. B. einen Email-Client). Jedes Compartment hat eingeschränkte, individuelle Berechtigungen. Zum Beispiel hat das Browser-Compartment keinen Zugriff auf den Business-Plan. Wenn also ein genutzter Browser auf einem anderen Betriebssystem läuft als der Email-Client, der Zugriff auf kritische Informationen hat, werden die Auswirkungen eines Angriffs abgeschwächt.

ites

Unser Ziel für das Forschungsprojekt iTES ist es das Compartment-System zu erweitern, damit gehackte virtuelle Maschinen erkannt und Gegenmaßnahmen eingeleitet werden können. Wir erkennen kompromittierte Maschinen dadurch, dass wir sie mit verschiedenen Sensoren beobachten (Userspace-Hooking, Speicherforensik und VMI ‒ Virtual Machine Introspection).

Nachdem wir Informationen über die aktuelle Situation in den virtuellen Maschinen gesammelt haben, klassifiziert eine zentrale Komponente den Status der Maschinen entweder als „vertrauenswürdig‟ oder „verdächtig‟. Abhängig davon kann die Maschine gestoppt, analysiert, repariert oder über einem Snapshot wiederhergestellt werden.

Ziel dieses Forschungsprojekts ist es durch die Erstellung eines „Demonstrators“ (eines Alpha-Prototyps) zu lernen und nicht etwa ein Produkt zu programmieren. Das Betriebssystem wird in mehrere Compartments geteilt, an die Antiviren(AV)-Technologie und Hypervisor-Sensoren angehängt werden.

Viele der bahnbrechenden Technologien, die wir für die Erstellung des Demonstrators entwickelt haben, sind bereits in unsere internen Prozesse integriert oder werden dies bald sein. Eines unserer Backend-Systeme im Virenlabor klassifiziert für unsere Kunden schon heute Proben, die auf dieser neuen Technologie basieren.

Klassifikation

Die Identifizierung schädlicher Dateien ist bei der Begegnung mit unbekannter Software die erste Aufgabe des Virenlabors.

Gewöhnlich werden drei Methoden angewandt, um schädliche Codes zu identifizieren.

1. Statisch

Die Statik ist schon seit je her Aviras Stärke und die Methode, mit der wir seit Jahren schädliche Codes identifizieren. Malware kann zum Beispiel durch Exact- und Fuzzy-Hashing-Techniken, Byte-Muster, strukturelle Generiken oder sogar durch künstliche Intelligenz identifiziert werden, während die Engine die Analyse durch die Erfassung von Verhaltensmustern vervollständigt. Dies ist allerdings nicht Teil des Projekts iTES.

2. Dynamisch

Die dynamische Analyse überwacht das Verhalten von Malware. Dies kann entweder auf dem System des Endnutzers (Verhaltensanalyse durch die Antivirensoftware) oder mit Hilfe spezifischer Analysesysteme, wie zum Beispiel Analyse-Sandboxes a la Cuckoo Sandbox oder unserem internen Cloud-fähigen Autodumper-Tool geschehen.

Die Überwachung der Malware muss entsprechend ihrem Typ angepasst werden. Durch die Überwachung der Userspace-API können wir den Dropper der Malware erkennen. Die Sensoren im Systemkern (Kernel) oder darunter müssen Rootkits identifizieren. Kernel-Sensoren sind Treiber, die in Ihrer Antivirensoftware enthalten sind.

Sie haben eine andere, weniger detaillierte Perspektive, können aber nicht so einfach durch die Malware in der Userspace-API getäuscht werden. Noch besser ist es, das Betriebssystem von außerhalb der virtuellen Maschine zu überwachen. Ein bereits erhältliches Tool für diese Aufgabe ist Volatility. Es verwendet einen Speicher-Snapshot von echten oder virtuellen Maschinen und überprüft die Datenstrukturen des Betriebssystems auf Anomalien. Im Rahmen des Projekts iTES haben wir Volatility in eine Cuckoo Sandbox integriert und verwenden sie als zweiten Sensor.

Der Nachteil von Volatility ist, dass es nur einen Snapshot verwendet. Dadurch ist es zwar möglich, die Auswirkungen der Infektion zu beobachten, aber nicht den Prozess, wie das System infiziert wurde. Außerdem werden Userspace-Ereignisse nicht auf einem akzeptablen Qualitätsniveau beobachtet.

Die Virtual Machine Introspection (VMI) setzt in diesem Bereich neue Maßstäbe und wird derzeit von der RUB (Ruhr-Universität Bochum) und dem if(is) (Institut für Internet-Sicherheit) im Rahmen des Projekts iTES erforscht. Durch die Überwachung des Systems mit dem Hypervisor könnten wir eine ähnliche Perspektive wie mit Volatility erzielen – ganz ohne Snapshots erstellen zu müssen.

Bald werden wir wissen, welche Granularität von Daten möglich ist.

3. Reputation

Da wir einen Cloud-Dienst und große Datenbanken auf unseren Backend-Servern haben ist es möglich, spezifische, für Malware typische Verbreitungsmuster zu identifizieren. Verdächtige Muster können durch Skripte definiert und die Regeln folgendermaßen aussehen:

  • Wenn ein Anwender eine Probe ausführt, welche der Cloud bisher noch nicht bekannt und die ungewohnt verpackt ist: eine Warnung auslösen
  • Wenn ein Computer eine unbekannte Datei ausgeführt hat, nachdem der Anwender eine verdächtige Freehoster-Seite besucht hat und wenn auf dem Computer ein veraltetes PDF-Reader-Programm läuft: eine Warnung auslösen
  • Und so weiter.

Dieser Bereich wird vom Projekt iTES nicht abgedeckt.

Weitere Blog-Posts werden bald näher auf die Details eingehen.

TL;DR
Avira investiert in die wissenschaftliche Forschung, damit wir unseren Kunden immer erstklassigen Schutz bieten können.

For Science,
Thorsten Sick

Bundesministerium_Bildung_DE

Dieser Artikel ist auch verfügbar in: Englisch

I use science to protect people. My name is Thorsten Sick and I do research projects at Avira. My last project was the ITES project where I experimented with Sandboxes, Sensors and Virtual Machines. Currently I am one of the developers of the new Avira Browser