Malware (Computerviren, Trojaner, etc.) stellen heutzutage eines der größten Sicherheitsprobleme im Internet dar. Antiviren-Firmen bekommen typischerweise zehntausende neue Malware Dateien pro Tag. Um mit diesen großen Datenmengen zurecht zukommen, haben Forschung und Industrie gleichermaßen an der Entwicklung von automatisierten, dynamischen Malware-Analyse- Systemen gearbeitet. Solche Systeme führen ein zu untersuchendes Programm in einer speziell präparierten Umgebung aus und erstellen einen Bericht, der das Verhalten des Programms wiedergibt. Anubis, ein Programm, das größtenteils vom Autor entwickelt wurde, ist ein Beispiel solch eines automatisierten, dynamischen Analyse-Systems.<br />Um eine Analyse durchzuführen, überwacht Anubis den Aufruf von wichtigen Windows-API Funktionen und System-Calls, zeichnet Netzwerkverkehr auf, und verfolgt Datenströme. Für jede zu untersuchende Datei wird ein Bericht erstellt, der die Aktivitäten (u.a. welche Dateien, Windows-Registry- Keys, Windows-Services erzeugt worden sind) des Programms beinhaltet.<br />Anubis erhält Dateien durch ein öffentliches Web-Interface. Da die Dateien von einer Vielzahl an Benutzern stammen, stellen die von Anubis gesammelten Dateien eine umfassende und repräsentative Auswahl der gängigen Viren dar.<br />In dieser Dissertation stellen wir neuartige Techniken vor, um die Anwendung von automatisierter, dynamischer Analyse im großen Stil zu verbessern:<br />Wir versuchen typisches Malware-Verhalten zu ergründen. Dafür werten wir die Anubis-Analyse-Resultate von fast einer Million Dateien aus, untersuchen Trends und Evolutionen von bösartigem Verhalten über einen Zeitraum von ungefähr zwei Jahren und untersuchen den Einfluss von Polymorphismus auf Malware-Statistiken.<br />Automatisierte, dynamische Analyse-Systeme erlauben die Analyse tausender bösartiger Programme pro Tag. Jedes Analyseresultat liegt in der Form eines Anubis-Reports vor, der die Aktionen eines Programms zusammenfasst.<br />Jetzt ist man allerdings mit dem Problem konfrontiert, tausende Analyseresultate manuell bearbeiten zu müssen. Vor kurzem haben Forscher mit der Entwicklung von automatisierten Clustering-Systemen zur Identifizierung von Dateien mit ähnlichem Verhalten begonnen. Dadurch hat ein Analyst einer A/V-Firma die Möglichkeit, sich auf interessante, neue Bedrohungen zu konzentrieren, während er Reporte von bereits bekannten Malware-Programmen ignorieren kann. Leider skalieren bisherige Clustering-Systeme schlecht und haben noch Probleme damit, beobachtetes Verhalten gut genug zu generalisieren, um wirklich Malware-Familien zu erkennen.<br />Wir präsentieren in dieser Dissertation ein skalierbares Clustering-System zur Identifizierung und Gruppierung von Malware-Programmen mit ähnlichem Verhalten. Zu diesem Zweck führen wir zuerst eine dynamische Analyse durch, um eine Aufzeichnung der Funktionsaufrufe zu erhalten. Danach generalisieren wir diese Aufzeichnungen zu sogenannten Verhaltensprofilen.<br />Ein Verhaltensprofil charakterisiert das Verhalten eines Malware-Programms auf einer höheren Abstraktionsebene. Diese Verhaltensprofile dienen als Eingabe für unseren effizienten Clustering-Algorithmus, der es uns erlaubt Malware- Programme um eine Größenordnung schneller zu clustern als bisherige Techniken.<br />Weiters haben wir unser System mit Malware-Sammlungen aus der realen Welt getestet. Die Resultate demonstrieren, dass unsere Technik in der Lage ist Ähnlichkeiten zwischen Malware-Programmen zu erkennen und entsprechende Gruppen zu bilden. Dabei erzielen wir genauere Resultate als bisherige Techniken. Um die Skalierbarkeit des Systems zu zeigen, haben wir für eine Menge von fünfundsiebzigtausend Malware-Programmen in weniger als drei Stunden erfolgreich ein Clustering erstellt.<br />Innerhalb der letzten drei Jahre stieg die Anzahl an Malware-Programmen, die sich im Umlauf befinden, um den Faktor 10. Leider ist anzunehmen, dass die Anzahl an neuen Malware-Dateien in Zukunft noch weiter zunehmen wird. Damit die automatisierte, dynamische Analyse mit dieser Entwicklung Schritt halten kann - ohne weitere Kosten für neue Hardware zu verursachen - haben wir eine Technik entwickelt, die die Zeit für die Analyse einer bestimmten Menge von Programmen drastisch reduziert. Unsere Lösung basiert auf der Erkenntnis, dass die große Anzahl an neuen Malware-Programmen vor allem durch einfache, teilweise automatisierte Mutationen einiger weniger Malware Programme entsteht. Um Analysezeit zu sparen, schlagen wir eine Technik vor, die eine mehrmalige, vollständige Analyse von polymorphen Programmen vermeidet. In einem Experiment mit unserem Prototypen gelang es uns, bei einer Auswahl von 10.922 Dateien in 25,25 Prozent der Fälle eine vollständige Analyse zu vermeiden.<br />
de
Malicious software (or malware) is one of the most pressing and major security threats facing the Internet today. Anti-virus companies typically have to deal with tens of thousands of new malware samples every day. To cope with these large quantities, researchers and practitioners alike have developed automated, dynamic malware analysis systems. These systems automatically execute a program in a controlled environment and produce a report describing the program's behavior. Anubis, a program mainly developed by the author, is an example of such a system.<br />To perform the analysis, Anubis monitors the invocation of important Windows API calls and system services, it records the network traffic, and it tracks data flows. For each submission, reports are generated that provide comprehensive reports about the activities of the binary under analysis.<br />Anubis receives malware samples through a public web interface and a number of feeds from security organizations and anti-malware companies. Because the samples are collected from a wide range of users, the collected samples represent a comprehensive and diverse mix of malware found in the wild.<br />This thesis presents novel approaches for performing large-scale dynamic malware analysis:<br />A View on Current Malware Behaviors. We aim to shed light on common malware behaviors. To this end, we evaluate the Anubis analysis results for almost one million malware samples, study trends and evolution of malicious behaviors over a period of almost two years, and examine the influence of code polymorphism on malware statistics.<br />Scalable, Behavior-Based Malware Clustering. Automated, dynamic analysis systems permit the analysis of thousands of malicious binaries per day. Each analysis results in the creation of an analysis report summarizing a program's actions. Of course, the problem of analyzing the reports still remains. Recently, researchers have started to explore automated clustering techniques that help to identify samples that exhibit similar behavior.<br />This allows an analyst to discard reports of samples that have been seen before, while focusing on novel, interesting threats. Unfortunately, previous techniques do not scale well and frequently fail to generalize the observed activity well enough to recognize related malware.<br />In this thesis, we propose a scalable clustering approach to identify and group malware samples that exhibit similar behavior. For this, we first perform dynamic analysis to obtain the execution traces of malware programs.<br />These execution traces are then generalized into behavioral profiles, which characterize the activity of a program in more abstract terms. The profiles serve as input to an efficient clustering algorithm that allows us to handle sample sets that are an order of magnitude larger than previous approaches.<br />We have applied our system to real-world malware collections. The results demonstrate that our technique is able to recognize and group malware programs that behave similarly, achieving a better precision than previous approaches.<br />To underline the scalability of the system, we clustered a set of more than 75 thousand samples in less than three hours.<br />Improving the Efficiency of Dynamic Malware Analysis. During the last three years, the number of malware programs appearing each day has increased by a factor of ten, and this number is expected to continue to grow. To keep pace with these developments without causing even more hardware costs for operating dynamic analysis systems, we have developed a technique that drastically reduces the overall analysis time. Our solution is based on the insight that the huge number of new malicious files is due to mutations of only a few malware programs. To save analysis time, we suggest a technique that avoids performing a full analysis of the same polymorphic file multiple times. In an experiment conducted on a set of 10,922 randomly chosen executable files, our prototype implementation was able to avoid a full dynamic analysis in 25.25 percent of the cases.<br />