New approaches for chasing metamorphic malware
Isabella Mastroeni
University of Verona, Italy Joint work with Roberto Giacobazzi, Neil Jones, Mila Dalla Preda
30 May 2013
Mastroeni (CREST 2013) Chasing malware 30 May 2013 1 / 29
New approaches for chasing metamorphic malware Isabella Mastroeni - - PowerPoint PPT Presentation
New approaches for chasing metamorphic malware Isabella Mastroeni University of Verona, Italy Joint work with Roberto Giacobazzi, Neil Jones, Mila Dalla Preda 30 May 2013 Mastroeni (CREST 2013) Chasing malware 30 May 2013 1 / 29
Mastroeni (CREST 2013) Chasing malware 30 May 2013 1 / 29
Introduction METAMORPHISM
Mastroeni (CREST 2013) Chasing malware 30 May 2013 2 / 29
Introduction METAMORPHISM
Mastroeni (CREST 2013) Chasing malware 30 May 2013 2 / 29
Introduction METAMORPHISM
Mastroeni (CREST 2013) Chasing malware 30 May 2013 3 / 29
Introduction METAMORPHISM
Mastroeni (CREST 2013) Chasing malware 30 May 2013 3 / 29
Introduction METAMORPHISM
Mastroeni (CREST 2013) Chasing malware 30 May 2013 3 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 4 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 4 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 4 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 5 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 6 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
⊥
)
⊤
Mastroeni (CREST 2013) Chasing malware 30 May 2013 7 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
α
γ γ(α(x))
Abstract Concrete
α
Mastroeni (CREST 2013) Chasing malware 30 May 2013 8 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
γ(α(x))
Abstract Concrete
Mastroeni (CREST 2013) Chasing malware 30 May 2013 8 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 9 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 10 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 10 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 11 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
=
Mastroeni (CREST 2013) Chasing malware 30 May 2013 11 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 11 / 29
Defeating program obfuscation PROGRAM OBFUSCATION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 11 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 12 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 12 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 12 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
✔
✔
Mastroeni (CREST 2013) Chasing malware 30 May 2013 12 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
✔
✔
✔
✔
✔
✔
Mastroeni (CREST 2013) Chasing malware 30 May 2013 13 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 14 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
✔
✔
✔
✔
Mastroeni (CREST 2013) Chasing malware 30 May 2013 15 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 16 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
1.input x; 2.y := 2; 3.while x > 0 do 4.y := y + 2; 5.x := x − 1
6.output y; 7.end
1.input x; 1.5.x := 2 ∗ x;
2.y := 2 ∗ 2;
3.while x/2 > 0 do De-obfuscate x 4.y := 2 ∗ (y/2 + 2); 5.x := 2 ∗ (x/2 − 1)
6.output y/2; De-obfuscate output 7.end
Mastroeni (CREST 2013) Chasing malware 30 May 2013 17 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 18 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
1.input x; 2.y := 2; 3.while x > 0 do 4.y := y ∗ y; 5.x := x − 1
6.output y; 7.end
1.input x; 2.y := 2; 3.while x > 0 do 4.y := y ∗ (y − 1) + y; 5.x := x − 1
6.output y; 7.end
Mastroeni (CREST 2013) Chasing malware 30 May 2013 18 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
✔
✔
✔
✔
Mastroeni (CREST 2013) Chasing malware 30 May 2013 19 / 29
Defeating program obfuscation OBSCURITY AS INCOMPLETENESS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 20 / 29
Malware detection
Mastroeni (CREST 2013) Chasing malware 30 May 2013 21 / 29
Malware detection
Mastroeni (CREST 2013) Chasing malware 30 May 2013 21 / 29
Malware detection
Mastroeni (CREST 2013) Chasing malware 30 May 2013 21 / 29
Malware detection METAMORPHISM
Mastroeni (CREST 2013) Chasing malware 30 May 2013 22 / 29
Malware detection METAMORPHISM
Mastroeni (CREST 2013) Chasing malware 30 May 2013 22 / 29
Malware detection METAMORPHISM
Mastroeni (CREST 2013) Chasing malware 30 May 2013 22 / 29
Malware detection THE IDEA
Signature% Mastroeni (CREST 2013) Chasing malware 30 May 2013 23 / 29
Malware detection THE IDEA
Signature% Mastroeni (CREST 2013) Chasing malware 30 May 2013 23 / 29
Malware detection THE IDEA
Signature% Mastroeni (CREST 2013) Chasing malware 30 May 2013 23 / 29
Malware detection THE IDEA
Mastroeni (CREST 2013) Chasing malware 30 May 2013 24 / 29
Malware detection THE IDEA
Mastroeni (CREST 2013) Chasing malware 30 May 2013 24 / 29
Malware detection THE IDEA
Mastroeni (CREST 2013) Chasing malware 30 May 2013 24 / 29
Malware detection THE IDEA
Mastroeni (CREST 2013) Chasing malware 30 May 2013 24 / 29
The ingredients MALWARE DETECTION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 25 / 29
The ingredients MALWARE DETECTION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 25 / 29
The ingredients HOANI
Pi% Qi% Mastroeni (CREST 2013) Chasing malware 30 May 2013 26 / 29
The ingredients HOANI
Pi% Qi% Mastroeni (CREST 2013) Chasing malware 30 May 2013 26 / 29
The ingredients HOANI
Pi% Qi% Mastroeni (CREST 2013) Chasing malware 30 May 2013 26 / 29
HOANI and MD MD BASED ON HOANI
Mastroeni (CREST 2013) Chasing malware 30 May 2013 27 / 29
HOANI and MD MD BASED ON HOANI
Mastroeni (CREST 2013) Chasing malware 30 May 2013 27 / 29
HOANI and MD MD BASED ON HOANI
Chasing malware 30 May 2013 27 / 29
HOANI and MD MD BASED ON HOANI
Mastroeni (CREST 2013) Chasing malware 30 May 2013 27 / 29
Concluding remarks DISCUSSION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 28 / 29
Concluding remarks DISCUSSION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 28 / 29
Concluding remarks DISCUSSION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 28 / 29
Concluding remarks DISCUSSION
Mastroeni (CREST 2013) Chasing malware 30 May 2013 28 / 29
Concluding remarks CONCLUSIONS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 29 / 29
Concluding remarks CONCLUSIONS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 29 / 29
Concluding remarks CONCLUSIONS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 29 / 29
Concluding remarks CONCLUSIONS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 29 / 29
Concluding remarks CONCLUSIONS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 29 / 29
Concluding remarks CONCLUSIONS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 29 / 29
Concluding remarks CONCLUSIONS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 29 / 29
Concluding remarks CONCLUSIONS
Mastroeni (CREST 2013) Chasing malware 30 May 2013 29 / 29