Graphe de dépendances
Petit Poucet style
M. Blanc, F. Desclaux, C. Leman, C. Mougey, A. Vincent
Direction des applications militaires
3 juin 2016
Problématique
Analyse de flot de données : data slicing
Problème initial : quelles sont les opérations du programme qui participent à la
valeur d’une variable donnée ?
Utilisation
Analyse de malware
Recherche de vulnérabilités
Analyse de code
Contexte CEA/DAM |3 juin 2016 |PAGE 2/55
Exemple simplifié
main
MOV ECX, 0x1
MOV EDX, 0x2
JMP loop
loop
INC EDI
MOV EBX, ECX
MOV ECX, EDX
CMP EDI, 0x10
JNZ loop
end
MOV EAX, EBX
RET
Qui participe à la valeur finale d’EAX ?
Ça s’appelle le slicing /backward data
tainting /whatever-ing
…et ça commence à avoir 20 ans [Weiser,
père et fils]
Contexte CEA/DAM |3 juin 2016 |PAGE 3/55
Exemple simplifié
main
A = 1
B = 2
JMP loop
loop
COUNT++
C = A
A = B
COUNT == 10
JNZ loop
end
X = C
RET
Qui participe à la valeur finale de X ?
Ça s’appelle le slicing /backward data
tainting /whatever-ing
…et ça commence à avoir 20 ans [Weiser,
père et fils]
Contexte CEA/DAM |3 juin 2016 |PAGE 4/55
Slicing
Tel le petit poucet, nous allons devoir
retrouver notre chemin en déposant et en
retrouvant nos cailloux
Contexte CEA/DAM |3 juin 2016 |PAGE 5/55
1 / 68 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !