Language-Based Anomaly Detection in Client-Cloud Interaction
Total Page:16
File Type:pdf, Size:1020Kb
Author Harald Lampesberger, MSc Submission Christian Doppler Laboratory for Client-Centric Cloud Computing, Institute for Application Oriented Knowledge Processing First Supervisor Prof. Dr. Klaus-Dieter Schewe LANGUAGE-BASED Second Supervisor Prof. Dr. Joachim Biskup ANOMALY DETECTION April 2016 IN CLIENT-CLOUD INTERACTION Doctoral Thesis to confer the academic degree of Doktor der technischen Wissenschaften in the Doctoral Program Technische Wissenschaften JOHANNES KEPLER UNIVERSITY LINZ Altenberger Str. 69 4040 Linz, Austria www.jku.at DVR 0093696 Sworn Declaration I hereby declare under oath that the submitted Doctoral Thesis has been written solely by me without any third-party assistance, information other than provided sources or aids have not been used and those used have been fully documented. Sources for literal, paraphrased and cited quotes have been accurately credited. The submitted document here present is identical to the electronically submitted text document. Linz, 20th April 2016 Harald Lampesberger iii iv Abstract For consuming a cloud service, clients and services need to communicate using a variety of languages and protocols. The Extensible Markup Language (XML) is the foundation of electronic data exchange in many existing and upcoming cloud standards and subject of this thesis. XML-based protocols are usually declared in the industry standard XML Schema (XSD), and schema validation is a first line of defense against syntactically undesirable protocol messages. However, schemas are not enforced in some XML-based protocols and may not be available, and XSD best practices recommend extension points for loose composition. Schema extension points are in fact wildcards. They exist in many protocol specifications, and they break schema validation. An attacker can add arbitrary content into a document at an extension point without being rejected by schema validation. This is exploited by various attacks, i.e., the signature wrapping attack, and in the last years, several signature wrapping attacks were successfully executed against cloud management interfaces and identity providers. Syntactic schema validation can be effective against this attack but requires a language representation without extension points. In this thesis, I propose a security monitor for language-based anomaly detection in XML-based interaction. The security monitor has a learner and validator component. The learner infers an automaton from syntactically acceptable messages, and the validator utilizes the automaton for identifying syntactically non-acceptable messages in an inter- action. Only learning from positive examples is considered because XML attacks are highly service specific, and violating examples are usually not available. The first contribution is extending XML visibly pushdown automata (XVPAs) toward datatyped XVPAs (dXVPAs) for representing mixed-content XML in the learner. A dXVPA is translated to a character-data XVPA (cXVPA) for efficient stream validation in the validator. The second contribution is a lexical datatype system for generalizing text contents in mixed-content XML by inferring datatypes according to lexical subsumption and a preference heuristic. The third contribution is a set of algorithms for an incremental and set-driven learner. For dealing with poisoning attacks in realistic deployments, the learner has unlearning and sanitization capabilities for removing once-learned examples and trimming low-frequent states and transitions. A prototype has been experimentally evaluated in two synthetic and two simulated scenarios. Realistic data was generated from an Apache Axis2 web service by simulating state-of-the-art XML attacks. The proof of concept showed promising results: the learner only needed a few examples to converge to a stable language representation. Detection rates for all datasets were between 82.35% and 100% without false positives and outperformed traditional schema validation. Poisoning attacks were also successfully removed by unlearning and sanitization. Use cases for integrating the proposed security monitor are, e.g., a middleware security component, an anomaly detection component in XML firewalls, and a client browser plug-in for filtering XML-based resources. v vi Kurzfassung Für die Nutzung eines Cloud-Services müssen Klienten und Services mit einer Vielfalt an Sprachen und Protokollen kommunizieren. Die Extensible Markup Language (XML) nimmt hier eine spezielle Rolle ein, da viele aktuelle und zukünftige Standards im Cloud Computing auf XML-basierten Protokollen aufbauen. XML steht deshalb im Zentrum dieser Arbeit. XML-basierte Protokolle sind typischerweise im Industriestandard XML-Schema (XSD) spezifiziert. Schema-Validierung ist daher eine erste Instanz um syntaktisch unerwünschte Protokollnachrichten zu filtern. Schemas sind in manchen Protokollen jedoch nicht zwingend erforderlich und daher möglicherweise nicht verfügbar, und sogenannte Erweiterungspunkte haben sich in XSD für die lose Komposition von Schemas durchgesetzt. Schema-Erweiterungspunkte sind Platzhalter, die in vielen Protokollspezifikationen auftreten und letztendlich Schema- Validierung aushebeln. Konkret kann ein Angreifer trotz Validierung beliebigen Inhalt in einem XML-Dokument platzieren. Das kann für verschiedene Angriffe ausgenützt werden, z.B. für einen Signature-Wrapping-Angriff. In den letzten Jahren wurden mehre- re erfolgreiche Signature-Wrapping-Agriffe auf Cloud-Management-Schnittstellen und Identitätsprovider demonstriert. Syntaktische Validierung von Dokumenten könnte den Signature-Wrapping-Angriff verhindern, wenn keine Erweiterungspunkte in der Sprach- repräsentation sind. Diese Dissertation beschreibt einen Sicherheitsmonitor für sprachbasierte Anoma- lieerkennung in XML-basierter Interaktion. Der Sicherheitsmonitor hat eine Lern- und eine Validierungskomponente. Die Lernkomponente erlernt einen Automaten aus syntak- tisch akzeptablen Protokollnachrichten, und die Validierungskomponente benützt diesen Automaten, um syntaktisch nicht-akzeptable Protokollnachrichten in der Interaktion zu identifizieren. Das Lernverfahren konzentriert sich ausschließlich auf Positivbeispiele, da XML-Angriffe sehr servicespezifisch sind und dadurch die Verfügbarkeit von Gegenbei- spielen üblicherweise nicht gegeben ist. Der erste Beitrag umfasst Erweiterungen des XML Visibly Pushdown Automaten (XVPA) mittels Datentypen (dXVPAs) als Sprachdarstellung von mixed-content XML in der Lernkomponente. Ein dXVPA lässt sich wiederum in einen character-data XVPA (cXVPA) übersetzen, welcher für effiziente Stream-Validierung in der Validierungskom- ponente herangezogen wird. Der zweite Beitrag ist ein lexikalisches Datentypensystem für das Generalisieren von Textinhalten in mixed-content XML durch Datentypen. Pas- sende Datentypen für einen Textinhalt werden durch lexikalische Subsumtion und einer Präferenzheuristik ermittelt. Der dritte Beitrag umfasst Algorithmen für einen schrittwei- sen und mengenbasierten Lerner. Um den praktischen Umgang mit Poisoning-Angriffen in realistischen Umgebungen zu erleichtern, hat der Lerner zusätzliche Fähigkeiten: er kann bereits gelernte Beispiele wieder vergessen, und durch das Entfernen von wenig frequentierten Zuständen und Zustandsübergängen können versteckte Poisoning-Angriffe bereinigt werden. vii Ein Softwareprototyp wurde experimentell in zwei synthetischen und zwei simulierten Szenarios evaluiert. Mithilfe eines Apache-Axis-2-Webservices und durch Simulation von aktuellen XML-Angriffen wurden realistische Daten erzeugt. Die Experimente zeig- ten vielversprechende Ergebnisse. Der Lerner benötigte in allen Szenarien nur wenige Beispiele für die Konvergenz zu einer stabilen Sprachrepräsentation. Des Weiteren waren die Erkennungsraten in allen Szenarien zwischen 82,35% und 100%, frei von Falschalar- men und übertrafen traditionelle Schema-Validierung. Poisoning-Angriffe konnten durch gezieltes Vergessen und Bereinigen erfolgreich entfernt werden. Anwendungsfälle für die Integration des vorgeschlagenen Sicherheitsmonitors wären eine Middleware-Sicherheitskomponente, eine Anomalieerkennungskomponente in einer XML Firewall, und ein klientenseitiges Browser Plug-In für die Analyse von XML- basierten Webressourcen. viii Acknowledgments First and foremost, I wish to thank my advisor Prof. Dr. Klaus-Dieter Schewe for his excellent guidance, continuous support, and patience over the last four years. He has taught me the rigorous way, sparked my interest in theoretical computer science, and given me the scientific freedom to pursue my ideas. Becoming a scientist under your supervision was a great experience, and I will forever be thankful to you. I would also like to express my gratitude to Prof. Dr. Joachim Biskup who kindly agreed to act as a co-advisor and to examine my work. Thank you for having given me the opportunity to discuss my research at TU Dortmund and for the invaluable feedback at an important stage of my dissertation project. Many thanks also go to fellow labmates and friends, Dr. Károly Bósa, Andreea Buga, Ursula Haiberger, Roxana Holom, Tania Nemes, Mariam Rady, Mircea Boris Vleju, and Ciprian Zavoianu.˘ Thank you for all the fruitful discussions, the funny moments, the nice atmosphere in the laboratory, and all the mental support during writing this thesis. Furthermore, I would like to thank my friends Matthias Pfötscher, Florian Wex, and Philipp Winter for the inspiring discussions in- and outside academia. Lastly, and most importantly, I send my sincerest gratitude to Verena,