ANALYSE DE CODE MALVEILLANT Flashcards

1
Q

L’analyse de code malveillant est

A

L’analyse de code malveillant est une activité essentielle de la
cyberdefense.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Constat

A
  • l’antivirus ne détecte pas tous les codes malveillants.
  • Alerte de faux négatifs.
  • l’antivirus peut ne pas être a jour.
  • Le SI peut ne pas être a jour.
  • presence de fichier numérique douteux.
  • besoin d’étudier un code récupéré sur une station infectée.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

L’analyse de code.
Pourquoi ?

A
  • Determiner si un chier est suspect ou non.
  • Attaque ciblée ou grande échelle ?
  • Obtenir des info sur la source de l’attaque.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Comprendre le fonctionnement du code malveillant.

A
  • type
  • objectif
  • moyen de propagation
  • Origine
  • Est-il connu ou non ?
  • Son impact sur le réseau, SI, ordinateur.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

De quoi a-t-on besoin ?

A
  • Un échantillon.
  • Le fichier compromis.
  • Environnement sécurisé et isolé.
  • Des outils.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

3 méthodes d’analyses**

A
  • Analyse statique.
  • Analyse dynamique.
  • Analyse retro-conception (reverse engineering)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Analyse statique

A
  • Etude du code.
  • Obtenir des informations du fichier suspect sans l’executer.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Analyse dynamique

A
  •  Etude comportementale
  • Observer le code execute dans un environnement controlé
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Analyse retro-conception

A

(reverse engineering)
- Etude du code.
- Etude comportementale
- Analyse du code en profondeur (désassemblage, débogage) sans
execution de celui-ci.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Analyse statique def

A

Explorer le contenu des fichiers suspects a l’aide d’outils,
dans le but d’en extraire le maximum d’informations intelligibles pour
l’homme sans execution.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Analyse statique méthode

A
  • Fichier suspect
  • Empreinte (hash)
  • Type de fichier
  • Analyse
  • Désobfuscation
  • Examen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Fichier suspect

A
  • Récupération d’un fichier suspect
  • Après investigation (Forensic numérique)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Empreinte (hash)

A
  • Calculer l’empreinte numérique du  chier suspect.
  • Identifiant unique du code (detection de mutation).
  • Comparaison avec des cas connus.
  • Utilisation des algorithmes : md5sum, sha1sum, sha256sum,
    sha512sum.
  • Comparer l’empreinte du  chier suspect.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Type de fichier

A

Identifier et classer le type de fichier, l’architecture / logiciel cible
- commande < file > sous Linux
- logiciel string de sysinternals

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Analyse

A

1 - Determine le format du fichier :
- Utilisation d’un éditeur hexadécimal.
- Découverte du nombre magique. (magic numbers)
2 - Extraire les chaines de caractères suspectes du code :
3 - Analyser le format des fichiers.
- Métadonnées

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Extraire les chaines de caractères suspectes du code.
On cherche quoi ?

A
  • noms de fichiers
  • messages < personnalisés >
  • URL / nom de domaine. . .
  • clés de base de registre
  • adresse IP
  • adresses mails
  • commandes systémes
17
Q

Désobfuscation**

A
  • Méthode utilisée pour cacher son code pour êtres incompréhensible.
  • tentative de contournement de l’analyse statique
  • upx.exe
18
Q

Examen

A
  • Réexaminer / réanalyser le code après Désobfuscation, voire décompilation sommaire si nécessaire.
  • Recouper les informations obtenues.
  • Ensuite, rechercher en ligne pour corréler les elements obtenus avec
    d’autres cas deja repertories.
19
Q

Avantages/ Inconvénients de l’analyse statique

A
  • Extraction possible et rapide d’une quantité importante
    d’informations.
  • Peut être suffisant si le code est non complexe.
  • Difficile, voire impossible, si obfuscation de code.
20
Q

Analyse dynamique

A

Exécuter le code malveillant dans un environnement contrôle afin
d’analyser son comportement sur le système.
L’isolement de tout réseau
opérationnel est impératif
avant de procéder a cette
analyse.

21
Q

Comment faut-il procéder ?

A

1 - Mise en place :
* environnement de test le plus < réel > possible.
*disposer d’un environnement cloisonné / sécurisé.
2 - Execution du code.
3 - Surveillance :
* des modifications de la mémoire, des processus, du systéme de fichiers et de la base de registre, du trafic réseau.

22
Q

Méthodologie en 6 étapes

A

1 - Réalisation d’un instantané.
2 - Observation a l’aide d’outils.
3 - Exécution du code malveillant.
4 - Analyse du comportement du code suite a l’observation.
5 - Réalisation d’un second instantané.
6 - Comparaison des états.

23
Q

RAPPELS méthode

A
  • Le parentérale de simuler une connexion internet peut
    être délicat  a réaliser.
  • L’isolement du réseau internet peut provoquer un comportement <
    anormal > d’un code malveillant.
24
Q

Avantages / Inconvénients de l’analyse dynamique

A
  • Avantages :
  • Exécution du code en environnement quasi-réel.
  • Vision rapide du comportement du code.
  • Inconvénients :
  • Détection possible des machines virtuelles/sandboxes.
24
Q

Analyse retro-conception

A

(reverse engineering)
- Cadre juridique.
- Rétro-conception statique.
- Rétro-conception dynamique.

25
Q

Cadre Juridique

A
  • Le cadre juridique de la rétro-ingenierie est très strictement déni par
    la loi française.
  • Il est illégal de la pratiquer sans raison valable.
  • l’article L. 331-5 du code la propriété intellectuelle.
26
Q

Rétro-conception statique**

A
  • Analyse approfondie du code sans l’exécuter.
  • Deux méthodes possibles:
  • la décompilation.
  • Le désassemblage.
27
Q

Décompilation

A
  • Reconstitution partielle ou totale du code source d’un logiciel.
  • Etude et teste de fonctionnement du logiciel.
  • Basée sur le langage assembleur.
  • Pratiquement impossible de retrouver exactement le code source initial (dépend du langage de programmation).
28
Q

Désassemblage

A
  •  étude statique de ce que réalise le programme en traduisant l’exécutable en suite d’instructions machine.
  • Génération du code assembleur correspondant au programme.
    (IDA Pro) payant
29
Q

Rétro-conception dynamique

A
  • Suivre pas à pas l’exécution d’un programme en cours de fonctionnement.
  • Dans ce cas, le code malveillant est exécuté et infectera la machine
  • Il faut travailler sur une machine virtuelle.
30
Q

Débogage

A
  • Exécution d’ un binaire instruction après instruction.
  • Placement de points d’arrêts (breakpoints) afin de stopper l’exécution pour consulter l’état du code malveillant.
  • exemple de logiciel : ollydbg
31
Q

Avantage et Inconvénients
de la Rétro-conception

A
  • Avantage :
  • Vision précise du comportement du code malveillant.
  • Etude du code pas à pas.
  • Inconvénients :
  • Utilisation d’outils complexes.
  • Technicités élevées.
  • Nécessité de disposer de suffisamment de temps.