TY - THES A1 - Prasse, Paul T1 - Pattern recognition for computer security T1 - Mustererkennung für Computersicherheit N2 - Computer Security deals with the detection and mitigation of threats to computer networks, data, and computing hardware. This thesis addresses the following two computer security problems: email spam campaign and malware detection. Email spam campaigns can easily be generated using popular dissemination tools by specifying simple grammars that serve as message templates. A grammar is disseminated to nodes of a bot net, the nodes create messages by instantiating the grammar at random. Email spam campaigns can encompass huge data volumes and therefore pose a threat to the stability of the infrastructure of email service providers that have to store them. Malware -software that serves a malicious purpose- is affecting web servers, client computers via active content, and client computers through executable files. Without the help of malware detection systems it would be easy for malware creators to collect sensitive information or to infiltrate computers. The detection of threats -such as email-spam messages, phishing messages, or malware- is an adversarial and therefore intrinsically difficult problem. Threats vary greatly and evolve over time. The detection of threats based on manually-designed rules is therefore difficult and requires a constant engineering effort. Machine-learning is a research area that revolves around the analysis of data and the discovery of patterns that describe aspects of the data. Discriminative learning methods extract prediction models from data that are optimized to predict a target attribute as accurately as possible. Machine-learning methods hold the promise of automatically identifying patterns that robustly and accurately detect threats. This thesis focuses on the design and analysis of discriminative learning methods for the two computer-security problems under investigation: email-campaign and malware detection. The first part of this thesis addresses email-campaign detection. We focus on regular expressions as a syntactic framework, because regular expressions are intuitively comprehensible by security engineers and administrators, and they can be applied as a detection mechanism in an extremely efficient manner. In this setting, a prediction model is provided with exemplary messages from an email-spam campaign. The prediction model has to generate a regular expression that reveals the syntactic pattern that underlies the entire campaign, and that a security engineers finds comprehensible and feels confident enough to use the expression to blacklist further messages at the email server. We model this problem as two-stage learning problem with structured input and output spaces which can be solved using standard cutting plane methods. Therefore we develop an appropriate loss function, and derive a decoder for the resulting optimization problem. The second part of this thesis deals with the problem of predicting whether a given JavaScript or PHP file is malicious or benign. Recent malware analysis techniques use static or dynamic features, or both. In fully dynamic analysis, the software or script is executed and observed for malicious behavior in a sandbox environment. By contrast, static analysis is based on features that can be extracted directly from the program file. In order to bypass static detection mechanisms, code obfuscation techniques are used to spread a malicious program file in many different syntactic variants. Deobfuscating the code before applying a static classifier can be subjected to mostly static code analysis and can overcome the problem of obfuscated malicious code, but on the other hand increases the computational costs of malware detection by an order of magnitude. In this thesis we present a cascaded architecture in which a classifier first performs a static analysis of the original code and -based on the outcome of this first classification step- the code may be deobfuscated and classified again. We explore several types of features including token $n$-grams, orthogonal sparse bigrams, subroutine-hashings, and syntax-tree features and study the robustness of detection methods and feature types against the evolution of malware over time. The developed tool scans very large file collections quickly and accurately. Each model is evaluated on real-world data and compared to reference methods. Our approach of inferring regular expressions to filter emails belonging to an email spam campaigns leads to models with a high true-positive rate at a very low false-positive rate that is an order of magnitude lower than that of a commercial content-based filter. Our presented system -REx-SVMshort- is being used by a commercial email service provider and complements content-based and IP-address based filtering. Our cascaded malware detection system is evaluated on a high-quality data set of almost 400,000 conspicuous PHP files and a collection of more than 1,00,000 JavaScript files. From our case study we can conclude that our system can quickly and accurately process large data collections at a low false-positive rate. N2 - Computer-Sicherheit beschäftigt sich mit der Erkennung und der Abwehr von Bedrohungen für Computer-Netze, Daten und Computer-Hardware. In dieser Dissertation wird die Leistungsfähigkeit von Modellen des maschinellen Lernens zur Erkennung von Bedrohungen anhand von zwei konkreten Fallstudien analysiert. Im ersten Szenario wird die Leistungsfähigkeit von Modellen zur Erkennung von Email Spam-Kampagnen untersucht. E-Mail Spam-Kampagnen werden häufig von leicht zu bedienenden Tools erzeugt. Diese Tools erlauben es dem Benutzer, mit Hilfe eines Templates (z.B. einer regulären Grammatik) eine Emailvorlage zu definieren. Ein solches Template kann z.B. auf die Knoten eines Botnetzes verteilt werden. Dort werden Nachrichten mit diesem Template generiert und an verschiedene Absender verschickt. Die damit entstandenen E-Mail Spam-Kampagnen können riesige Datenmengen produzieren und somit zu einer Gefahr für die Stabilität der Infrastruktur von E-Mail-Service-Providern werden. Im zweiten Szenario wird die Leistungsfähigkeit von Modellen zur Erkennung von Malware untersucht. Malware bzw. Software, die schadhaften Programmcode enthält, kann Web-Server und Client-Computer über aktive Inhalte und Client-Computer über ausführbare Dateien beeinflussen. Somit kann die die reguläre und legitime Nutzung von Diensten verhindert werden. Des Weiteren kann Malware genutzt werden, um sensible Informationen zu sammeln oder Computer zu infiltrieren. Die Erkennung von Bedrohungen, die von E-Mail-Spam-Mails, Phishing-E-Mails oder Malware ausgehen, gestaltet sich schwierig. Zum einen verändern sich Bedrohungen von Zeit zu Zeit, zum anderen werden E-Mail-Spam-Mails oder Malware so modifiziert, dass sie von aktuellen Erkennungssystemen nicht oder nur schwer zu erkennen sind. Erkennungssysteme, die auf manuell erstellten Regeln basieren, sind deshalb wenig effektiv, da sie ständig administriert werden müssen. Sie müssen kontinuierlich gewartet werden, um neue Regeln (für veränderte oder neu auftretende Bedrohungen) zu erstellen und alte Regeln anzupassen bzw. zu löschen. Maschinelles Lernen ist ein Forschungsgebiet, das sich mit der Analyse von Daten und der Erkennung von Mustern beschäftigt, um bestimmte Aspekte in Daten, wie beispielsweise die Charakteristika von Malware, zu beschreiben. Mit Hilfe der Methoden des Maschinellen Lernens ist es möglich, automatisiert Muster in Daten zu erkennen. Diese Muster können genutzt werden, um Bedrohung gezielt und genau zu erkennen. Im ersten Teil wird ein Modell zur automatischen Erkennung von E-Mail-Spam-Kampag\-nen vorgestellt. Wir verwenden reguläre Ausdrücke als syntaktischen Rahmen, um E-Mail-Spam-Kampagnen zu beschreiben und E-Mails die zu einer E-Mail-Spam-Kampagne gehören zu identifizieren. Reguläre Ausdrücke sind intuitiv verständlich und können einfach von Administratoren genutzt werden, um E-Mail-Spam-Kampagnen zu beschreiben. Diese Arbeit stellt ein Modell vor, das für eine gegebene E-Mail-Spam-Kampagne einen regulären Ausdruck vorhersagt. In dieser Arbeit stellen wir ein Verfahren vor, um ein Modell zu bestimmen, das reguläre Ausdrücke vorhersagt, die zum Einen die Gesamtheit aller E-Mails in einer Spam-Kampagne abbilden und zum Anderen so verständlich aufgebaut sind, dass ein Systemadministrator eines E-Mail Servers diesen verwendet. Diese Problemstellung wird als ein zweistufiges Lernproblem mit strukturierten Ein- und Ausgaberäumen modelliert, welches mit Standardmethoden des Maschinellen Lernens gelöst werden kann. Hierzu werden eine geeignete Verlustfunktion, sowie ein Dekodierer für das resultierende Optimierungsproblem hergeleitet. Der zweite Teil behandelt die Analyse von Modellen zur Erkennung von Java-Script oder PHP-Dateien mit schadhaften Code. Viele neu entwickelte Malwareanalyse-Tools nutzen statische, dynamische oder eine Mischung beider Merkmalsarten als Eingabe, um Modelle zur Erkennung von Malware zu bilden. Um dynamische Merkmale zu extrahieren, wird eine Software oder ein Teil des Programmcodes in einer gesicherten Umgebung ausgeführt und das Verhalten (z.B. Speicherzugriffe oder Funktionsaufrufe) analysiert. Bei der statischen Analyse von Skripten und Software werden Merkmale direkt aus dem Programcode extrahiert. Um Erkennungsmechanismen, die nur auf statischen Merkmalen basieren, zu umgehen, wird der Programmcode oft maskiert. Die Maskierung von Programmcode wird genutzt, um einen bestimmten schadhaften Programmcode in vielen syntaktisch unterschiedlichen Varianten zu erzeugen. Der originale schadhafte Programmcode wird dabei erst zur Laufzeit generiert. Wird der Programmcode vor dem Anwenden eines Vorhersagemodells demaskiert, spricht man von einer vorwiegend statischen Programmcodeanalyse. Diese hat den Vorteil, dass enthaltener Schadcode einfacher zu erkennen ist. Großer Nachteil dieses Ansatzes ist die erhöhte Laufzeit durch das Demaskieren der einzelnen Dateien vor der Anwendung des Vorhersagemodells. In dieser Arbeit wird eine mehrstufige Architektur präsentiert, in der ein Klassifikator zunächst eine Vorhersage auf Grundlage einer statischen Analyse auf dem originalen Programmcode trifft. Basierend auf dieser Vorhersage wird der Programcode in einem zweiten Schritt demaskiert und erneut ein Vorhersagemodell angewendet. Wir betrachten dabei eine Vielzahl von möglichen Merkmalstypen, wie $n$-gram Merkmale, orthogonal sparse bigrams, Funktions-Hashes und Syntaxbaum Merkmale. Zudem wird in dieser Dissertation untersucht, wie robust die entwickelten Erkennungsmodelle gegenüber Veränderungen von Malware über die Zeit sind. Das vorgestellte Verfahren ermöglicht es, große Datenmengen mit hoher Treffergenauigkeit nach Malware zu durchsuchen. Alle in dieser Dissertation vorgestellten Modelle wurden auf echten Daten evaluiert und mit Referenzmethoden verglichen. Das vorgestellte Modell zur Erkennung von E-Mail-Spam-Kampagnen hat eine hohe richtig-positive Rate und eine sehr kleine falsch-positiv Rate die niedriger ist, als die eines kommerziellen E-Mail-Filters. Das Modell wird von einem kommerziellen E-Mail Service Provider während des operativen Geschäfts genutzt, um eingehende und ausgehende E-Mails eines E-Mails-Servers zu überprüfen. Der Ansatz zur Malwareerkennung wurde auf einem Datensatz mit rund 400.000 verdächtigen PHP Dateien und einer Sammlung von mehr als 1.000.000 Java-Script Dateien evaluiert. Die Fallstudie auf diesen Daten zeigt, dass das vorgestellte System schnell und mit hoher Genauigkeit riesige Datenmengen mit wenigen Falsch-Alarmen nach Malware durchsuchen kann. KW - malware detection KW - structured output prediction KW - pattern recognition KW - computer security KW - email spam detection KW - maschninelles Lernen KW - Computersicherheit KW - strukturierte Vorhersage KW - Klassifikation KW - Vorhersage KW - Spam KW - Malware Y1 - 2016 UR - https://publishup.uni-potsdam.de/frontdoor/index/index/docId/10025 UR - https://nbn-resolving.org/urn:nbn:de:kobv:517-opus4-100251 ER -