malware classification

28
[email protected] Moderne Malwareklassifikation Sebastian Porst, zynamics GmbH [email protected]

Upload: zynamics-gmbh

Post on 08-Jun-2015

485 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Malware classification

[email protected]

Moderne Malwareklassifikation

Sebastian Porst, zynamics GmbH

[email protected]

Page 2: Malware classification

Quelle: Kaspersky Security Bulletin 2009. Malware Evolution 2009

40.000+ neueMalwaredateienpro Tag

2008

14.5 Mio

2009

15.0 Mio

2007

1.8 Mio

2006

0.2 Mio

Page 3: Malware classification

Was tun?

Erkennung Analyse Klassifikation

Page 4: Malware classification

Klassifikation

Dynamisch

Funktionsaufrufe

Systemänderungen

Statisch

n-Gramme

Bloom Filter

Strukturell

Page 5: Malware classification

Dynamisch

Statisch

Programmverhalten wird berücksichtigt

Programmstruktur wird berücksichtigt

Page 6: Malware classification

Funktionsaufrufe

Programm Ausführen

Funktionsaufrufe protokollieren

Mit bekannter Malware

vergleichen

Dynamisch

Page 7: Malware classification

FunktionsaufrufeDynamisch

Funktionsaufrufe protokollieren =

ReadFile

Process32First

lstrcpy

Page 8: Malware classification

FunktionsaufrufeDynamisch

Mit bekannter Malware

vergleichen=

Sequenzen von Funktionsaufrufen

Bibliothek aufbauen

Editierdistanz

Page 9: Malware classification

FunktionsaufrufeDynamisch

VorteileEinfach zu realisieren

Überwachung erfolgt prozessübergreifend

NachteileProgramme müssen ausgeführt werden

Anfällig für Täuschungsversuche

Page 10: Malware classification

Programm AusführenSystemveränderungen

protokollierenMit bekannter

Malware vergleichen

SystemänderungenDynamisch

Page 11: Malware classification

SystemänderungenDynamisch

Veränderungen protokollieren

Datei C:\windows\foo.exe wurde geschrieben

Server an Port 80 angemeldet

Lädt Datei von IRC Server runter

=

Page 12: Malware classification

SystemänderungenDynamisch

Mit bekannter Malware

vergleichen

Sequenzen von Systemänderungen

Bibliothek aufbauen

Editierdistanz

=

Page 13: Malware classification

SystemänderungenDynamisch

VorteileEinfach zu realisieren

Überwachung erfolgt prozessübergreifend

Weniger anfällig für Täuschungsversuche

NachteileProgramme müssen ausgeführt werden

Page 14: Malware classification

Statisch n-Gramme

Programm disassemblieren

n-Gramme berechnen

Mit bekannter Malware

vergleichen

Page 15: Malware classification

Programm disassemblieren

Befehle erkennen

Mnmemonic-Sequenzen zählen

Statisch n-Gramme

=n-Gramme berechnen

Page 16: Malware classification

Mit bekannter Malware

vergleichen

n-Gramme berechnen

Bibliothek aufbauen

Cosinus

Statisch n-Gramme

=

Page 17: Malware classification

Statisch n-Gramme

VorteileEinfach und schnell

Berücksichtigt gesamte Datei

Robust gegenüber Codebewegungen

NachteileIn der Praxis nur für kleine n möglich

Anfällig gegenüber Compileränderungen

Kann sehr leicht getäuscht werden

Page 18: Malware classification

Statisch Bloom Filter

Programm disassemblieren

Bloom Filter berechnen

Mit bekannter Malware

vergleichen

Page 19: Malware classification

Statisch Bloom Filter

Datei disassemblieren

Basic Blocks erkennen

Basic Blocks hashen

Hashwerte in Vektor speichern

=Bloom Filter berechnen

Page 20: Malware classification

Statisch Bloom Filter

Mit bekannter Malware

vergleichen

Bloom Filter berechnen

Bibliothek aufbauen

Vektorvergleich

=

Page 21: Malware classification

Statisch Bloom Filter

VorteileSkaliert wunderbar

NachteileEntwicklung der Hashfunktion sehrschwierig

Hashfunktion ist anfällig für kleineÄnderungen

Page 22: Malware classification

Statisch Strukturell

Programm disassemblieren

Flussgraphen berechnen

Mit bekannter Malware

vergleichen

Page 23: Malware classification

Statisch Strukturell

Datei disassemblieren

Funktionen erkennen

Flussgraph erstellen

Graphstruktur hashen

=Flussgraphen berechnen

Page 24: Malware classification

Statisch Strukturell

Mit bekannter Malware

vergleichen

Flussgraphen berechnen

Bibliothek aufbauen

Hashvergleich

=

Page 25: Malware classification

Statisch Strukturell

VorteileBerücksichtigt das komplette Programm

Robust gegenüber Änderungen

NachteileVollständiges Disassembly wird benötigt

Zu langsam für Endnutzergeräte

Page 26: Malware classification

Resultate

Page 27: Malware classification

Weitere Ideen

Kombinationen

Andere Methoden

Signaturgeneration

Angriffe korrelieren

Page 28: Malware classification