L'analyse de malwares
Communication avec le Command and Control
Introduction
La plupart des malwares présentés précédemment vont tenter de communiquer avec l'attaquant.
C'est le cas
par exemple des
keyloggers appartenant à la famille des stealer qui vont transmettre des informations dérobées de la victime
au pirate.
Dans le domaine de l'analyse, l'équipement de l'attaquant en communication avec le malware est nommé Command
and Control.
Les canaux de communication entre le malware et son Command and Control sont le plus souvent le point faible
de l'infection.
En effet, il suffirait de rendre la liaison inactive à l'aide d'équipement spécialisé comme un pare feu
pour rendre le malware inopérationel.
Pour empêcher cela, les créateurs de malwares mettent en place des systèmes et des mécanismes de plus en
plus sophistiqués pour communiquer avec leur malware.
La plupart de ces méthodes sont basées sur le principe du DNS.
Nous allons présenter les trois méthodes les plus connues et les plus utilisées par ordre de complexité.
Transmission des noms de domaines
Dans cette première technique, le Command and Control transmet régulièrement une nouvelle liste de noms
de domaine aux victimes.
La plupart du temps, les malwares disposent de plusieurs noms de domaine pour contacter leur Command and
Control.
De cette façon, en cas d'adresse inacessible d'autres adresses sont utilisables.
Fast flux
Ici, la communication entre les malwares et le serveur central va utiliser un des principes de base
du fonctionnement du protocole DNS.
Il s'agit simplement d'associer à un nom de domaine plusieurs adresses IP.
Domain Generation Algorithm
Cette dernière méthode est la plus évoluée des techniques présentées dans ce document.
A l'opposé des deux méthodes décrites précédement, les malwares vont générer localement les
adresses DNS permettant de contacter les C&C.
Par exemple, le malware Conficker générait des milliers de noms de domaines chaque jour et
tentait de contacter les adresses pour trouver d'éventuels C&C.
La difficulté de mise en place de cette méthode est de trouver un algorithme de génération
efficace avec un mécanisme suffisamment aléatoire pour éviter d'être détecté.