Formal Avenue for Chasing Metamorphic Malware Mila Dalla Preda - - PowerPoint PPT Presentation

formal avenue for chasing metamorphic malware
SMART_READER_LITE
LIVE PREVIEW

Formal Avenue for Chasing Metamorphic Malware Mila Dalla Preda - - PowerPoint PPT Presentation

Formal Avenue for Chasing Metamorphic Malware Mila Dalla Preda University of Verona, Italy Joint work with Roberto Giacobazzi, Saumya Debray, Arun Lakhotia presented by Isabella Mastroeni CREST, May 30th 2013 Dalla Preda (CREST 2013) Chasing


slide-1
SLIDE 1

Formal Avenue for Chasing Metamorphic Malware

Mila Dalla Preda University of Verona, Italy Joint work with Roberto Giacobazzi, Saumya Debray, Arun Lakhotia

presented by Isabella Mastroeni CREST, May 30th 2013

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 1 / 25

slide-2
SLIDE 2

Introduction Metamorphism

MALWARE DETECTION

MALWARE = MALicious softWARE

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 2 / 25

slide-3
SLIDE 3

Introduction Metamorphism

MALWARE DETECTION

MALWARE = MALicious softWARE Malware detector Is a program D that determines whether a program P is malicious D(P) =

  • true

if D determines that P is malicious false

  • therwise

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 2 / 25

slide-4
SLIDE 4

Introduction Metamorphism

MALWARE DETECTION

MALWARE = MALicious softWARE Malware detector Is a program D that determines whether a program P is malicious D(P) =

  • true

if D determines that P is malicious false

  • therwise

An ideal malware detector is sound and complete: SOUND = no false positives (no false alarms)

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 2 / 25

slide-5
SLIDE 5

Introduction Metamorphism

MALWARE DETECTION

MALWARE = MALicious softWARE Malware detector Is a program D that determines whether a program P is malicious D(P) =

  • true

if D determines that P is malicious false

  • therwise

An ideal malware detector is sound and complete: SOUND = no false positives (no false alarms) COMPLETE = no false negatives (no missed alarms)

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 2 / 25

slide-6
SLIDE 6

Introduction Metamorphism

MALWARE DETECTION

Standard malware detectors: Signature Checking Identify a sequence of instructions which is unique to a malware (virus signature) then scan programs for signatures

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 3 / 25

slide-7
SLIDE 7

Introduction Metamorphism

MALWARE DETECTION

Standard malware detectors: Signature Checking Identify a sequence of instructions which is unique to a malware (virus signature) then scan programs for signatures Low false positive rate, easy to use Cumbersome, difficult to extract automatically, easy to foil How can we escape signature checking?

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 3 / 25

slide-8
SLIDE 8

Introduction Metamorphism

MALWARE DETECTION

Standard malware detectors: Signature Checking Identify a sequence of instructions which is unique to a malware (virus signature) then scan programs for signatures Low false positive rate, easy to use Cumbersome, difficult to extract automatically, easy to foil How can we escape signature checking? BY DYNAMICALLY MODIFYING MALWARE STRUCTURE!

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 3 / 25

slide-9
SLIDE 9

Introduction Metamorphism

ESCAPE SIGNATURE CHECKING

Polymorphic malware The malware code is encrypted and contains a decryption routine that decrypts the code and then executes it.

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 4 / 25

slide-10
SLIDE 10

Introduction Metamorphism

ESCAPE SIGNATURE CHECKING

Polymorphic malware The malware code is encrypted and contains a decryption routine that decrypts the code and then executes it. Metamorphic malware The malware applies semantics-preserving transformations (e.g. obfuscations) to mutate its own code as it propagates.

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 4 / 25

slide-11
SLIDE 11

Introduction Metamorphism

METAMORPHIC CODE - EXAMPLES

EQUIVALENT CODE REPLACEMENT

MOV EAX, [X] XOR EAX, EAX MOV EBX, [Y] ADD EAX, [X] ADD EAX, EBX ADD EAX, [Y] MOV [X], EAX MOV [X], EAX

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 5 / 25

slide-12
SLIDE 12

Introduction Metamorphism

METAMORPHIC CODE - EXAMPLES

EQUIVALENT CODE REPLACEMENT

MOV EAX, [X] XOR EAX, EAX MOV EBX, [Y] ADD EAX, [X] ADD EAX, EBX ADD EAX, [Y] MOV [X], EAX MOV [X], EAX

REGISTER RENAMING

MOV EAX, [X] MOV ECX, [X] MOV EBX, [Y] MOV EAX, [Y] ADD EAX, EBX ADD ECX, EAX MOV [X], EAX MOV [X], ECX

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 5 / 25

slide-13
SLIDE 13

Introduction Metamorphism

METAMORPHIC CODE - EXAMPLES

CODE REORDERING

MOV EAX, [X] MOV EBX, [Y] MOV EBX, [Y] MOV EAX, [X] ADD EAX, EBX ADD EAX, EBX MOV [X], EAX MOV [X], EAX

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 6 / 25

slide-14
SLIDE 14

Introduction Metamorphism

METAMORPHIC CODE - EXAMPLES

CODE REORDERING

MOV EAX, [X] MOV EBX, [Y] MOV EBX, [Y] MOV EAX, [X] ADD EAX, EBX ADD EAX, EBX MOV [X], EAX MOV [X], EAX

GARBAGE INSERTION

MOV EAX, [X] MOV EAX, [X] MOV EBX, [Y] MOV EBX, [Y] ADD EAX, EBX ADD EAX, EBX MOV [X], EAX PUSH, ESI MOV [X], EAX POP ESI

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 6 / 25

slide-15
SLIDE 15

Motivation The Problem Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 7 / 25

slide-16
SLIDE 16

Motivation The Problem

CHASING METAMORPHISM

In order to detect metamorphic malware variants malware detector should be based on SEMANTIC program features.

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 8 / 25

slide-17
SLIDE 17

Motivation The Problem

CHASING METAMORPHISM

In order to detect metamorphic malware variants malware detector should be based on SEMANTIC program features. Abstract models of malware that ideally capture the essence of being malicious while abstracting from the details that are modified by metamorphism;

system call, symbolic names, automata, cfg, rewriting rules towards normal forms, model checking....

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 8 / 25

slide-18
SLIDE 18

Motivation The Problem

CHASING METAMORPHISM

In order to detect metamorphic malware variants malware detector should be based on SEMANTIC program features. Abstract models of malware that ideally capture the essence of being malicious while abstracting from the details that are modified by metamorphism;

system call, symbolic names, automata, cfg, rewriting rules towards normal forms, model checking....

A PRIORI KNOWLEDGE OF THE METAMORPHIC TRANSFORMATIONS

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 8 / 25

slide-19
SLIDE 19

Motivation The Problem

THE CHALLENGE

The malware code contains the metamorphic engine (70%)

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 9 / 25

slide-20
SLIDE 20

Motivation The Problem

THE CHALLENGE

The malware code contains the metamorphic engine (70%) Metamorphic signature is a characterization of the set L of the possible code variants generated by a metamorphic malware

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 9 / 25

slide-21
SLIDE 21

Motivation The Problem

THE CHALLENGE

The malware code contains the metamorphic engine (70%) Metamorphic signature is a characterization of the set L of the possible code variants generated by a metamorphic malware σ IS A METAMORPHIC VARIANT ⇒ σ ∈ L

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 9 / 25

slide-22
SLIDE 22

Motivation The Problem

THE CHALLENGE

The malware code contains the metamorphic engine (70%) Metamorphic signature is a characterization of the set L of the possible code variants generated by a metamorphic malware σ IS A METAMORPHIC VARIANT ⇒ σ ∈ L THE PROBLEM Is there a way for systematically extracting a metamorphic signature without a priori knowledge of the metamorphic transformations used?

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 9 / 25

slide-23
SLIDE 23

Motivation The Problem

IDEALLY . . .

Program Evolution Graph A precise description of the evolution of the code during execution

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 10 / 25

slide-24
SLIDE 24

Motivation The Problem

IDEALLY . . .

Program Evolution Graph A precise description of the evolution of the code during execution Given a self-modifying program P0 we would like to generate its program evolution graph (or a sound approximation)

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 10 / 25

slide-25
SLIDE 25

The Idea

THE IDEA

The ME is part of the code of the metamorphic malware

Program Other Info State

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 11 / 25

slide-26
SLIDE 26

The Idea

THE IDEA

The ME is part of the code of the metamorphic malware ⇒ The description of the metamorphic behaviour – code evolution – is inside the trace semantics of the metamorphic malware

Program Other Info State

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 11 / 25

slide-27
SLIDE 27

The Idea

THE IDEA

The ME is part of the code of the metamorphic malware ⇒ The description of the metamorphic behaviour – code evolution – is inside the trace semantics of the metamorphic malware The state contains a description of the program that is executed

Program Other Info State

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 11 / 25

slide-28
SLIDE 28

The Idea

THE IDEA

The ME is part of the code of the metamorphic malware ⇒ The description of the metamorphic behaviour – code evolution – is inside the trace semantics of the metamorphic malware The state contains a description of the program that is executed

Program Other Info State

We use Abstract Interpretation!

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 11 / 25

slide-29
SLIDE 29

The Idea

TRACE SEMANTICS

Trace semantics of a metamorphic program P

... ... ...

Fix-point computation of trace semantics P = lfpFP ∈ ℘(Σ∗) where FP : ℘(Σ∗) → ℘(Σ∗)

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 12 / 25

slide-30
SLIDE 30

The Idea

THE IDEA

Isolate code evolution from the semantics of the metamorphic malware while abstracting from regular computation

... ... ... Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 13 / 25

slide-31
SLIDE 31

The Idea

THE IDEA

Isolate code evolution from the semantics of the metamorphic malware while abstracting from regular computation

... ... ...

IDEA Extracting metamorphic signatures is approximating malware semantics

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 13 / 25

slide-32
SLIDE 32

The behavioral model Phase Semantics

PHASE SEMANTICS

... ... ...

We define a function F ♯

P : ℘(Progr ∗) → ℘(Progr ∗) whose fix-point

computation P♯ = lfpF ♯

P ∈ ℘(Progr ∗) returns all the possible paths of

the program evolution graph

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 14 / 25

slide-33
SLIDE 33

The behavioral model Phase Semantics

PHASE SEMANTICS

... ... ...

We define a function F ♯

P : ℘(Progr ∗) → ℘(Progr ∗) whose fix-point

computation P♯ = lfpF ♯

P ∈ ℘(Progr ∗) returns all the possible paths of

the program evolution graph PHASE SEMANTICS P♯ = lfpF ♯

P ∈ ℘(Progr ∗)

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 14 / 25

slide-34
SLIDE 34

The behavioral model Phase Semantics

PHASE SEMANTICS

Idea: collect the computation that belong to the same malware version

... ...

PHASE 1 PHASE 2 PHASE 3 Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 15 / 25

slide-35
SLIDE 35

The behavioral model Abstraction

NEED TO APPROXIMATE . . .

Phase semantics is an AI of trace semantics with no loss of precision, given ℘(Σ∗), ⊆ − → ← −

α♯ γ♯

℘(Progr ∗), ⊆: α♯(lfpFP) = lfpF♯

P

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 16 / 25

slide-36
SLIDE 36

The behavioral model Abstraction

NEED TO APPROXIMATE . . .

Phase semantics is an AI of trace semantics with no loss of precision, given ℘(Σ∗), ⊆ − → ← −

α♯ γ♯

℘(Progr ∗), ⊆: α♯(lfpFP) = lfpF♯

P

CONCRETE TEST FOR METAMORPHISM Q is a metamorphic variant of P0 iff ∃P0P1 . . . Pn ∈ P0♯, ∃i ∈ [0, n] : Pi = Q no false positives, no false negatives

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 16 / 25

slide-37
SLIDE 37

The behavioral model Abstraction

NEED TO APPROXIMATE . . .

Phase semantics is an AI of trace semantics with no loss of precision, given ℘(Σ∗), ⊆ − → ← −

α♯ γ♯

℘(Progr ∗), ⊆: α♯(lfpFP) = lfpF♯

P

CONCRETE TEST FOR METAMORPHISM Q is a metamorphic variant of P0 iff ∃P0P1 . . . Pn ∈ P0♯, ∃i ∈ [0, n] : Pi = Q no false positives, no false negatives Phase semantics is precise but undecidable

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 16 / 25

slide-38
SLIDE 38

The behavioral model Abstraction

NEED TO APPROXIMATE . . .

Phase semantics is an AI of trace semantics with no loss of precision, given ℘(Σ∗), ⊆ − → ← −

α♯ γ♯

℘(Progr ∗), ⊆: α♯(lfpFP) = lfpF♯

P

CONCRETE TEST FOR METAMORPHISM Q is a metamorphic variant of P0 iff ∃P0P1 . . . Pn ∈ P0♯, ∃i ∈ [0, n] : Pi = Q no false positives, no false negatives Phase semantics is precise but undecidable Need to design suitable abstract domains for the approximation of phase semantics!!!

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 16 / 25

slide-39
SLIDE 39

The behavioral model Abstraction

ABSTRACTING METAMORPHISM

Design GC: ℘(Progr ∗), ⊆ − → ← −

αA γA

A, ≤A Interpret the fix-point computation of phase semantics on the abstract domain A: αA(P♯) ≤A PA

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 17 / 25

slide-40
SLIDE 40

The behavioral model Abstraction

ABSTRACTING METAMORPHISM

Design GC: ℘(Progr ∗), ⊆ − → ← −

αA γA

A, ≤A Interpret the fix-point computation of phase semantics on the abstract domain A: αA(P♯) ≤A PA Abstract phase semantics PA can be used as a metamorphic signature

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 17 / 25

slide-41
SLIDE 41

The behavioral model Abstraction

ABSTRACTING METAMORPHISM

Design GC: ℘(Progr ∗), ⊆ − → ← −

αA γA

A, ≤A Interpret the fix-point computation of phase semantics on the abstract domain A: αA(P♯) ≤A PA Abstract phase semantics PA can be used as a metamorphic signature ABSTRACT TEST FOR METAMORPHISM Q is a metamorphic variant of P wrt A iff αA(Q) ≤A PA no false negatives

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 17 / 25

slide-42
SLIDE 42

The behavioral model FSA abstraction

PHASES AS FSA

Code abstraction ˚ α : Progr → FSA

P0 1: mov f,100 8: mov MEM[f], MEM[4] 2: input ⇒ MEM[a] 9: mov MEM[f+1], MEM[5] 3: if (MEM[a] mod 2) goto 7 10: mov MEM[f+2], encode(goto 6) 4: mov b,MEM[a] 11: mov 4, encode(nop) 5: mov a,MEM[a]/2 12: mov 5, encode(goto MEM[f]) 6: goto 8 13: mov f, MEM[f]+3 7: mov a,(MEM[a]+1)/2 14: goto 2

1 3 4 7 2 9 10 11 12 13 MEM[f]:= 100 input => MEM[a] MEM[a] mod 2 5 6 8 MEM[b]:= MEM[a] MEM[a]:= MEM[a]/2 goto MEM[MEM[f]]:= MEM[4] MEM[MEM[f]+1]:= MEM[5] MEM[MEM[f]+2]:= encode(goto 6) MEM[4]:= encode(nop) MEM[5]:= encode(goto MEM[f]) MEM[f]:= MEM[f] + 3 14 goto

˚ α(P0)

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 18 / 25

slide-43
SLIDE 43

The behavioral model FSA abstraction

PHASE SEMANTICS AS TRACES OF FSA

Define a correct static approximation of the iteration function F FSA : ℘(FSA∗) → ℘(FSA∗) We derive a sound approximation of the phase semantics on the domain of traces of FSA: ˚ α(P0♯) ≤FSA P0FSA ∈ ℘(FSA∗)

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 19 / 25

slide-44
SLIDE 44

The behavioral model FSA abstraction

PHASE SEMANTICS AS TRACES OF FSA

2 3 4 5 6 7 MEM[a] mod 2 T F input => MEM[a] MEM[b] := MEM[a] MEM[a] := MEM[a]/2 goto MEM[a] :=(MEM[a]+1)/2 goto ME

M0

2 3 4 5 6 7 MEM[a] mod 2 T F input => MEM[a] nop MEM[a] := MEM[a]/2 goto MEM[a] :=(MEM[a]+1)/2 goto ME

M1

2 3 4 5 102 7 MEM[a] mod 2 T F input => MEM[a] nop goto goto MEM[a] :=(MEM[a]+1)/2 goto ME

M2

100 101 MEM[b] := MEM[a] MEM[a] := MEM[a]/2 goto 6 2 3 4 5 102 7 MEM[a] mod 2 T F input => MEM[a] nop goto goto MEM[a] :=(MEM[a]+1)/2 goto ME

M3

100 101 MEM[b] := MEM[a] MEM[a] := MEM[a]/2 goto 6

M4

1 MEM[f] := 100 1 MEM[f] := 100 1 MEM[f] := 100 1 MEM[f] := 100 2 3 4 5 102 7 MEM[a] mod 2 T F input => MEM[a] nop goto goto MEM[a] :=(MEM[a]+1)/2 goto ME 103 101 nop MEM[a] := MEM[a]/2 goto 6 1 MEM[f] := 100 104 goto 100 MEM[b] : = MEM[a]

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 20 / 25

slide-45
SLIDE 45

The behavioral model FSA abstraction

WIDENING PHASES: REGULAR METAMORPHISM

Collapsing a trace of FSA into a single FSA: FSA/≡, ⊑FSA where A1 ⊑FSA A2 ⇔ L(A1) ⊆ L(A2) let WP be the limit of the widening sequence: W0 = ˚ α(P) Wi+1 = Wi▽F FSA

P

(Wi)

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 21 / 25

slide-46
SLIDE 46

The behavioral model FSA abstraction

WIDENING PHASES: REGULAR METAMORPHISM

Collapsing a trace of FSA into a single FSA: FSA/≡, ⊑FSA where A1 ⊑FSA A2 ⇔ L(A1) ⊆ L(A2) let WP be the limit of the widening sequence: W0 = ˚ α(P) Wi+1 = Wi▽F FSA

P

(Wi) ABSTRACT TEST FOR METAMORPHISM ON FSA/≡ Q is a metamorphic variant of P wrt FSA/≡ iff ˚ ABS(Q) ⊑FSA WP no false negatives

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 21 / 25

slide-47
SLIDE 47

The behavioral model FSA abstraction

WIDENING PHASES: REGULAR METAMORPHISM

MEM[a] mod 2 T F MEM[f] := 100 goto MEM[a] :=(MEM[a]+1)/2 goto input => MEM[a] ME goto nop MEM[b]:= MEM[a] goto MEM[a]:=MEM[b] nop MEM[b] : = MEM[a] MEM[a] : = MEM[a]/2 goto MEM[a]:= MEM[a]/2 MEM[a]:= MEM[a]/2 goto

Spurious trace: mov f, 100; input => a; MEM[a] mod 2 = 0; MEM[b]:= MEM[a]; goto; MEM[b]:=MEM[a].....

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 22 / 25

slide-48
SLIDE 48

The behavioral model

What we have done: A precise model of metamorphic code evolution named phase semantics Requires no a priori knowledge about the metamorphic engine A method for approximating the Phase semantics A computable approximation of regular metamorphism

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 23 / 25

slide-49
SLIDE 49

The behavioral model

What we have done: A precise model of metamorphic code evolution named phase semantics Requires no a priori knowledge about the metamorphic engine A method for approximating the Phase semantics A computable approximation of regular metamorphism WHAT’S NEXT Suitable for semi-automatic malware analysis: generation-test-refine Abstract interpretation based learning More advanced abstractions: e.g., context free metamorphism Design of new abstract domain for the analysis of code variants . . .

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 23 / 25

slide-50
SLIDE 50

The behavioral model

METAPHOR: TOY EXAMPLE

P = mov e,10

MOV MOV PUSH PUSH POP POP MOV MOV POP POP PUSH MOV PUSH POP POP MOV PUSH

Approximated rules: push; pop → mov mov; mov → mov Compression rules:

push e2; pop e1 → mov e1,e2 mov e2,e1; push e2 → push e1 pop e2; mov e1,e2 → pop e1 mov mov,mov push,pop mov,mov,mov mov,push,pop push,pop,mov mov,mov,mov,mov mov,mov,push,pop mov,push,pop,mov push,pop,push,pop ...

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 24 / 25

slide-51
SLIDE 51

The behavioral model

LEARNING ME

Joint work with Arun Lakhotia BinJuice a tool for binary control flow graph comparison Virus Evol Extract syntactic differences between the control flow graph of successive variants (365 rules) Keep only semantic preserving rules Reduce rules (65 rules) Captures only block transformations, not structure transformations!

Dalla Preda (CREST 2013) Chasing Metamorphism CREST, May 30th 2013 25 / 25