SlideShare a Scribd company logo
1 of 28
Download to read offline
Moderne
Malwareklassifikation

    Sebastian Porst, zynamics GmbH




           sebastian.porst@zynamics.com
         sebastian.porst@zynamics.com
40.000+ neue                                               15.0 Mio
                                  14.5 Mio
Malwaredateien
pro Tag




           1.8 Mio
0.2 Mio

 2006       2007                    2008                     2009
          Quelle: Kaspersky Security Bulletin 2009. Malware Evolution 2009
Was tun?


Erkennung     Analyse   Klassifikation
Funktionsaufrufe

                 Dynamisch

                             Systemänderungen


Klassifikation
                                n-Gramme



                  Statisch     Bloom Filter



                                Strukturell
Dynamisch



    Programmverhalten wird berücksichtigt


 Statisch


    Programmstruktur wird berücksichtigt
Dynamisch       Funktionsaufrufe




                                           Mit bekannter
    Programm            Funktionsaufrufe
                                             Malware
    Ausführen            protokollieren
                                            vergleichen
Dynamisch            Funktionsaufrufe



                                        ReadFile
                                 Process32First
  Funktionsaufrufe
   protokollieren          =
                                        lstrcpy
                                           …
Dynamisch          Funktionsaufrufe



                                Sequenzen von
                               Funktionsaufrufen

   Mit bekannter                       Bibliothek
     Malware
    vergleichen
                         =             aufbauen

                                      Editierdistanz
Dynamisch             Funktionsaufrufe




              Vorteile                                 Nachteile
Einfach zu realisieren                      Programme müssen ausgeführt werden

Überwachung erfolgt prozessübergreifend     Anfällig für Täuschungsversuche
Dynamisch          Systemänderungen




                           Systemveränderungen     Mit bekannter
  Programm Ausführen
                               protokollieren    Malware vergleichen
Dynamisch         Systemänderungen



                             Datei C:windowsfoo.exe
                                wurde geschrieben

                                     Server an Port 80
                                       angemeldet
 Veränderungen
 protokollieren         =
                              Lädt Datei von IRC Server
                                       runter

                                            …
Dynamisch          Systemänderungen



                                 Sequenzen von
                               Systemänderungen

   Mit bekannter
     Malware
    vergleichen
                         = Bibliothek aufbauen


                                      Editierdistanz
Dynamisch             Systemänderungen




              Vorteile                                Nachteile
Einfach zu realisieren                      Programme müssen ausgeführt werden

Überwachung erfolgt prozessübergreifend

Weniger anfällig für Täuschungsversuche
Statisch          n-Gramme




                                    Mit bekannter
   Programm             n-Gramme
                                      Malware
disassemblieren         berechnen
                                     vergleichen
Statisch       n-Gramme



                             Programm
                          disassemblieren

   n-Gramme
   berechnen      =       Befehle erkennen

                        Mnmemonic-
                      Sequenzen zählen
Statisch          n-Gramme



                             n-Gramme
                             berechnen
  Mit bekannter              Bibliothek
    Malware          =
   vergleichen               aufbauen

                              Cosinus
Statisch                  n-Gramme




             Vorteile                                 Nachteile
Einfach und schnell                       In der Praxis nur für kleine n möglich

Berücksichtigt gesamte Datei              Anfällig gegenüber Compileränderungen

Robust gegenüber Codebewegungen           Kann sehr leicht getäuscht werden
Statisch          Bloom Filter




                                         Mit bekannter
   Programm               Bloom Filter
                                           Malware
disassemblieren            berechnen
                                          vergleichen
Statisch         Bloom Filter




                           Datei disassemblieren

                           Basic Blocks erkennen
  Bloom Filter
   berechnen         =
                                Basic Blocks hashen

                                Hashwerte in Vektor
                                    speichern
Statisch          Bloom Filter



                                  Bloom Filter
                                   berechnen
  Mit bekannter                    Bibliothek
    Malware           =
   vergleichen                     aufbauen

                                 Vektorvergleich
Statisch           Bloom Filter




             Vorteile                               Nachteile
Skaliert wunderbar                     Entwicklung der Hashfunktion sehr
                                       schwierig

                                       Hashfunktion ist anfällig für kleine
                                       Änderungen
Statisch          Strukturell




                                        Mit bekannter
   Programm              Flussgraphen
                                          Malware
disassemblieren           berechnen
                                         vergleichen
Statisch         Strukturell




                           Datei disassemblieren

                           Funktionen erkennen
  Flussgraphen
   berechnen         =
                               Flussgraph erstellen

                           Graphstruktur hashen
Statisch          Strukturell



                                Flussgraphen
                                 berechnen
  Mit bekannter                  Bibliothek
    Malware           =
   vergleichen                   aufbauen

                                Hashvergleich
Statisch              Strukturell




            Vorteile                                 Nachteile
Berücksichtigt das komplette Programm    Vollständiges Disassembly wird benötigt

Robust gegenüber Änderungen              Zu langsam für Endnutzergeräte
Resultate
Weitere Ideen




Kombinationen

Andere Methoden

Signaturgeneration

Angriffe korrelieren
Malware classification

More Related Content

Viewers also liked

Viewers also liked (15)

Ich mache doch, was ich nicht will
Ich mache doch, was ich nicht willIch mache doch, was ich nicht will
Ich mache doch, was ich nicht will
 
Verlagsprogramm Frühjahr 2012
Verlagsprogramm Frühjahr 2012Verlagsprogramm Frühjahr 2012
Verlagsprogramm Frühjahr 2012
 
Social Media Management
Social Media ManagementSocial Media Management
Social Media Management
 
Competence Selling
Competence SellingCompetence Selling
Competence Selling
 
Presentación3
Presentación3Presentación3
Presentación3
 
MOD Video-Konverter
MOD Video-KonverterMOD Video-Konverter
MOD Video-Konverter
 
Das neue Empfehlungsmarketing
Das neue EmpfehlungsmarketingDas neue Empfehlungsmarketing
Das neue Empfehlungsmarketing
 
Knoll Produkte
Knoll ProdukteKnoll Produkte
Knoll Produkte
 
Verlagsprogramm Frühjahr/Sommer 2014
Verlagsprogramm Frühjahr/Sommer 2014Verlagsprogramm Frühjahr/Sommer 2014
Verlagsprogramm Frühjahr/Sommer 2014
 
Lotto Hessen: Datenqualität gesteigert - Kosten gesenkt.
Lotto Hessen: Datenqualität gesteigert - Kosten gesenkt.Lotto Hessen: Datenqualität gesteigert - Kosten gesenkt.
Lotto Hessen: Datenqualität gesteigert - Kosten gesenkt.
 
Back to Basic – Verkaufen heute
Back to Basic – Verkaufen heuteBack to Basic – Verkaufen heute
Back to Basic – Verkaufen heute
 
Doppelspindelpumpe DSP
Doppelspindelpumpe DSPDoppelspindelpumpe DSP
Doppelspindelpumpe DSP
 
Der Ego-Macher
Der Ego-MacherDer Ego-Macher
Der Ego-Macher
 
Offline Strategien für HTML5 Web Applikationen - dwx13
Offline Strategien für HTML5 Web Applikationen - dwx13 Offline Strategien für HTML5 Web Applikationen - dwx13
Offline Strategien für HTML5 Web Applikationen - dwx13
 
LIBROS SIG
LIBROS SIGLIBROS SIG
LIBROS SIG
 

More from zynamics GmbH

Everybody be cool, this is a roppery!
Everybody be cool, this is a roppery!Everybody be cool, this is a roppery!
Everybody be cool, this is a roppery!zynamics GmbH
 
Automated Mobile Malware Classification
Automated Mobile Malware ClassificationAutomated Mobile Malware Classification
Automated Mobile Malware Classificationzynamics GmbH
 
Applications of the Reverse Engineering Language REIL
Applications of the Reverse Engineering Language REILApplications of the Reverse Engineering Language REIL
Applications of the Reverse Engineering Language REILzynamics GmbH
 
VxClass for Incident Response
VxClass for Incident ResponseVxClass for Incident Response
VxClass for Incident Responsezynamics GmbH
 
Platform-independent static binary code analysis using a meta-assembly language
Platform-independent static binary code analysis using a meta-assembly languagePlatform-independent static binary code analysis using a meta-assembly language
Platform-independent static binary code analysis using a meta-assembly languagezynamics GmbH
 
Automated static deobfuscation in the context of Reverse Engineering
Automated static deobfuscation in the context of Reverse EngineeringAutomated static deobfuscation in the context of Reverse Engineering
Automated static deobfuscation in the context of Reverse Engineeringzynamics GmbH
 

More from zynamics GmbH (9)

Everybody be cool, this is a roppery!
Everybody be cool, this is a roppery!Everybody be cool, this is a roppery!
Everybody be cool, this is a roppery!
 
Automated Mobile Malware Classification
Automated Mobile Malware ClassificationAutomated Mobile Malware Classification
Automated Mobile Malware Classification
 
Applications of the Reverse Engineering Language REIL
Applications of the Reverse Engineering Language REILApplications of the Reverse Engineering Language REIL
Applications of the Reverse Engineering Language REIL
 
VxClass for Incident Response
VxClass for Incident ResponseVxClass for Incident Response
VxClass for Incident Response
 
Hitb
HitbHitb
Hitb
 
Eusecwest
EusecwestEusecwest
Eusecwest
 
Platform-independent static binary code analysis using a meta-assembly language
Platform-independent static binary code analysis using a meta-assembly languagePlatform-independent static binary code analysis using a meta-assembly language
Platform-independent static binary code analysis using a meta-assembly language
 
Bh dc09
Bh dc09Bh dc09
Bh dc09
 
Automated static deobfuscation in the context of Reverse Engineering
Automated static deobfuscation in the context of Reverse EngineeringAutomated static deobfuscation in the context of Reverse Engineering
Automated static deobfuscation in the context of Reverse Engineering
 

Malware classification

  • 1. Moderne Malwareklassifikation Sebastian Porst, zynamics GmbH sebastian.porst@zynamics.com sebastian.porst@zynamics.com
  • 2. 40.000+ neue 15.0 Mio 14.5 Mio Malwaredateien pro Tag 1.8 Mio 0.2 Mio 2006 2007 2008 2009 Quelle: Kaspersky Security Bulletin 2009. Malware Evolution 2009
  • 3. Was tun? Erkennung Analyse Klassifikation
  • 4. Funktionsaufrufe Dynamisch Systemänderungen Klassifikation n-Gramme Statisch Bloom Filter Strukturell
  • 5. Dynamisch Programmverhalten wird berücksichtigt Statisch Programmstruktur wird berücksichtigt
  • 6. Dynamisch Funktionsaufrufe Mit bekannter Programm Funktionsaufrufe Malware Ausführen protokollieren vergleichen
  • 7. Dynamisch Funktionsaufrufe ReadFile Process32First Funktionsaufrufe protokollieren = lstrcpy …
  • 8. Dynamisch Funktionsaufrufe Sequenzen von Funktionsaufrufen Mit bekannter Bibliothek Malware vergleichen = aufbauen Editierdistanz
  • 9. Dynamisch Funktionsaufrufe Vorteile Nachteile Einfach zu realisieren Programme müssen ausgeführt werden Überwachung erfolgt prozessübergreifend Anfällig für Täuschungsversuche
  • 10. Dynamisch Systemänderungen Systemveränderungen Mit bekannter Programm Ausführen protokollieren Malware vergleichen
  • 11. Dynamisch Systemänderungen Datei C:windowsfoo.exe wurde geschrieben Server an Port 80 angemeldet Veränderungen protokollieren = Lädt Datei von IRC Server runter …
  • 12. Dynamisch Systemänderungen Sequenzen von Systemänderungen Mit bekannter Malware vergleichen = Bibliothek aufbauen Editierdistanz
  • 13. Dynamisch Systemänderungen Vorteile Nachteile Einfach zu realisieren Programme müssen ausgeführt werden Überwachung erfolgt prozessübergreifend Weniger anfällig für Täuschungsversuche
  • 14. Statisch n-Gramme Mit bekannter Programm n-Gramme Malware disassemblieren berechnen vergleichen
  • 15. Statisch n-Gramme Programm disassemblieren n-Gramme berechnen = Befehle erkennen Mnmemonic- Sequenzen zählen
  • 16. Statisch n-Gramme n-Gramme berechnen Mit bekannter Bibliothek Malware = vergleichen aufbauen Cosinus
  • 17. Statisch n-Gramme Vorteile Nachteile Einfach und schnell In der Praxis nur für kleine n möglich Berücksichtigt gesamte Datei Anfällig gegenüber Compileränderungen Robust gegenüber Codebewegungen Kann sehr leicht getäuscht werden
  • 18. Statisch Bloom Filter Mit bekannter Programm Bloom Filter Malware disassemblieren berechnen vergleichen
  • 19. Statisch Bloom Filter Datei disassemblieren Basic Blocks erkennen Bloom Filter berechnen = Basic Blocks hashen Hashwerte in Vektor speichern
  • 20. Statisch Bloom Filter Bloom Filter berechnen Mit bekannter Bibliothek Malware = vergleichen aufbauen Vektorvergleich
  • 21. Statisch Bloom Filter Vorteile Nachteile Skaliert wunderbar Entwicklung der Hashfunktion sehr schwierig Hashfunktion ist anfällig für kleine Änderungen
  • 22. Statisch Strukturell Mit bekannter Programm Flussgraphen Malware disassemblieren berechnen vergleichen
  • 23. Statisch Strukturell Datei disassemblieren Funktionen erkennen Flussgraphen berechnen = Flussgraph erstellen Graphstruktur hashen
  • 24. Statisch Strukturell Flussgraphen berechnen Mit bekannter Bibliothek Malware = vergleichen aufbauen Hashvergleich
  • 25. Statisch Strukturell Vorteile Nachteile Berücksichtigt das komplette Programm Vollständiges Disassembly wird benötigt Robust gegenüber Änderungen Zu langsam für Endnutzergeräte