• Keine Ergebnisse gefunden

Interaktive Unterstützung für Malware Klassifikation

N/A
N/A
Protected

Academic year: 2022

Aktie "Interaktive Unterstützung für Malware Klassifikation"

Copied!
61
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universität Konstanz

Fachbereich für Informatik und Informationswissenschaften

Bachelorarbeit

Interactive Support for Malware Classification - Interaktive Unterstützung für Malware Klassifikation

vorgelegt von: Udo Schlegel eingereicht am: 14. 04. 2016

Studiengang: Information Engineering

Anfertigung im Fachgebiet: Datenanalyse und Visualisierung

Fachbereich für Informatik und Informationswissenschaften 1. Gutachter: Prof. Dr. Daniel A. Keim

2. Gutachter: Jun-Prof. Dr. Bela Gipp

(2)
(3)

Kurzfassung

Diese Arbeit soll zeigen wie durch Interaktion eine Klassifikation für Malware Samples unterstützt werden und wie dadurch neues Wissen über die Malware Samples erlangt werden kann. Dabei wird mittels eines interaktiven Programmes eine Klassifikation durchgeführt in der durch Feature Selection, Klassifikatorwahl und über Einstellungen die Klassifikation verbessert werden kann. Mittels einer erweiterten Confusion Matrix, die mit Treemaps in den Zellen der Matrix ausbaut wurde, soll die Feature Selection vereinfacht werden und neue Schlüsse aus bestimmten miss-klassifizierten Samples ge- schlossen werden können. Außerdem soll gezeigt werden, dass es möglich ist squarified Treemaps miteinander zu vergleichen um die Klassifikation der Malware Samples zu verbessern. Dabei soll die Feature Selection mithilfe der Treemaps verfeinert werden können, da diese aus den Features der jeweiligen Klassen zusammengebaut sind.

Ferner soll gezeigt werden, dass die erweiterte Confusion Matrix auch auf andere Datensätze angewendet werden kann. Dafür wird ein Intrusion Detection Datensatz eingesetzt, der aus vielen verschiedenen Featuretypen besteht. Es wird gezeigt wie dieser Datensatz mithilfe der erweiterten Confusion Matrix visualisiert werden kann.

(4)
(5)

Abstract

This work shows how iti is possible to improve classification of malware samples through interaction. It will also be shown how new knowledge can be found about some malware samples. An interactive tool will be used to help to improve the classi- fication through feature selection, chosing an classifier and changing different settings.

Through an enhanced confusion matrix, which has treemaps in the cells of the ma- trix, the feature selection will be easier and new ideas can be brought up at specific miss classified samples. Furthermore it will be shown that squarified treemaps can be compared with each other to boost the classification of malware samples. The feature selection shall be improved with the help of the treemaps, because they are built out of the features of the samples.

Further it will be shown that the enhanced confusion matrix can be used with different datasets. To do this an Intrusion Detection dataset will be used, which consists of various feature types. It will be shown how this dataset can be visualized with the enhanced confusion matrix.

(6)
(7)

Inhaltsverzeichnis i

Inhaltsverzeichnis

1 Einleitung 1

1.1 Einleitung . . . 1

1.2 Motivation . . . 3

2 Verwandte Arbeiten 5 2.1 Datensätze . . . 5

2.2 Machine Learning . . . 6

2.3 Visualisierung . . . 7

2.4 Visual Analytics . . . 8

3 Interactive Support for Malware Classification 13 3.1 Einleitung . . . 13

3.2 Datensätze . . . 13

3.2.1 Android Malware - Drebin Datensatz . . . 13

3.2.2 Intrusion Detection - KDD Cup ’99 Datensatz . . . 14

3.3 Architektur . . . 15

3.3.1 Datenbank . . . 16

3.3.2 Server . . . 16

3.3.3 Web Applikation . . . 18

3.4 Views . . . 20

3.4.1 Hauptansicht . . . 20

3.4.2 Feature and Classifier Selection View . . . 21

3.4.3 Enhanced Confusion Matrix View . . . 23

3.4.4 Treemap Compare View . . . 25

3.4.5 Interaktiver Workflow . . . 28

4 Anwendungsfälle und Evaluation 31 4.1 Anwendungsfälle . . . 31

4.1.1 Allgemeine Anwendungsfälle . . . 31 4.1.1.1 Die verschiedenen Klassifikatoren auf F1-Maß vergleichen 31

(8)

4.1.1.2 Featurekategorien Selection . . . 32

4.1.2 Features von Miss-klassifizierte Samples finden . . . 34

4.1.3 Miss-klassifizierte Samples richtig klassifizieren . . . 35

4.2 Evaluation . . . 37

4.2.1 Allgemeine Diskussion . . . 37

4.2.2 Weitere Diskussion . . . 38

5 Fazit und Ausblick 41 5.1 Fazit . . . 41

5.2 Ausblick . . . 42

Literatur 47

Abbildungsverzeichnis 51

Erklärung 53

(9)

1

1 Einleitung

1.1 Einleitung

Mehr und mehr alltägliche Arbeiten werden heute mit dem Computer oder mit dem Smartphone abgewickelt. Dies gilt auch seit längerer Zeit für sensible Daten und beson- ders auch für allerlei Bank bezogene Aktionen. Dadurch wird der Computer und das Smartphone ein immer attraktiveres Ziel für Angriffe jeglicher Art um an sensible Da- ten, wie zum Beispiel Bankdaten zu gelangen. Einer der Wege um tausende von Zielen gleichzeitig anzugreifen heißt Malware. Das ist „malicious software“ oder im deutschen Schadsoftware für Computer, Smartphones und Tablets. Dabei wird versucht durch unterschiedliche Methoden, zum Beispiel Anhängen in Emails, die Schadsoftware auf das Gerät des Zieles zu bekommen und zu installieren. Dies geschieht um später auf alle Daten des Gerätes zuzugreifen und an den Angreifer zu übertragen.

Experten zufolge verdrängt das Smartphone und vor allem auch Tablets den Com- puter immer mehr und ersetzt diesen vermehrt in vielen Bereichen des privaten Lebens.

Aus diesem Grund ist das Ziel von Angreifern in der letzten Zeit von Computern zu Smartphones und Tablets gewechselt. Dabei steht vor allem das von Google entwickel- te Android Betriebssystem im Fokus der Angreifer. Es wurde ursprünglich allein für Smartphones und Tablets entwickelt, jedoch ist es inzwischen auch für andere Geräte verfügbar. Indes steht es im Fokus, da jeder Mobilfunk-Anbieter und darüber hinaus auch jeder Hersteller das Android Betriebssystem gestalten und anpassen kann. So kann jeder Hersteller das Betriebssystem mit eigener Software und Applikationen er- weitern und ausbauen. Jedoch wegen diesen Anpassungen und Erweiterungen bieten viele Mobilfunk-Anbieter und auch Hersteller keine durchgehenden Updates für viele ihrer Modelle mehr an. Da es aus der Sicht dieser nicht mehr lukrativ ist und es sich nicht weiter lohnt diese Modelle zu unterstützen. Dies hat aber den Nachtteil, dass Sicherheitslücken bei vielen Geräten nicht mehr geschlossen werden. So kann bereits nach Auslieferung oder kurzer Benutzung das Modell betroffen sein und keine weiteren Updates mehr erhalten. Meist weiß der Nutzer nicht genügend über Android und diese

(10)

Politik um auf seine Daten besser acht zu geben und hat den Eindruck sein Gerät sei sicher. Dabei begeht er den Fehler und nutzt das Gerät weiter für sensible Daten und sensible Aktionen insbesondere Bankgeschäfte.

Anti-Viren Programme werden dabei schon seit einiger Zeit am Computer gegen Malware eingesetzt. Jedoch erreichen sie erst seit kurzer Zeit und langsam die Smart- phones, da bisher der Fokus nicht auf diesen Geräten lag und es für diese einen eher kleineren Markt für Anti-Viren Programme gab. Um dem Smartphone-Benutzer Si- cherheit bieten zu können, müssen Antiviren-Programme auf Smartphones angepasst werden, da Smartphones meist nicht die selbe Leistung wie Computer aufbringen kön- nen. Dabei steht vor allem die Klassifikation der Malware Samples im Vordergrund um schnell und einfach zu erkennen, wie gegen bestimmte Typen von Malware vorge- gangen werden kann.

Das bedeutet das Anti-Viren Programm muss Dateien richtig klassifizieren können.

Zum einen ob sie Malware sind und zum anderen in welche Malware Familie sie ge- hören. Dies geschieht damit das Programm weiß wie es am besten dagegen vorgehen kann. Klassifikation ist dabei ein Ansatz des Machine Learnings. Machine Learning oder auch maschinelles Lernen beschreibt die „künstliche“ Generierung von Wissen aus Erfahrungen. Hier gibt es vor allem zwei verschiedene Ansätze.

Dabei handelt es sich bei dem einen Ansatz um das „Unsupervised Learning“, im deutschen unbeaufsichtigtes Lernen. Dieser Ansatz handelt davon der Maschine Daten bereitzustellen und sie versuchen zu lassen Gruppen, beziehungsweise Erkenntnisse in diesen Daten zu finden. Der andere Ansatz ist das „Supervised Learning“, im deutschen beaufsichtigtes Lernen. Es handelt sich um die Methode der Maschine zuerst Daten bereitzustellen, die von einem Experten zunächst mit einer Klasse versehen wurden.

Danach die Maschine selbstständig auf den Daten ein Model eines Klassifikators erstel- len zu lassen, welches verwendet werden kann um neue Daten in Klassen einzuordnen.

Dabei spricht man von Klassifikation. Dieses spielt auch für Malware eine wichtige Rolle, da durch dieses Verfahren Malware Samples in normalen Samples erkannt wer- den sollen.

Jedoch generiert Machine Learning nicht immer Wissen, welches für den Nutzer bzw.

Experten leicht verständlich, anwendbar und vor allem nachvollziehbar ist. Um dies zu gewährleisten und um ferner den Nutzer weiter in den Wissensgewinnungsprozess zu integrieren, muss er stärker in den Prozess eingebunden werden. Das heißt er muss in

(11)

1.2 Motivation 3 den Generierungsprozess von Wissen eingreifen und diesen beeinflussen können. Dies geschieht meist interaktiv über verschiedene Input-Möglichkeiten des Nutzers und über Visualisierungen, die der Nutzer leicht verstehen und für sich sinnvoll umsetzen kann.

Diese Visualisierungen sollen sich bei Nutzer-Interaktion verändern und es so dem Nutzer ermöglichen seine Ideen auszuprobieren und direkte Ergebnisse zu erhalten.

Diese dynamische Arbeit zwischen Mensch und Maschine auf Grunde von Daten und Visualisierungen wird Visual Analytics genannt.

„Interaktive Unterstützung für Malware Klassifikation“ versucht die Aspekte von Malware Samples, Machine Learning und Visual Analytics zu verbinden. Dabei soll eine Umgebung geschaffen werden mit deren Hilfe man eine interaktive Unterstützung für die Klassifikation von Malware erschafft. Es steht vor allem die Interaktion des Nutzers im Vordergrund, der mit Hilfe verschiedener Visualiserungsverfahren und Ein- stellmöglichkeiten Wissen aus Malware generieren kann und um dieses Wissen wieder auf neue Malware anwenden zu können.

1.2 Motivation

Die Motivation dieser Arbeit besteht in der Analyse der Klassifikation. Das heißt, warum bestimmte Malware Samples zu falschen Familien klassifiziert werden und an- dere wiederum richtig. Dabei steht vor allem hier die Analyse der verschiedenen Mal- ware Familien im Vordergrund. Der Nutzer soll eine Umgebung haben, die es ihm erlaubt verschiedene Möglichkeiten zu testen und zu evaluieren um Malware Samples zu klassifizieren. Damit soll er die Chance haben die Malware Samples zu erkunden und sich stärker damit zu beschäftigen. Er soll vor allem auch die Möglichkeit bekommen über die Auswahl von verschiedenen Attributen und Klassifikatoren bestimmte Mal- ware Samples besser zu klassifizieren oder heraus zu finden warum bestimmte Malware Samples nicht richtig klassifiziert werden. Darüber hinaus soll er vergleichen können, wie sich bestimmte Malware Samples gegenüber anderen unterscheiden und wie man den Klassifikator dadurch verbessern könnte.

Der Nutzer soll unterstützt werden durch eine kombinierte Visualisierung aus einer Matrix und verschiedenen Treemaps. Eine Treemap ist hier eine verschachtelte hierar- chische Darstellung von Features. Diese wird mittels unterschiedlich großen Rechtecken je nach Feature visualisiert. Dabei wird in den gefüllten Zellen der Matrix eine Tree- map für diese Zelle erstellt. Die Matrix ist hierbei eine Confusion Matrix und steht

(12)

für eine Matrix in der die Zeilen die wirkliche Familie und die Spalten die klassifizier- te Familie der Testdaten darstellt. Die Treemaps sollen weiter nicht nur eine Hilfe in den Zellen der Matrize sein, sondern auch in einer weiteren Visualisierung dem Nutzer ermöglichen verschiedene Malware Familien Treemaps miteinander zu vergleichen.

Außerdem soll der Nutzer die Möglichkeit haben zu erkennen was bestimmte Mal- ware Familien an Merkmalen besitzen, die bei einer Klassifikation zu einem falschen Ergebnis führen. Das heißt, er soll mithilfe der Treemaps einen Einblick in die Mal- ware Familie selbst bekommen. Dabei soll er jedoch auch die Möglichkeit haben miss- klassifizierte Malware Samples als Treemaps zu betrachten, um heraus zu finden was an ihnen so verschieden zu der richtigen Klasse ist und warum es zu einer anderen geordnet wurde. Hierbei soll der Nutzer erkennen können, was die miss-klassifizierte Malware Samples und die falsch klassifizierte Malware Familie an Features teilen.

(13)

5

2 Verwandte Arbeiten

2.1 Datensätze

Im Bezug auf verwandte Arbeiten liegt eine der wichtigsten Arbeiten bei dem „Dre- bin: Effective and explainable detection of android malware in your pocket“ [Arp+14]

Paper und dessen Datensatz anhand welchem die ersten Ideen entstanden sind.

Dieses Paper beschreibt dabei mithilfe von gesammelten Android Malware Samples eine neue Möglichkeit Android Applications auf dem Smartphone zu analysieren und zu klassifizieren. Dabei steht jedoch vor allem die Erklärbarkeit und das maschinelle Lernen im Vordergrund und weniger wie Nutzer und Experten Wissen aus dem gefun- denen Wissen erlangen können. Hier wird dank der Erklärbarkeit nur Support Vector Machines als Klassifikator verwendet, um die Gewichte der Support Vector Machine auf die jeweiligen Malware Familien zu analysieren.

Dieser Ansatz steht gegenüber dieser Arbeit in dem Sinne gegenüber, da hier der Nut- zer und die interaktiven Möglichkeiten für den Nutzer im Vordergrund stehen.

Weiter ist besonders auch das „Mobile-sandbox: Having a Deeper Look into Android Applications“ [Spr+13] wichtig, da in diesem beschrieben wird, wie der Datensatz, der in „Drebin: Effective and explainable detection of android malware in your pocket“

[Arp+14] verwendet wird, in einer Sandbox analysiert und Daten aus den Android Applikationen extrahiert wird. Sandbox bedeutet hier ein Android Betriebssystem wird auf einem normalen Computer simuliert und die Android Applikation wird in dieser ausgeführt. Die meisten Analyse Systeme für Android Applikationen betreiben dabei nur „static analysis“ und nicht „dynamic analysis“.

Dabei bedeutet „static analysis“, dass das Programm nicht ausgeführt wird, sondern die Analyse nur auf der Datei in ihrem Zustand im Speicher angewandt wird. Während bei „dynamic analysis“ die Datei ausgeführt und die Aktionen der Datei unter Laufzeit aufgezeichnet und analysiert werden. „Mobile-sandbox: Having a Deeper Look into An- droid Applications“ betreibt sowohl „static analysis“ als auch „dynamic analysis“ von darauf angewendeten Malware Samples um Malware Analysten ein breites Spektrum

(14)

an Informationen zur weiteren Verarbeitung zu liefern. Das System der Sandbox wird verwendet um eine „dynamic analysis“ zu ermöglichen.

Ferner wurde noch ein Intrusion Detection Datensatz integriert. Dieser stammt aus dem KDD-Cup 19991. Dieser wurde jedoch aus „Cost-based modeling for fraud and intrusion detection: results from the JAM project“ [Sto+00] entnommen.

2.2 Machine Learning

Machine Learning stellt in dieser Arbeit einen weiteren wichtigen Teil dar. Außer den gängigen Machine Learning Algorithmen wurde ein weiterer Klassifikationsalgorithmus implementiert um den Nutzer eine breitere Palette an Möglichkeiten zur Klassifikator- wahl zu bieten. Es wurde „XGBoost: A Scalable Tree Boosting System“ [CG16] hin- zugefügt. Hierbei handelt es sich um eine Gradient Boosting Methode, welche sich vor allem auf Skalierbarkeit und „sparse data“ spezialisiert hat. „Sparse data“ bedeutet Daten, denen Werte fehlen und die auch eine unterschiedliche Anzahl an Mitgliedern einer Klasse haben können. Dabei verwendet es die Gradient Boosting Methode an- gewandt auf Tree Ensembles und hebt sich vor anderen Gradient Boosting Methoden durch die gute Skalierbarkeit hervor. Es wurde deshalb auch bei jedem Team in den Top 10 des KDD Cups 2015 eingesetzt. Auf Kaggle2ist XGBoost einer der Klassifi- katoren die am meisten von gewinnenden Teams benutzt wurde. Hierbei wird dieser sowohl allein, als auch in Kombination mit neuralen Netzen eingesetzt.

„Interactive Machine Learning“[FO03] beschreibt ein Model für interaktives Machi- ne Learning. Es soll dabei die anfängliche Feature Selection übersprungen werden und der Nutzer soll nach dem Trainingsschritt sofort durch Feedback das Trainingsmodel verbessern. Der Nutzer soll durch das Feedback die Möglichkeit erhalten, schnell manu- elle Korrekturen an dem Trainingsmodel vorzunehmen. Dabei ist das Trainingsmodel auch zuständig für die Feature Selection. Der Nutzer soll mithilfe von neu generierten Daten beziehungsweise bisher zurückgehaltenen Daten das Model verfeinern. Er ist jedoch nicht an der Feature Selection beteiligt. Der Klassifikator muss dadurch sehr schnell trainiert werden können, um Feedback liefern zu können. Der Nachteil hierbei

1Der KDD-Cup ist eine Herausforderung die jährlich für die KDD Konferenz gestellt wird. Dabei geht es bei der Konferenz und im Cup um Data Mining und Knowledge Generation.http://www.

kdd.org/kdd-cup

2Kaggle ist eine Online Data Analysis Plattform, welche darauf ausgelegt ist verschiedene Data Analysis Herausforderungen für die Besucher bereit zu stellen.https://www.kaggle.com/

(15)

2.3 Visualisierung 7 besteht darin, dass der Nutzer bereits eine größere Menge an Daten besitzen muss, um das Model überhaupt verfeinern zu können. Außerdem kann es viele Zyklen benötigen bis das Model eine gute Klassifikation liefert.

Der Unterschied zwischen „Interactive Machine Learning“ und dieser Arbeit besteht darin, dass hier der Fokus auf der Feature Selection liegt und dadurch der Nutzer interaktiv in die Klassifikation eingreifen kann. Das Model entscheidet hier nicht di- rekt über die Feature Selection und es wird von vornherein der komplette Datensatz genutzt. Dies gilt sowohl für das Training als auch für das Klassifizieren des Testsatzes.

2.3 Visualisierung

Bei der Visualisierung dieser Arbeit muss noch „Squarified Treemaps“[BHW99] er- wähnt werden. Da dieses den Grundstein legt für diese Arbeit und eine besondere Form der Treemaps darstellt. Hierbei geht es um den Platzaufteilung in der rechtecki- gen Ausgangssituation für die Treemap. Dabei bietet es den Vorteil, dass Treemaps die eine ähnliche Gewichtung der Inhalte haben, auch ähnlich aussehen. Dies bringt den Vorteil das eine visuelle Vergleichbarkeit möglich ist.

„GPLOM: The Generalized Plot Matrix for Visualizing Multidimensional Multi- variate Data“[IML13] beschreibt im Kontrast zu dieser Arbeit einen anderen Ansatz Features zu visualisieren. Hierbei wird eine Matrix der Features erstellt, um diese mit- einander zu vergleichen. Es wird mittels verschiedener anderer Visualsierungstechniken die Beziehung der Features dargestellt, hierbei wird unter anderem Bar Charts, Scatter Plots und Heatmaps verwendet, vgl. Abb. 2.1. Es ist dabei eine Generalisierung der Scatterplot-Matrix.

Der Unterschied zwischen GPLOM und dieser Arbeit besteht im Fokus der Matrix.

Bei dieser Arbeit stehen die Familien beziehungsweise Klassen von Klassifikationspro- blemen in der Matrix im Vordergrund während bei GPLOM in der Matrix die Features im Vordergrund stehen.

(16)

Abbildung 2.1: Die Hauptmatrix von „GPLOM: The Generalized Plot Matrix for Vi- sualizing Multidimensional Multivariate Data“[IML13].

2.4 Visual Analytics

Ein weiterer Ansatz zum Generieren von Wissen aus bereits analysierten und klassifi- zierten Malware Samples ist dabei der „SEEM: A Scalable Visualization for Comparing Multiple Large Sets of Attributes for Malware Analysis“ [Gov+14]. In diesem Paper steht ein Programm im Fokus, welches vom Nutzer auf verschiedene Wege genutzt werden kann. Der Nutzer soll damit neues Wissen über verschiedene Malware Samp- les erlangen und so Malware Familien besser und schneller erkennen können. Hierbei können auch Hinweise darauf gefunden werden, ob es sich bei zwei Malware Samp- les um eine ältere und eine neuere Version der gleichen Malware handelt. Da auch Text-Variablen und vorhandene Kommentare in den jeweiligen Malware Samples an- gezeigt werden, kann es so durch das auffinden von einem Typfehler in dem einen und Verbesserung des Typfehlers in dem anderen Sample sich um eine neuere Version han- deln. Außerdem können so gleiche Funktionen beziehungsweise Code in verschiedenen Malware Samples gefunden werden und dadurch Möglichkeiten entdeckt werden, un- terschiedliche Malware mittels den gleichen Charakteristika zu identifizieren und diese Malware zu entfernen.

Der Unterschied zwischen dieser „SEEM: A Scalable Visualization for Comparing Mul- tiple Large Sets of Attributes for Malware Analysis“ und dieser Arbeit besteht darin, dass sich „SEEM: A Scalable Visualization for Comparing Multiple Large Sets of Attri-

(17)

2.4 Visual Analytics 9 butes for Malware Analysis“ auf schon analysierte und klassifizierte Malware Samples festlegt, wobei „Interaktive Unterstützung für Malware Klassifikation“ den Nutzer, dessen Interaktion und dessen Klassifikation in den Vordergrund stellt und durch ver- schiedene Features die Malware Samples besser zu klassifizieren.

Ein Weg Klassifikation anhand von Visualisierungen insbesondere auch von Tree- maps zu betrachten bietet „Visualizing Validation of Protein Surface Classifiers“[Sar+14].

Dabei wird aufgezeigt wie ein Klassifikator bestimmte Moleküle und ihre Rückstän- de anhand ihrer Oberfläche und Struktur klassifiziert. Es wird auch eine „Confusion Matrix Treemaps“ Glyph-Darstellung vorgestellt. Diese sollen eine raumfüllende Dar- stellung sein, welche eine Hilfe darstellen soll um die Verteilung von richtig und falsch klassifizierten Rückständen an den Molekülen zu analysieren.

Die Confusion Matrix Treemaps werden jedoch nur als „small multiples“ betrachtet und stehen nicht im Vordergrund. In dieser Arbeit aber spielt die erweiterte Confusion Matrix eine wichtige Rolle und soll dem Nutzer helfen.

Mit „EnsembleMatrix: Interactive Visualization to Support Machine Learning with Multiple Classifiers“[Tal+09] soll gezeigt werden wie ein Nutzer mit einfachen Metho- den ein Multiklassenproblem mit Klassifikatoren Ensembles lösen kann. Dabei wird auch eine Confusion Matrix als Hilfe herangezogen, vgl. Abb. 2.2. Jedoch steht dabei die Kombination von Klassifikatoren zu Ensembles im Vordergrund und die Confu- sion Matrix wird nur hervorgehoben um den Nutzer zu zeigen welche Klassifkatoren besser abschneiden. Dem Nutzer soll es möglich sein durch Interaktion Vorteile und Nachteile von verschiedenen Klassifikatoren zu erkennen und so die Eigenschaften der Klassifikatoren zu erlernen. Dabei kann der Nutzer selbst verschiedene Gewichtungen für einzelne Klassifikatoren so anpassen, dass das Ensemble wie von ihm gewünscht lernt und die weiteren Daten klassifiziert.

Hierbei unterscheidet es sich von dieser Arbeit, da die Confusion Matrix in „Ensem- bleMatrix: Interactive Visualization to Support Machine Learning with Multiple Clas- sifiers“ nicht weiter mit Informationen zu den verschiedenen Klassen gefüllt wird und so weitere Informationen auf andere Weise oder gar nicht dargestellt werden. Darüber hinaus steht der Fokus dieser Arbeit mehr auf die Feature Selection. Der Nutzer kann dabei kein eigenes Klassifikatoren Ensemble erstellen.

(18)

Abbildung 2.2: Die Hauptansicht von „EnsembleMatrix: Interactive Visualization to Support Machine Learning with Multiple Classifiers“[Tal+09].

„Visual Classification: An Interactive Approach to Decision Tree Construction“[Ank+99]

beschreibt eine Möglichkeit den Nutzer weiter in die Konstruktion eines Decision Trees einzubinden und es ihm so zu erlauben selbst Features auszuwählen, die für die Klas- sifikation wichtig sind. Dabei soll ihm geholfen werden mithilfe einer Circle Segments Technik. Diese ordnet die verschiedenen Features in einer Kreisdarstellung an und soll so Cluster aufzeigen. Der Nutzer kann daran ablesen, an welcher Stelle ein Split in dem Feature für den Decision Tree Sinn macht.

Hierbei unterscheidet es sich in dem Sinne von dieser Arbeit, als das der Nutzer hier nicht direkt in den Konstruktionsprozess eines Decision Trees eingreifen kann, sondern über die Feature Selection die Möglichkeit hat diesen zu beeinflussen.

Ein System um eine interaktive Konstruktion und Analyse von Decision Trees zu bie- ten ist „BaobabView: Interactive construction and analysis of decision trees“[EW11].

Dabei soll vor allem Expertenwissen in die Konstruktion fließen. Es wird weiter eine neue Variante der Confusion Matrix vorgestellt, in der die Confusion Matrix durch weitere Visualisierungen ausgebaut wird. So wird diese durch verschiedene Glyph Va- rianten erweitert, dass mehr Informationen dargestellt werden. Der Glyph soll dabei schnell zeigen zu welchen Klassen die miss-klassifizierten Daten laut der Ground Truth gehören.

Es wird hier aber nicht weiter auf die Features in der Confusion Matrix eingegangen sondern erst beim Bau des Decision Trees. Dabei wird jedoch nicht mehr eine Confu-

(19)

2.4 Visual Analytics 11 sion Matrix oder Treemaps sondern andere Visualisierungen wie zum Beispiel Stacked Graphs verwendet.

Eine Methode um eine Ordnung in Features zu bringen, bietet „A Rank-by-feature Framework for Interactive Exploration of Multidimensional Data“[SS05]. Dabei wird ein Ranking der verschiedenen Features eingeführt. Diese Ranking kann der Nutzer interaktiv selbst einstellen und die Ergebnisse betrachten. Die Rankingfunktion wird dabei immer auf Paare der Features angewandt um eine Distanzmatrix zu erstellen.

Die Heatmap Distanzmatrix sorgt dann für das genaue Ranking der Features. Ferner kann in einem Histogramm die Verteilung der Werte angeschaut werden.

Der Unterschied hier besteht darin, dass die Arbeit sich hier mehr auf die Feature Selection bezieht und nicht um ein weiteres Ranking der Features.

In „Classifier Hypothesis Generation Using Visual Analysis Methods“[SSG10] geht es um das Problem Dokumente mit mehreren Klassen zu klassifizieren. Dabei soll der Nutzer zuerst über eine Suche Dokumente zur Klassifikation finden, die dann weiter ge- clustert werden. Danach wird der Nutzer wieder eingebunden in dem er die Dokumente und Cluster analysiert und auswählt. Dabei kann er auswählen welche Dokumente den Trainingsdaten hinzugefügt werden können. Mit diesen Dokumenten wird daraufhin eine Klassifikation durchgeführt und der Nutzer beurteilt die Ergebnisse. Danach wird der Klassifikator neu trainiert und für den Nutzer visualisiert. Falls der Nutzer nicht zufrieden ist mit dem Klassifikator werden weitere Dokumente zu den Trainingsdaten hinzugefügt und der Worklfow wird ab dem Clustering nach der Suche wiederholt.

Der größte Unterschied besteht zwischen „Classifier Hypothesis Generation Using Vi- sual Analysis Methods“ und „Interaktive Unterstützung für Malware Klassifikation“

darin, dass die Feature Selection in dem Paper nicht für den Nutzer hineingebracht wird. Der Nutzer kann nicht interaktiv in die Feature Selection eingreifen. Er kann jedoch das Trainingsset erweitern mit erfolgreich klassifizierten Daten.

„FeatureForge: A Novel Tool for Visually Supported Feature Engineering and Cor- pus Revision“[Hei+12] beschreibt Werkzeug, welches zum einen eine Hilfe zur Isolation von Featureproblemen und Definition von neuen Features sein soll und zum anderen es ermöglichen soll, Gruppen von schwierigen zu klassifizierende Daten oder Daten, die ständig falsch klassifiziert wurden, zu finden. Dabei wird auch versucht zu zeigen an welcher Stelle ein Klassifikator einen Split zwischen den Klassen macht. Daraus soll geschlossen werden, welche Features neu hinzugefügt werden können um die Klassifi-

(20)

kation zu verbessern. Es können verschiedene Subsets des geladenen Datensatzes näher angeschaut und klassifiziert werden. Es wurden die Stanford Klassifikatoren und eine lineare Support Vector Machine implementiert um den Nutzer selbst klassifizieren zu lassen.

„FeatureForge: A Novel Tool for Visually Supported Feature Engineering and Cor- pus Revision“ und „Interaktive Unterstützung für Malware Klassifikation“ verfolgen zwar das gleiche Ziel, jedoch durch verschiedene Ansätze. Das Ziel hierbei ist die Ver- besserung der Klassifikation und das Verständnis der zugrunde liegenden Daten und Klassen. In „FeatureForge: A Novel Tool for Visually Supported Feature Engineering and Corpus Revision“ soll durch das hinzufügen von Features die Klassifikation ver- bessert werden, wobei bei „Interaktive Unterstützung für Malware Klassifikation“ auf das Entfernen von Features gesetzt wird um die Klassifikation zu verbessern.

(21)

13

3 Interactive Support for Malware Classification

3.1 Einleitung

In diesem Kapitel steht der Aufbau des Programmes im Vordergrund. Dies gilt für Design-Entscheidungen als auch für Views und andere Komponenten. Hierbei soll ver- mittelt werden, warum bestimmte Design-Entscheidungen getroffen wurden und welche Views besonders geeignet sind um neue Ideen zu erhalten.

Im Vordergrund steht bei den Views die Möglichkeit für den Nutzer mittels des Programmes einen Malware Datensatz zu erkunden. Er soll durch Wissen über den Nutzen der verschiedenen Views bestimmte Zusammenhänge erkennen und aus ihnen Wissen zu generieren. Ferner, soll dem Nutzer über die Views ermöglicht werden sein generiertes Wissen so umzusetzen, dass er die Malware Familien und Samples besser versteht.

3.2 Datensätze

Im Programm selbst sind zwei Datensätze integriert, den Android Malware Drebin Datensatz und den Intrusion Detection/Traffic Classification Datensatz von dem KDD Cup 1999. Da jedoch hier besonders der Malware Aspekt im Vordergrund steht, wird der Fokus auf den Drebin Datensatz gelegt.

3.2.1 Android Malware - Drebin Datensatz

Der Drebin Datensatz stammt aus dem Paper „Drebin: Effective and explainable de- tection of android malware in your pocket“[Arp+14]. Hier handelt es sich um Android Malware und normale Applikationen/Samples, welche zum Teil aus dem Google Play Store und zum Teil aus dem Internet über mehrere Monate gesammelt wurden.

(22)

Es wurden 129013 Samples gesammelt, darunter 123453 nicht Malware Samples und 5560 Malware Samples. Dabei beinhalten die Malware Samples 179 verschiedene Mal- ware Familien.

Diese wurden mittels „Mobile-sandbox: Having a Deeper Look into Android Applica- tions“[Spr+13] zur weiteren Verarbeitung analysiert. Dabei wird bei jedem Sample, ob Malware oder nicht, verschiedene Features aus dem Sample extrahiert. Dies geschieht während der Ausführung des Samples in der Sandbox. Dabei werden alle Aktionen der Applikation aufgezeichnet und zu Features umgewandelt. Es werden zum Beispiel nicht nur die angefragten Berechtigungen sondern auch verschiedene andere Features extrahiert.

Dabei gibt es zehn Kategorien in denen einzelne Features eingeordnet werden. Diese zehn Kategorien sind:

1. Activity 2. Api Call 3. Call 4. Feature 5. Intent

6. Permission 7. Provider

8. Real Permission 9. Service Receiver 10. Url

Jede dieser Kategorien hat eine unterschiedliche Anzahl an Features. Die Kategorie Url ist zum Beispiel die größte Kategorie, da jedes Sample auf verschiedene Webseiten zugreifen kann und deshalb auch für jede dieser Webseiten ein eigenes Feature besitzt.

Im Gegenzug gibt es auch Kategorien, welche nur eine begrenzte Anzahl an Features besitzen. Unter anderem gilt dies für die Permission, da eine Mobile Applikation nur eine begrenzte Anzahl an Permission Features erfordern kann. Insgesamt gibt es so rund eine halbe Millionen Binärfeatures, welche hierarchisch in die jeweiligen Katego- rien eingeordnet werden.

3.2.2 Intrusion Detection - KDD Cup ’99 Datensatz

Der Intrusion Detection Datensatz stammt aus dem KDD Cup 1999 und ist ein Ma- chine Learning Datensatz, ausgegeben von der ACM Special Interest Group. Dabei bestand die Aufgabe für die Teilnehmer darin, mittels Machine Learning zu klassifi- zieren, ob es sich bei einer Verbindung um eine „gute“ oder um eine „böse“ handelt.

(23)

3.3 Architektur 15

„Böse“ steht für einen Versuch illegalerweise in das System einzudringen und „gute“

für einen legalen Versuch in das System zu gelangen.

Der Datensatz für den KDD Cup stammt dabei von dem 1998 DARPA Intrusion De- tection Evaluation Programm, welches von den MIT Lincoln Labs durchgeführt wurde.

Dafür wurden verschiedene Möglichkeiten für einen Einbruch in ein militärisches Netz- werk simuliert.

Dabei können die Features lose in die drei KategorienBasic Features, Content Fea- tures und Traffic Features eingeordnet werden. Der Datensatz umfasst dabei aus 46 Features, die sowohl kontinuierliche als auch diskrete Typen enthalten.

Weiter gibt es dort 24 verschiedene Klassen.

3.3 Architektur

Die Architektur von Programmen hat sich in den letzten Jahren stark verändert. Heu- te steht vor allem die Plattformunabhängigkeit und die Einfachheit der Installation im Vordergrund. Es spielt eine besonders große Rolle ob und wie der Nutzer die In- stallation überhaupt bewerkstelligen muss. Das heißt, ob der Nutzer das Programm installieren muss oder ob er es on-the-fly benutzen kann. Hier stehen verschiedene Ar- chitekturen zur Auswahl, darunter Client-Server Programme.

In dieser Arbeit steht vor allem auch die Nutzerfreundlichkeit im Vordergrund, so- dass mit wenig Mühe und wenig Hardware das Programm benutzbar ist und es sich nicht mit den Hintergrund-Prozessen beschäftigt werden muss. Das bedeutet, dass auf eine Server-Client Architektur mit Datenbank und Web Applikation aufgebaut wird.

Dabei soll der Client dem Nutzer als Web Applikation behilflich sein und mit dem Server kommunizieren. Der Server soll wiederum die Verwaltung der Datenbank über- nehmen und bei der Kommunikation mit dem Client alle wichtigen Informationen aus der Datenbank laden, weiterverarbeiten und verarbeitet zurückgeben.

Der Nutzer muss hierbei nur einen aktuellen Browser seiner Wahl öffnen, um das Pro- gramm zu nutzen.

(24)

3.3.1 Datenbank

Für die Hintergrund Datenbank wird MongoDB1verwendet.

Dabei wird vor allem die NoSQL-Struktur von MongoDB ausgenutzt, um eine Spei- cheroptimierung für den Malware Drebin[Arp+14] Datensatz zu gewährleisten. Da dieser einen Binärfeature-Vektor von über einer halben Millionen Einträgen beinhaltet und dort viele leere, beziehungsweise null Einträge besitzt. Diese zu speichern würde nur mehr Speicheraufwand bedeuten und geringe Optimierung der Klassifikationszeit.

Deshalb wird bei diesem Datensatz nur für die jeweiligen Malware Samples die Features als Zahl gespeichert, die auch wirklich von dieser benutzt wird. Das heißt jedes Feature wird zuerst zu einer Nummer umgewandelt und danach in einer Liste gespeichert um später wieder zurück transformiert zu werden. Als nächster Schritt wird jedes Malware Sample eingelesen und deren Features mittels der vorherigen Liste in Nummern um- gewandelt und diese Nummern in einer neuen Liste sortiert gespeichert. Dies wird als Feature Vektor des Malware Samples weiter benutzt. Diese Liste wird nun zu einem Dokument, in der die Malware Familie und der Hash-Wert der Datei bereits stehen, hinzugefügt. Hierbei wird die Struktur von MongoDB ausgenutzt um die Funktion Listen innerhalb von Dokumenten zu speichern. Dieses Dokument wird dann in einer sogenannten Kollektion von MongoDB gespeichert.

3.3.2 Server

Der Server wurde in der Programmiersprache Python geschrieben, da diese gute Imple- mentationen von gängigen Machine Learning Algorithmen und Server Frameworks als Module zu Verfügung stellt. Ferner bietet sie eine gute Implementation mit MongoDB und kann Dank Dokumentstrukturen, die MongoDBs Dokumenten sehr stark ähneln, diese nativ unterstützen.

Zum Aufbau der Server Struktur wird das Framework Flask2verwendet, welches un- ter anderem ermöglicht eine RESTful API3aufzusetzen und zu benutzen. Der Vorteil besteht darin, dass später in der Web Applikation verschiedenste Anfragen asynchron abgefragt werden können, um eine Schnittstelle zu bieten um die Web Applikation auf einfache Weise auf die verarbeiteten Informationen zugreifen zu können.

1MongoDB ist eine dokumentorientierte NoSQL-Datenbank mit Verfügbarkeit auf allen gängigen Betriebssystemen.https://www.mongodb.org/

(25)

3.3 Architektur 17

Der Flask Server stellt ferner die Umgebung für die weiteren Module zu Verfügung.

Denn unter anderem soll das Programm dem Nutzer die Möglichkeit geben, bei Ab- frage und Benutzung die Verarbeitung der Daten zu bestimmen oder Einstellung zu verändern.

Für verschiedene Machine Learning Algorithmen wird das Scikit-learn Modul4benutzt.

Dieses bietet eine breite Auswahl an den gängisten Machine Learning Algorithmen.

Davon wurden folgende Klassifikatoren im Programm implementiert:

1. Decision Tree 2. Naive Bayes

3. SVM ( Support Vector Machine ) 4. 5-Nearest Neighbor

5. Logical Regression 6. Random Forest

7. AdaBoost ( Adaptive Boosting )

Diese wurden ausgewählt, da sie dem Nutzer eine breites Angebot an unterschiedli- chen Klassifikatoren bieten, sowohl mit erklärbaren Algorithmen (1-5) als auch Black- Box Klassifikatoren (6-7). Dies soll dem Nutzer ermöglichen verschiedene Machine Learning Algorithmen gegeneinander zu testen und dabei nicht nur die Genauigkeit sondern auch die Performance zu vergleichen.

Ferner, wird jedoch noch XGBoost5angeboten um eine weitere Form der Machine Learning Algorithmen zu unterstützen und als Auswahlmöglichkeit für den Nutzer zu Verfügung zu stellen. Hierbei, handelt es sich um eine Gradient Boosting Methode und somit um einen weiteren Black-Box Klassifikator.

Die Klassifikation wird weiterhin über die Auswahl der Malware Samples generiert und dabei wird ein Stratified Sampling mit 80% Trainingsdaten und 20% Testdaten verwendet. Dies wird genutzt um zu gewährleisten, dass die Bedingungen für jeden Klassifikator bei selben Malware Sample Einstellung zum Klassifizieren gleich ist.

3Flask ist ein Web Application Framework für Python, welches die rudimentären Eigenschaften von Servern aufweist. http://flask.pocoo.org/

3Representational State Transfer (REST) beschreibt ein Programmierparadigma, welches dazu dient bei Anfragen an den Server eine allgemeine Schnittstelle zu schaffen, damit verschiedenste Pro- gramme auf den gleichen Server zugreifen können.

4Scikit-learn ist ein Machine Learning Module für Python, welches unter anderem diverse Klassifi- kations Algorithmen bereitstellt. Hierbei, auch die bekanntesten wie Decision Tree und Random Forest. http://scikit-learn.org/stable/

5XGBoost[CG16] ist eine Implementationsmöglichkeit von Gradient Boosting Methoden. https:

//github.com/dmlc/xgboost

(26)

3.3.3 Web Applikation

Die Web Applikation stellt den visuellen und interaktiven Teil dar, womit der Nutzer arbeiten kann. Dabei ist diese über Javascript und eine dynamische Darstellung auf- gebaut.

Bei Seitenaufbau wird per AJAX6die nötigen Start-Einstellungen und Attribute ge- laden, mit einer ersten Klassifizierung. Diese erste Klassifizierung soll dem Nutzer einen ersten Anhaltspunkt geben und auch zeigen wie der Decision Tree Klassifikator abschneidet.

Die Web Applikation beruht dabei für die AJAX Funktionalität auf JQuery7und für die Visualisierungen auf PIXI Js8. Da JQuery eine gute Umgebung bietet um AJAX Abfragen in Javascript zu integrieren und noch weitere nützliche Funktionen bereitstellt, wie zum Beispiel die Manipulation des HTML-Aufbaus der Seite.

Für das Anzeigen der Features in der Web Applikation wird eine Javascript Baum- struktur verwendet. Diese Baumstruktur heißt FancyTree9. Dabei wird vor allem die Strukturierung der in der Baumstruktur gespeicherten Daten genutzt um leichter da- mit zu arbeiten.

Durch PIXI Js ist es weiter möglich die volle Kapazität des Browser zu benutzen, da dieses WebGL anspricht und so auf die Hardwarebeschleunigung des Browsers zugreifen kann. Damit wird eine Steigerung der Geschwindigkeit ermöglicht.

WebGL bietet gegenüber herkömmlichen Scalable Vector Graphics (SVGs), die vor allem als Technik in den gängigen Visualisierungsbibliotheken verwendet werden, den Vorteil große Datenmengen interaktiv anzuzeigen und dabei keine Geschwindigkeit zu verlieren. SVGs im Gegensatz dazu verlieren bei großen Datenmengen die Geschwin- digkeit und reagieren deshalb langsamer als WebGL Anwendungen. Pixi JS wurde des- wegen ausgewählt, da die Bibliothek im Fall, dass der Browser kein WebGL unterstützt auf ein HTML Canvas Objekt zurückgreift. Jeder neuere Browser unterstützt HTML Canvas Objekte. Diese bieten jedoch nicht die selbe Geschwindigkeit wie WebGL Ob-

6Asynchronous JavaScript And XML (AJAX) bezeichnet ein Design um asynchrone Datenübertra- gung zwischen einem Browser und einem Server zu ermöglichen.

9JQuery ist eine Javascript-Bibliothek, welche es ermöglicht die Struktur einer Seite dynamisch zu ändern.https://jquery.com/

9FancyTree ist eine Javascript Bibliothek, die eine Baumstruktur verfügbar macht mit Unterstützung von Maus und Tastatur.https://github.com/mar10/fancytree

9PIXI JS ist eine Javascript-Bibliothek, welche es ermöglicht die WebGL Funktionen eines Browsers aufzurufen und schnell zu rendern.http://www.pixijs.com/

(27)

3.3 Architektur 19 jekte und sind deutlich langsamer.

Der verwendete Algorithmus für die Treemaps ist die Variante der squarified Tree- maps[BHW99] und ist in Javascript10implementiert worden.

Die Farben die für die Treemaps benötigt werden, stammen für den Malware Da- tensatz von Colorbrewer11und werden für den Intrusion Detection Datensatz aus den Farben von Colorbrewer12interpoliert um mehr Werte zu haben.

10Squarified Treemap Algorithmus in Javascript.https://github.com/nicopolyptic/treemap

12Colorbrewer ist ein Auswahlprogramm für Farben.http://colorbrewer2.org/

(28)

3.4 Views

3.4.1 Hauptansicht

Abbildung 3.1: Die Hauptansicht des Programmes.

Die Hauptansicht 3.1 ist das Erste was ein Nutzer sieht wenn er das Programm öffnet.

Hierbei soll er schon einen ersten Eindruck des ganzen Programmes bekommen. Es ist aufgebaut in drei wichtige Views. Diese sind die „Feature and Classifier View“, die

„Enhanced Confusion Matrix View“ und die „Helper Box“. Letztere erscheint jedoch erst mit Feature-Tipps in der „Treemap Compare View“.

Der Nutzer kann auch über das Dropdown-Menü links neben dem Titel einen an- deren Datensatz auswählen, falls dieser lieber mit dem Intrusion Detection Datensatz arbeiten will und nicht mit dem Android Malware Datensatz. Hilfe kann der Nutzer über den Button rechts oben in der Ecke erhalten und sich so über die grundlegenden Funktionen des Programmes informieren.

Die Hauptansicht ist dabei so gewählt das der Fokus auf der erweiterten Confusion Matrix liegt. Vor allem das linke Panel, in dem der Nutzer Einstellungen verändern

(29)

3.4 Views 21 und auch Features auswählen kann, ist kleiner um der erweiterten Confusion Matrix mehr Platz zu bieten.

A

B

C

Abbildung 3.2: Die Hauptansicht des Programmes - (A) präsentiert die „Feature and Classifier Selection View“, (B) zeigt die „Enhanced Confusion Matrix View“ und (C) stellt die „Helper Box“ dar.

3.4.2 Feature and Classifier Selection View

Die „Feature and Classifier Selection View“, vgl. Abb. 3.2(A) und Abb. 3.3, ist vor allem für den Nutzer eine sehr wichtige Komponente, da dieser dort alle Einstellungen vornehmen kann um seine Klassifikation zu verbessern. Dabei kann er nicht nur über Auswahl der Features und Klassifikatoren auswählen was geändert werden soll, son- dern auch weitere Einstellungen für die Daten und die Confusion Matrix justieren.

Der Nutzer kann bei den jeweiligen Tabs verschiedene Entscheidungen treffen um die Klassifikation zu verändern.

Im ersten Tab, Abb. 3.3a, kann der Nutzer die Features auswählen die in der nächs- ten Klassifikation benutzt werden sollen. Dies gilt sowohl für die einzelnen Features als auch für die gesamte Oberkategorie. So kann der Nutzer Featurekategorien komplett aus seiner nächsten Klassifikation entfernen und neue Schlüsse daraus ziehen. Dabei kann er herausfinden, ob es Featurekategorien gibt, die ganz entfernt werden können,

(30)

(a) Tab 1 zeigt die Mög- lichkeiten für die Feature Auswahl mit Baumstruktur.

(b) Tab 2 zeigt die ver- schiedenen Klassifikato- ren die der Nutzer aus- wählen kann.

(c) Tab 3 zeigt die unter- schiedlichen generellen Einstellungen zu Klassi- fikation und Confusion Matrix.

Abbildung 3.3: Die drei Einstellung-Tabs der „Feature and Classifier Selection View“

um die Klassifikation zu verbessern.

Im zweiten Tab, Abb. 3.3b, kann der Nutzer aus den verfügbaren Klassifikatoren auswählen mit welchem er als nächstes arbeiten will. Dabei sind die Klassifikatoren nach „Black Box“ und „Explainable“ Klassifikatoren aufgeteilt. Der Nutzer soll so auch vergleichen können, ob „Black Box“ oder „Explainable“ Klassifikatoren die Daten bes- ser klassifizieren.

Im letzten Tab, Abb. 3.3c, dem dritten, kann der Nutzer Einstellungen zu dem be- nutztem Datensatz justieren. Hierbei kann er auswählen wie viele normale Samples, das heißt Nicht-Malware Samples, zu den Malware Samples hinzugefügt werden sollen.

Er kann so eine deutlich unausgeglichenere Verteilung der Daten erzielen und so die verschiedenen Klassifikatoren weiter vergleichen. Auch wird es dem Nutzer so möglich, falls er bereits einen recht guten Klassifikator gefunden hat, diesen auf eine schwieri- gere und reellere Situation zu testen.

Der Nutzer kann weiter anpassen wie oft eines der binär Features in den Daten vorkommen muss um als Feature zu gelten. Dadurch kann er weiter Einfluss nehmen

(31)

3.4 Views 23 auf die Features die an den Klassifikator übergeben werden sollen. Er kann so selbst entscheiden wie viele Features es maximal gibt und wie wichtig diese sein sollen.

Darüber hinaus kann eingestellt werde wie viele der 179 Malwarefamilien verwendet werden sollen. Dies kann ein weitere Schwierigkeit für den Klassifikator darstellen, da 150 der Malware Familien weniger als 20 Samples besitzen und es so eine deutlich unbalancierte Verteilung gibt.

Zu guter Letzt kann der Nutzer Einstellungen für die Confusion Matrix konfigurie- ren. Dabei kann ausgewählt werden, ob die Matrix quadratische Zellen haben soll oder ob der Platz der kompletten Auflösung des Monitors benutzt werden soll.

Weiter kann er wählen ob und wie die Confusion Matrix sortiert werden soll. Dabei kann entschieden werden auf was der Fokus der Sortierung liegen soll.

3.4.3 Enhanced Confusion Matrix View

Die View, die besonders wichtig ist und am Anfang schon den größten Teil des Pro- grammes darstellt, ist die „Enhanced Confusion Matrix View“, vgl. Abb. 3.2(B). Dabei ist diese das wichtigste Werkzeug für den Nutzer um seine Klassifikation zu verbessern.

Denn die Confusion Matrix hilft nicht nur dem Nutzer die Klassifikation zu verstehen, sondern auch die generellen Fakten zu den Daten oben links. Dort wird die Anzahl des Trainingssets, des Testsets und das F1-Maß als weitere Informationen gezeigt.

Der Grund für das F1-Maß ist, dass vor allem die Genauigkeit bei vielen Klassen und bei wenig falsch klassifizierten Samples sehr hoch ist obwohl es noch Malware gibt die nicht richtig klassifiziert wurde. Das F1-Maß bietet dabei eine bessere Übersicht, da es aus Precision und Recall zusammengesetzt ist und sich an dem kleineren der beiden Werte orientiert. Precision ist dabei der Wert der angibt, wie der Quotient aus richtig klassifizierten Daten, der Summe der richtig klassifizierten Daten und der falsch klassi- fizierten Daten aussieht. Recall ist dabei der Quotient aus richtig klassifizierten Daten und den gesamten zu klassifizierenden Daten.

Die Confusion Matrix ist im Hintergrund eine normale Heatmap Confusion Matrix.

Das heißt auf der X- und Y-Achse sind die Klassen aufgetragen und die Zellen sagen aus, wie viele Samples zu der Einen klassifiziert wurden und zu welcher sie gehören. Es wird bei der Heatmap Confusion Matrix nicht die wirkliche Anzahl an Samples in die Zellen geschrieben sondern per Farbskala visualisiert. Dabei gilt, je dunkler die Zelle

(32)

desto mehr Samples befinden sich darin.

Die Confusion Matrix wird erweitert mit Treemaps in den Zellen, in denen Samples zugeordnet wurden.

Im Falle der Drebin Android Malware Daten werden hierbei die Kategorien in den Treemaps angezeigt. Hier wird einfach die Anzahl der Features die in den Samples der Zelle pro Kategorie vorkommen gezählt und als Gewicht für die Kategorie linear normalisiert zurückgegeben. Das heißt zum Beispiel, dass bei einer Zelle mit Samples viele Features der Kategorie Url vorkommen und diese dadurch ein hohes Gewicht erhält. Damit bekommt diese Kategorie in der Treemap den meisten Platz zugeteilt.

Dies hat den Vorteil das man sofort sieht, welche Malware Familien mehr Features aus bestimmten Kategorien haben als andere.

Im Falle der Intrusion Detection Daten wird, da es sich dort sowohl um binäre Fea- tures als auch um nummerische Features handelt, das arithmetische Mittel benutzt.

Dabei werden keine Kategorien von Features mehr angenommen sondern die Features direkt. Dadurch ergeben sich hier andere Muster von Treemaps als bei den Malware Daten, aber es wird trotzdem deutlich wodurch sich die verschiedenen Klassen diffe- renzieren.

Ferner kann die Confusion Matrix noch je nach Belieben des Nutzers umsortiert werden. So kann sie nach Zeilen sortiert werden wie in Abb. 3.4a. Sie kann jedoch auch nach Spalten sortiert werden wie in Abb. 3.4b. Dabei werden entweder Spalten oder Zeilen die nur auf der diagonalen gefüllte Zellen enthalten nach vorne sortiert.

Dies hilft dem Nutzer die Confusion Matrix fokussierter zu sehen und so besser auf Klassen zu stoßen, die interessant sein können, beziehungsweise oft falsch klassifiziert werden. Er kann jedoch auch damit sehen, welche Klassen besonders gut klassifiziert wurden und ob es andere Samples gibt die in diese Klasse falsch klassifiziert werden.

Falls der Nutzer den ganzen Platz seiner Seite und nicht nur die quadratische Con- fusion Matrix bevorzugt, kann er über die Einstellungen eine komplette Nutzung der Auflösung und Verzerrung der Confusion Matrix einstellen, vgl. Abb. 3.5. Dabei wer- den jedoch die Treemaps auch verändert und es kann dazu führen, dass die Treemaps nicht immer gleich gebaut werden.

(33)

3.4 Views 25

(a) Consfusion Matrix sortiert nach gut klassifizierten Zeilen.

(b) Consfusion Matrix sortiert nach gut klassifizierten Spalten.

Abbildung 3.4: Zwei weitere Ansichten für die Confusion Matrix mit unterschiedlichen Sortierungen.

Abbildung 3.5: Confusion Matrix mit nicht quadratischem Layout.

3.4.4 Treemap Compare View

Eine wichtige View um dem Nutzer eine Möglichkeit zu geben direkt Treemaps zu vergleichen ist die „Treemap Compare View“, vgl. Abb. 3.6.

Dabei erhält der Nutzer die Möglichkeit die Treemap in der Zelle der Matrix in voller Größe auszuwerten und so zu erkennen welche Features in den Kategorien der Treemap

(34)

Abbildung 3.6: Die erste Ansicht der „Treemap Compare View“, wenn der Nutzer auf eine Zelle mit Treemap klickt.

vorkommen. Der Nutzer kann über die kleinere Confusion Matrix oben links jedoch immer seinen Treemap Fokus ändern, ohne zurück zu der „Enhanced Confusion Matrix View“ zu müssen. Somit hat er die Möglichkeit schnell andere Treemaps anzuschauen und weiter zu vergleichen.

Ferner kann er in der „Treemap Compare View“ entscheiden welche anderen Tree- maps er mit der anfänglichen Treemap vergleichen will. Hier kann der Nutzer zwischen der Treemap der wirklichen Klasse (vgl. Abb. 3.7b), der klassifizierten Klasse (vgl.

Abb. 3.7c) oder den Treemaps von sowohl wirklicher und klassifizierter Klasse (vgl.

Abb. 3.7d) wählen.

Damit hat er die Möglichkeit die verschiedenen Treemaps sowohl auf das allgemeine Aussehen zu vergleichen, als auch auf die Features in den Kategorien selbst. Der Nutzer kann über die einzelnen Features mit dem Mauszeiger fahren um sie zu hervorzuheben.

Dabei werden sie auch in den anderen angezeigten Treemaps hervorgehoben, vgl. Abb.

3.8a. Der Nutzer kann somit einfach sehen, welche verschiedenen Treemaps welche Features teilen. Aber auch in welchen Treemaps bestimmte Features nicht vorkommen.

Falls jedoch der Nutzer sofort sehen will, welche Features in der anfänglichen Tree- maps als auch in einer der beiden anderen Treemaps vorkommt, kann er dies über den Button „Remove Equal Attributes“ bewerkstelligen. Dadurch verlieren die Featu- res, die diese Eigenschaft erfüllen, in den Treemaps ihre Farbe und werden auf weiß gesetzt, vgl. Abb. 3.8b. Damit sieht der Nutzer auch, welche Features nicht in den an-

(35)

3.4 Views 27

(a) Die vergrößerte Ansicht der Treemap aus der Zelle der Confusion Matrix, der miss-klassifizierten Samples.

(b) Die anfängliche Treemap der miss- klassifizierten Samples verglichen mit der Treemap ihrer wirklichen Klasse.

(c) Die anfängliche Treemap der miss- klassifizierten Samples verglichen mit der Treemap ihrer klassifizierten Klas- se.

(d) Die anfängliche Treemap mit den Treemaps ihrer wirklichen Klasse und ihrer klassifizierten Klasse.

Abbildung 3.7: Die vier verschiedenen Möglichkeiten der „Treemap Compare View“

am Beispiel von miss-klassifizierten Samples.

deren Treemaps vorkommen und welche Features nur die anfängliche Treemap besitzt.

(a) Automatisches Highlighting bei Mou- seover in den anderen Treemaps.

(b) Features die in der anfänglichen Tree- map und in einer oder beiden der beiden anderen Treemaps vorkommen werden weiß.

Abbildung 3.8: Allgemeine weitere Funktionen der „Treemap Compare View“.

Außerdem wird, falls im „Treemap Compare View“ alle drei Treemaps zum ver-

(36)

gleichen ausgewählt werden, die „Helper Box“ mit Features gefüllt, die nur in der anfänglichen Treemap und in der klassifizierten Klassen Treemap vorkommen, vgl.

Abb. 3.9. Dadurch kann der Nutzer sich diese besser anschauen oder durch klicken aus seiner nächsten Klassifikation aussetzen und so womöglich eine besser Klassifikation erreichen beziehungsweise diese Samples richtig klassifizieren. Dies kann ihm helfen herauszufinden, welche Klassen beziehungsweise Samples auf bestimmte Features an- fällig sind.

Abbildung 3.9: Die „Helper Box“ zeigt Features die sowohl in der anfänglichen Tree- map vorkommen als auch in der klassifizierten, jedoch nicht in der wirklichen.

3.4.5 Interaktiver Workflow

Der Workflow in Abb. 3.10 beschreibt den Ablauf der bei der Nutzung bestrittet wer- den soll. Es steht vor allem die Interaktion des Nutzers mit dem Programm und der Confusion Matrix im Vordergrund. Dabei beginnt der Workflow bei der ersten Ansicht des Programmes und soll von dort auf miss-klassifizierte Samples hinweisen. Über In- teraktion mit der Confusion Matrix kann dann eine miss-klassifizierte Zelle in der Matrix ausgewählt werden um zur „Treemap Comapre View“ zu gelangen. Es kann weiter ausgewählt werden wie die Treemap verglichen werden soll. Ob nur mit der wirklichen Klasse, der klassifizierten Klasse oder mit allen beiden. Falls mit allen drei

(37)

3.4 Views 29

Abbildung 3.10: Workflow für Interaktive Unterstützung für Malware Klassifikation Treemaps gearbeitet wird, kann erkundet werden welche Features in welchen Treemaps vorkommen. Dabei kann festgestellt werden wie sich die einzelnen Klassen zueinander verhalten. Zum Beispiel ob sie viele Features teilen oder ob komplett andere Features in ihnen enthalten sind.

Aus diesem Wissen können nun Features entfernt werden und es kann neu klas- sifiziert werden. Dadurch können dann die vorherigen Schlüsse beziehungsweise das vorher gewonnene Wissen bewiesen oder widerlegt werden. Je nachdem wie der Klas- sifikator entscheidet und die Samples klassifiziert. Falls noch keine Zufriedenheit über die Klassifikation herrscht, kann der Prozess von vorne gestartet werden.

Dieser Workflow dient jedoch nur als Beispiel. Es ist möglich andere Wege einzu- schlagen und unter anderem zuerst die Klassifikatoren zu vergleichen. Dabei kann dann auch verglichen werden, welche Samples oft von vielen Klassifikatoren schlecht klassifiziert wurden und der Workflow kann wieder angewendet werden.

(38)
(39)

31

4 Anwendungsfälle und Evaluation

In diesem Kapitel soll unter anderem gezeigt werden, wie das Programm verwendet werden kann um interessante Ergebnisse zu liefern. Darüber hinaus soll gezeigt werden wie der Nutzer in den Daten besondere Fälle finden kann und wie er die Klassifikation verbessern kann. Dabei werden vor allem bei den Anwendungsfällen Auffälligkeiten des Android Malware Datensatzes gezeigt.

Im Kapitel Evaluation soll dann diskutiert werden ob es auch möglich ist die er- weiterte Confusion Matrix auf andere Features anzuwenden. Dabei soll auch gezeigt werden wie die Daten des Intrusion Detection Datensatzes mit dem Programm funk- tionieren. Es soll gezeigt werden, welche Herausforderungen entstehen und wie man diese lösen kann.

4.1 Anwendungsfälle

4.1.1 Allgemeine Anwendungsfälle

Hierbei sollen zuerst die allgemeinen Fälle betrachtet werden und dabei vor allem die verschiedenen Nutzungsarten des Programms.

4.1.1.1 Die verschiedenen Klassifikatoren auf F1-Maß vergleichen

Um den besten Klassifikator mittels des Programmes zu suchen, kommt es drauf an was der Nutzer unter dem besten Klassifikator versteht. Dabei kann dies sowohl der Klassifikator mit dem besten F1-Maß sein als auch ein Klassifikator der eine bestimm- te Klasse besonders gut klassifiziert. Der allgemeinere Fall wäre mittels des F1-Maßes.

Dabei muss der Nutzer nur verschiedene Klassifikatoren ausprobieren und kann somit den bestgeeigneten finden. Er muss nur die verschiedenen F1-Maße vergleichen, wel- cher Klassifikator das beste Ergebnis liefert. Er kann, da es eine Web Applikation ist, einfach mehrere Tabs im Browser öffnen und so leicht und schnell die Klassifikatoren vergleichen.

(40)

Dabei schneiden die Klassifikatoren Random Forest4.1f, XGBoost4.1h und die Lo- gical Regression4.1e am Besten ab. Jedoch können sich sowohl Random Forest als auch XGBoost pro Training unterscheiden, da beide auf Decision Trees aufbauen und diese soweit per Zufall trainieren, dass dort leichte Schwankungen möglich sind. Eher schlecht schneiden hier Support Vector Machines4.1a und Adaboost4.1g ab.

Alles in allem, schließt hier Logical Regression mit leichtem Vorsprung am Besten ab.

(a) F1-Maß Support Vector Machine.

(b) F1-Maß Decisi- on Tree.

(c) F1-Maß Naive Bayes.

(d) F1-Maß 5- Nearest Neigh- bor.

(e) F1-Maß Logical Regression.

(f) F1-Maß Random Forest.

(g) F1-Maß Ada- boost.

(h) F1-Maß XG- Boost.

Abbildung 4.1: Die verschiedenen Klassifikatoren und ihr F1-Maß.

4.1.1.2 Featurekategorien Selection

Eine andere wichtige Funktion, die das Programm dem Nutzer bereitstellt, ist die Feature Selection und die Auswahl der Featurekategorien. Es geht darum die Klas- sifikation zu beschleunigen indem man Featurekategorien ausschließt und so deutlich weniger Features für das Training und die Klassifikation braucht. Damit kann sich zum einen die Zeit, die für die Klassifikation gebraucht wird, verringern. Zum anderen wird das Model des Klassifikators nicht zu sehr an den Datensatz angepasst und es bleibt allgemeiner. Dadurch kann Overfitting, beziehungsweise das zu starke Training eines Models eines Klassifikators an einen Datensatz verhindert werden und es soll möglich sein nicht ganz eindeutige Klassen besser zu klassifizieren.

Der Nutzer kann während dieser Aufgabe ein Klassifikator seiner Wahl auswählen und benutzen. In dem hier verwendeten Fall wird Logical Regression verwendet, da

(41)

4.1 Anwendungsfälle 33 dieser die besten Ergebnisse erzielt hatte und da es bei diesem recht gut zu sehen ist, welche Featurekategorien entfernt werden können.

(a) Klassifikation mit allen Features.

(b) Klassifikation ohne die Kategorie Activity.

(c) Klassifikation ohne die Kategorie API Call.

(d) Klassifikation ohne die Kategorie Call.

(e) Klassifikation ohne die Kategorie Feature.

(f) Klassifikation ohne die Kategorie Intent.

(g) Klassifikation ohne die Kategorie Permission.

(h) Klassifikation ohne die Kategorie Provider.

(i) Klassifikation ohne die Kategorie Real Permissi- on.

(j) Klassifikation ohne die Kategorie Service Provi- der.

(k) Klassifikation ohne die Kategorie Url.

(l) Klassifikation ohne die Kategorien Provider und Real Permission.

Abbildung 4.2: Verschiedene Ergebnisse von ausgeschlossen Featurekategorien in der Logical Regression Klassifikation.

Wie man Abb. 4.2h und 4.2i betrachtet, können die Featurekategorien „Provider“

und „Real Permission“ entfernt werden, da sie keine ersichtliche Auswirkungen auf die Klassifikation bieten.

Wenn nun die selbe Klassifikation ohne „Provider“ und „Real Permission“ auspro- biert wird, erhält man ein besseres Ergebnis als mit diesen Kategorien, vgl. Abb. 4.2l.

Zwar wird bei genauerem betrachten der Confusion Matrix nur ein Malware Sample besser klassifiziert, jedoch wurde bisher dieses eine Sample als „NoMalware“ klassi- fiziert und somit als ungefährlich markiert. Es ist aber in Wirklichkeit ein Malware

(42)

Sample und sollte unter keinen Umständen in dieser Familie landen.

Wenn man sich jedoch die verschiedenen Confusion Matrizen näher betrachtet, sieht man das oft die gleichen Samples falsch klassifiziert wurden. Dadurch wird deutli- cher, dass es mit Eliminierung von Featurekategorien nicht getan ist und das einzelne Features jetzt mehr im Vordergrund stehen sollten. Dabei ist offensichtlich, dass das Model sich zu sehr auf bestimmte Features und bestimmte Klassen trainiert und dabei Overfitting betreibt.

4.1.2 Features von Miss-klassifizierte Samples finden

Um, wie im vorigen Abschnitt, nun etwas gegen die miss-klassifizierten Samples zu unternehmen, muss man sich diese näher anschauen. Dabei ist dies einfach über die Confusion Matrix zu erledigen indem auf eine falsch klassifizierte Zelle in der Matrix gedrückt wird. Der Nutzer gelangt dann zur „Treemap Compare View“ und kann sich so die miss-klassifizierten Samples genauer anschauen, wie in Abb. 3.7a. Danach kann er sie weiter vergleichen mit der Treemap der Familie der sie angehört, Abb. 3.7b, und mit der Treemap der Familie zu der sie klassifiziert wurde, Abb. 3.7c.

Abbildung 4.3: „Treemap Compare View“ mit Hervorhebung von der „Helper Box“.

Dabei kann der Nutzer Features finden die für die Klassifikation problematisch sind, da sie zum Beispiel in der Treemap der miss-klassifizierten Samples und der klassifi- zierten Treemap vorkommen, jedoch nicht in der wirklichen Treemap. Dafür muss der

(43)

4.1 Anwendungsfälle 35 Nutzer seine Maus über die Treemaps bewegen und das Feature wird in allen Tree- maps, in der es enthalten ist, hervorgehoben.

Alternative kann auch über die „Helper Box“ dies bewerkstelligt werden, falls die an- fängliche Treemap beziehungsweise die Treemap der miss-klassifizierten Samples Fea- tures mit der klassifizierten Treemap aber nicht mit der wirklichen Treemap teilt.

Dabei bewirkt eine Bewegung über den Button des Features in der „Helper Box“ eine Hervorhebung des Features in den Treemaps, vgl. Abb. 4.3.

4.1.3 Miss-klassifizierte Samples richtig klassifizieren

Gerade Overfitting lässt oft ein Model eines Klassifikators ein Sample falsch klassifizie- ren. Darum kann in der „Treemap Compare View“ die „Helper Box“ wichtige Features liefern, die ausgeschlossen werden können um Overfitting zu verhindern. Dabei kann man die anfängliche Klassifikation verfeinern. Jedoch kann dies zur Folge haben, dass die allgemeine Klassifikation sich zu Gunsten von diesen Samples verschlechtert.

Als Beispiel kann man hier mit der anfänglichen Klassifikation anfangen und eine miss-klassifizierte Zelle suchen um mit dieser weiterzuarbeiten.

In dem hier verwendeten Fall wird die Zelle „NoMalware“ und „Gappusin“ genom- men, vgl. Abb. 4.4a, da diese falsch klassifiziert wurde. Diese ist zwar kein Malware Sample, jedoch wurde diese als solche klassifiziert. Dies ist auch kein Fall der unbedingt vorkommen sollte, da dies auch wichtige Applikationen wie Office oder Banking Apps sein könnten. Deshalb sollten diese nicht als Malware auftauchen um den Nutzer des Gerätes nicht zu verunsichern.

Abb. 4.4b zeigt die Treemaps der verschiedenen Familien in der „Treemap Compare View“. Wobei der erste Eindruck entsteht, dass die Treemap, der miss-klassifizierten Samples, mit der Treemap, der klassifizierten Familie, mehr übereinstimmt als mit der Treemap, der eigentlichen Familien. Dies ist eine Besonderheit von der Familie

„NoMalware“, da diese sehr unterschiedliche Samples mit sehr unterschiedlichen Fea- tures besitzt. Da die Familie „NoMalware“ für alle Nicht-Malware Samples gilt. Das ist aber auch der Grund warum man dabei annehmen kann, dass diese Samples nur falsch klassifiziert wurden, da das Model des Klassifikators sich zu sehr an die Trainingsdaten angepasst hat.

(44)

(a) Anfängliche Confusion Matrix. (b) Die Treemaps zu „NoMalware“ und

„Gappusin“.

(c) Helper Box mit vorgeschlagenen, ent- fernbaren Features.

(d) Confusion Matrix nach Feature Selec- tion.

Abbildung 4.4: Miss-klassifizierte Samples richtig klassifizieren.

In der „Treemap Compare View“ ist bei diesem Beispiel jetzt auch die „Helper Box“

mit Features gefüllt, die nur in den miss-klassifizierten Samples und in der klassifizier- ten Familie vorkommen. Dazu zeigt Abb. 4.4c welche es genau sind. Bei Klick auf den jeweiligen Button wird das Feature aus der Liste für die nächste Klassifikation entfernt.

In diesem Fall wurden alle Features aus der „Helper Box“ aus der Liste entfernt und neu klassifiziert.

(45)

4.2 Evaluation 37 Das Ergebnis hierbei zeigt sich in Abb. 4.4d. Dabei wird ersichtlich das sich nicht nur das F1-Maß der Klassifikation verbessert hat, sondern auch die miss-klassifizierten Samples wurden richtig klassifiziert. Allein durch entfernen dieser Features wurde die Klassifikation insgesamt verbessert. Das lässt den Schluss zu, dass das Model überan- gepasst ist und so erst durch das Entfernen von Features seine Anpassung reguliert.

Zwar wurden andere nicht richtig klassifiziert, aber die Anzahl der nicht korrekt klassi- fizierten Samples wurde verringert. Daraus kann man folgern, dass bestimmte Malware Familien die entfernten Features benötigen um richtig klassifiziert zu werden. Das heißt jedoch, dass der Klassifikator an dieser Stelle mit einem Ensemble an Klassifikatoren ersetzt werden sollte, um eine bessere Klassifikation zu gewährleisten.

4.2 Evaluation

Die Evaluation soll hier mittels des Intrusion Detection Datensatzes vorangetrieben werden. Dadurch soll untersucht werden, ob man die Treemap auch an Nicht-Binärfeatures anpassen kann und ob dann immer noch vergleichbare Ergebnisse zustande kommen können wie bei den Binärfeatures. Hierbei soll auch gezeigt werden, wie Treemaps auf unterschiedliche Features reagieren und wie diese weiter dargestellt werden.

4.2.1 Allgemeine Diskussion

Der Android Malware Datensatz Drebin bietet nur Binärfeatures und ist deshalb recht einfach in eine Treemap umwandelbar. Jedoch ist dies eher ein seltener Fall und es kommt meist eine Kombination verschiedener Typen von Features vor. Dabei können diese nicht so leicht in eine Treemap umgewandelt werden. Der Intrusion Detection Datensatz bietet genau diese Kombination. Das Verfahren das hier verwendet wird um diese Kombination von Typen zu Treemaps umzuwandeln, ist zuerst alle Features aufzusummieren. Dabei werden diskrete Features, das heißt Features mit einer festen Anzahl an möglichen Werten, zu Binärfeatures umgewandelt, was wiederum bedeutet jeder Wert erhält ein Feature mit wahr oder falsch. Kontinuierliche Features, also Features mit vielen verschiedenen Werten, bleiben in ihrer Form gleich. Bei Aufbau der Treemaps wird jeder Feature-Vektor der Samples, die diese Treemap bilden soll, aufsummiert und durch die Anzahl der Samples geteilt.

Bei diskreten Features sollte sich so das Feature, das am häufigsten in den Samp- les vorkommt, durchsetzen. Kontinuierliche Features sollten das arithmetische Mittel bilden. Dieses sollte, muss jedoch nicht, sich wenig von den Werten der eigentlichen

(46)

Klasse unterscheiden und sollte so einen ersten Eindruck vermitteln.

Abbildung 4.5: Die Hauptansicht des Programmes mit dem Intrusion Detection Da- tensatzes.

Das Verfahren wurde so gewählt, da es zu guten Ergebnissen bei den Treemaps geführt hat, wie man in Abb. 4.5 sieht. Jedoch führt dieses Verfahren dazu, dass die

„Helper Box“ nicht mehr benutzt werden kann. Da diese darauf aufgebaut ist, gleiche Features in der anfänglichen und in der klassifizierten Treemap zu finden. Dies ist jedoch bei kontinuierlichen Features nicht möglich, da jedes Sample diese Features mit unterschiedlichen Werten besitzt.

Als Alternative hätten auch alle Features zu Binärfeatures umgewandelt werden können um das Programm so zu verwenden wie bei dem Malware Datensatz. Aber das hätte selbst die Feature Anzahl der Malware Daten mit rund einer halben Millionen Features noch überstiegen. Darum wurde auf dieses verzichtet und es wurde die „Helper Box“ ausgeschlossen.

4.2.2 Weitere Diskussion

Das zeigt schon die erste Schwäche der Treemaps in der erweiterten Confusion Matrix.

Mit diesen wird es schwierig Features anzuzeigen, sodass erkannt werden kann welche

Referenzen

ÄHNLICHE DOKUMENTE

Andererseits kann man aber auch gezielt nur diejenigen ¨ Anderungen am System r¨uckg¨angig machen, die durch die Schadsoftware verursacht wurden, meist durch ein spezielles Programm

In addition, the MIST representation is optimized for analysis of software behavior using data mining and machine learning techniques.. We restrict all instructions to

“Protecting the Creation of Digital Signatures with Trusted Computing Platform Technology Against Attacks by Trojan Horse Programs”.. Proceedings of

If the obfuscation is perfect (in a sense to be described below), this would allow the construction of provably unde- tectable worms: even with access to a single copy of the worm W

To anticipate the results, all questions can be answered with a clear “yes”: In the following, this thesis presents the analysis of network traffic of different malware families,

The use of visualization and highly interactive visual analytics systems can help to support this analysis process with respect to investigation, comparison, and summarization

Darüber hinaus gilt es noch eine Frage zu beantworten, welche im ersten Abschnitt gestellt wurde (zur Erinnerung: Wie kommt es, das Satans Taten als schlecht abgetan werden, wenn

In der Apotheke Die unge- prüften Ausgangsstoffe sind zu- nächst getrennt von geprüfter Ware aufzubewahren, zum Bei- spiel in einem gekennzeichne- ten Kästchen im Labor.. Die