Data Mining für Malware Klassifizierung

#Institut für IT Sicherheitsforschung #IT Security (BA) #Information Security (MA) #Nationale Drittmittel

Das Projekt konzentriert sich auf diejenigen Samples, deren Zuordnung zu Clustern mit den bisherigen Methoden nicht oder nur mit großem Aufwand (manuelle Analyse und Zuordnung) zu bewerkstelligen ist.

  • MitarbeiterInnen:
    Dipl.-Ing. Robert Luh, BSc
  • Externe MitarbeiterInnen:
    Dornhackl Hermann
    Kadletz Konstantin
  • PartnerInnen:
    Ikarus Security Software GmbH
  • Finanzierung:
    Feasibility Study der FFG
  • Laufzeit:
    01.04.201231.01.2013
  • Kategorie:
    Nationale Drittmittel
  • Projektstatus:
    abgeschlossen

In diesem Projekt werden mit Hilfe einer dynamischen Analyse Daten über das Verhalten für die Data Mining-Analysen generiert.  Ziel des Projekts ist es die Machbarkeit solcher Analysen an Hand eines ausreichend großen Datenbestands (gedacht ist an etwa 3 Millionen Samples)  zu überprüfen bzw. die Brauchbarkeit der Ergebnisse beispielhaft zu bewerten. Dabei ist auch zu berücksichtigen, dass auf Grund der großen Datenmengen Effizienzüberlegungen unumgänglich sind, um in vernünftiger Zeit zu brauchbaren Ergebnissen zu gelangen.

Es sollen Data Mining Algorithmen verwendet werden, um die Gruppe jener Malware Samples, die derzeit nicht oder nicht eindeutig einer Familie zugeordnet werden können, genauer zu erfassen und entweder einer bekannten Familie zuzuordnen oder neue Familien zu bilden. Als Basisdaten sollen Daten aus einer dynamischen Analyse herangezogen werden. Die Malware Samples werden mit Hilfe eines Tools, das die Firma Ikarus Security Software GmbH entwickelt hat, ausgeführt bzw. wird die Ausführung simuliert. Aus den Ergebnissen der Simulation werden Daten aggregiert, die das Verhalten des Samples möglichst gut beschreiben. Beispiele für solche Daten sind etwa die Anzahl der simulierten Instruktionen, die Anzahl der abgesetzten dynamic link library calls, Anzahl der Schreibzugriffe auf den Speicher bzw. auf bestimmte Teile des Speichers (heap, stack), Anzahl der generierten Prozesse, Anzahl der veränderten Registry-Einträge, Anzahl der Files, mit denen interagiert wurde, Anzahl der offenen Sockets, Anzahl der aus dem Internet heruntergeladenen Dateien und ähnliches mehr. Diese Daten beschreiben dann jedes Sample in einem n-dimensionalen Raum. Auf diesen Daten sollen dann folgende Aufgabenstellungen einer Lösung zugeführt werden:

  • Definition eines Ähnlichkeitsmaßes, den Abstand der einzelnen Samples voneinander messen zu können.
  • Implementierung eines effizienten Ähnlichkeitssuchalgorithmus, um zu einem gegebenen Sample die dazu ähnlichen zu finden.
  • Aufbauend auf diesem Algorithmus werden verschiedene Klassifikationsalgorithmen aus dem Data Mining und Machine Learning Bereich getestet, um jene Algorithmen und Datenkonfigurationen zu finden, die das Problem am besten lösen. Dabei werden klassische Algorithmen des Data Mining und des Machine Learning eingesetzt wie etwa Bayes, Naive-Bayes, Support Vector Machines und andere mehr.