Introduction à l’analyse de Malwares -...

39
Introduction à l’analyse de Malwares Mickaël OHLEN – IR3 1

Transcript of Introduction à l’analyse de Malwares -...

Page 1: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Introduction à l’analyse

de MalwaresMickaël OHLEN – IR3

1

Page 2: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Plan

1. Qu’est ce qu’un malware ?

2. Analyse

3. Techniques d’obfuscation

4. Démonstration (Analyse de CLogger)

2

Page 3: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

1. Qu’est ce qu’un malware ?

2. Analyse

3. Techniques d’obfuscation

4. Démonstration (Analyse de CLogger)

3

Page 4: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

«

»

Un malware est un logiciel créé

dans le but de compromettre un

système informatique sans

l’accord du propriétaire de ce

système.

4

Page 5: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Ils nous envahissent ! 5

Page 6: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Les familles de Malwares

Backdoor

Ransomware

Stealer

Rootkit

6

Page 7: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Command and Control (C&C) 7

Page 8: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Communication avec le C&C

MAJ des noms de domaines

Le C&C transmet une nouvelle liste de noms

de domaines.

Fast flux

1 nom de domaine = plusieurs adresses IP

DGA (Domain Generation Algorithms)

Génération d’un très grand nombre

d’adresses DNS pour contacter un C&C.

Exemple : Conficker > 50000 domaines par jour

8

Page 9: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Fast flux simple 9

Page 10: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Techniques de persistance

Base de registre

[HKLM]\Software\Microsoft\Windows\CurrentVersion\Run]

Fichier

C:\boot.ini

Service

[HKLM]/SYSTEM/CurrentControlSet/Service

Driver

10

Page 11: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Techniques de dissimulation

Injection de code

Se cacher dans un processus existant

Hook

Remplacer un appel système

11

Page 12: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

1. Qu’est ce qu’un malware ?

2. Analyse

3. Techniques d’obfuscation

4. Démonstration (Analyse de CLogger)

12

Page 13: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Pourquoi analyser un malware ?

Comprendre son fonctionnement

Quel est l’objectif du malware ?

Quelles sont ses actions ?

Comment se propage t-il ?

Quelle est son origine ?

Définir des méthodes d’éradication

Comment s’en débarrasser ?

Comment retrouver les machines infectées ?

Comment prévenir une infection future ?

13

Page 14: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

De quoi a t-on besoin ?

Un échantillon (sample)

Un environnement sécurisé et isolé

Des connaissances en programmation,

système, sécurité et réseau

Du courage et de la patience

14

Page 15: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Pourquoi un environnement

sécurisé et isolé ?

Besoin d’exécuter le malware pour l’analyser dynamiquement

Interagir avec le malware pour comprendre son fonctionnement

Observer les interactions du malware avec le système

Quels fichiers sont infectés ?

Quelles sont les informations échangées sur le réseau ?

Quels sont ses impacts au niveau du système ?

15

Page 16: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Environnements d’analyse

Sandbox

Machine virtuelle

Isoler le réseau (Host-only Adapter, FakeNet…)

Simuler une machine physique

16

Page 17: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Processus d’analyse 17

Analyse statique

• Format de fichier

• Chaines de caractères

• Format PE

• Désassemblage

Analyse dynamique

• Base de registre

• Système de fichiers

• Activité réseau

• Débogage

Page 18: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse statique

Déterminer le format de fichier

Commande file

Magic numbers

MZ : fichier au format executable Windows.

%PDF : fichier au format PDF.

GIF : fichier au format GIF.

CAFEBABE (en héxadecimal) : fichier contenant

une classe Java.

PK : fichier au format ZIP.

18

Page 19: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse statique

Identifier les chaines de caractères

Commande strings

19

Page 20: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse statique

Analyser le format PE

PE Explorer, PEview

20

Champ Informations utiles

Imports Fonctions d’autres

librairies utilisées par le

malware

Exports Fonctions du malware

appelables par d’autres

programmes

Time Date Stamp Date de compilation

Ressources Strings, icon …

Page 21: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse statique

Désassemblage

IDA PRO

21

Page 22: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse statique

Avantages

Large couverture

Indépendant de l’architecture

Pas de risque d’infection

Limites

Assembleur

Obfuscation

22

Page 23: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse dynamique 23

SnapshotPréparation

des outils

Exécution du Malware

• Débogage

Récupération des résultats

• Base de registre

• Système de fichiers

• Activité réseau

Restauration du snapshot

Page 24: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse dynamique

Activité au niveau de la base de registre

Process Monitor

Regshot

24

Page 25: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse dynamique

Activité au niveau du système de fichiers

Process Monitor

25

Page 26: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse dynamique

Activité réseau

WireShark

26

Page 27: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse dynamique

Débogage

OllyDbg

27

Page 28: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Analyse dynamique

Avantages

Comportement réel du malware

Interaction

Limites

Un seul flux d’exécution

Problème de sécurité

Obfuscation

28

Page 29: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

1. Qu’est ce qu’un malware ?

2. Analyse

3. Techniques d’obfuscation

4. Démonstration (Analyse de CLogger)

29

Page 30: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

«

»

L’Obfuscation est une

technique rendant un binaire

ou un texte illisible et/ou

difficile à comprendre.

30

Page 31: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Chaines de caractères

ROT13

Décaler chaque lettre de 13 caractères

Ex : Herpesnet

31

Page 32: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Packers 32

Page 33: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Anti VM

Détection de caractéristiques types

Port « VM » ouvert sous VMWare

Détection de processus

« VBoxService.exe » sous VirtualBox

Exploitation de vulnérabilité

VirtualBox (CVE-2012-3221)

33

Page 34: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Anti debug 34

Gestion du temps

Détection de points d’arrêt

Détection de processus

Page 35: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

1. Qu’est ce qu’un malware ?

2. Analyse

3. Techniques d’obfuscation

4. Démonstration (Analyse de CLogger)

35

Page 36: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Résultats d’analyse

Persistance dans la base de registre

Capture SSC.jpg dans dossier temp

C&C = [email protected]

Obfuscation basique

Fonctionnalités

Upload FTP

Désactivation pare feu et TM

Stealer

36

Page 37: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Conclusion

Domaine porteur

Malwares de plus en plus sophistiqués

Analyse difficile

Règles d’or

Ne pas chercher à comprendre tout à 100%

Si un outil ne fonctionne pas, en prendre un autre

Maintenir ses outils à jour

37

Page 38: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Pour aller plus loin Trouver des samples

http://openmalware.org/

http://malwaredb.malekal.com

http://virusshare.com/

Outils

Sandbox en ligne : http://www.malwr.com

Détecteur de packers : PEiD

Désassembleur : IDA

Debugeur : OllyDbg

Documentation

http://www.malware.lu/

Practical Malware Analysis

38

Page 39: Introduction à l’analyse de Malwares - IGMigm.univ-mlv.fr/~dr/XPOSE2013/introduction_analyse... · 2014-03-20 · Introduction à l’analyse de Malwares Author: Mickael Created

Merci de votre attention

Questions ?

39