L'analyse de malwares
Présentation des malwares
Qu'est ce qu'un malware ?
Avant de commencer à présenter les principes de l'analyse de malwares, il est nécessaire de définir précisément ce que nous désignons communément sous le terme "Malware". Nous pouvons rencontrer de nombreuses définitions de la notion de malwares, toutes adoptant une vision et approche différente.
Le terme Malware (ou logiciel malveillant) s'utilise généralement pour caractériser tout logiciel malveillant ayant pour but de compromettre un système informatique sans l'accord de son propriétaire.
Le premier Malware a fait son apparition dès le début de l'informatique, dans les années
1970.
Intitulé Creeper, il était capable d'accéder à des systèmes distants par le biais d'un modem
et affichait le
message « I'M THE CREEPER : CATCH ME IF YOU CAN » à l'utilisateur.
Depuis, les malwares n'ont cessés d'évoluer et de se complexifier pour devenir aujourd’hui la
première menace
mondiale.
Ils peuvent maintenant opérer sur des systèmes à haute criticité comme ce fut le cas avec le
malware stuxnet en
2010 qui était capable de modifier la vitesse de rotation des centrifugeuses des centrales
nucléaires.
Aujourd'hui, il existe de nombreuses variations de malwares. Il est important en tant
qu'analyste, d'avoir une
vision précise des principales familles de malwares existantes.
Chaque famille de malwares à des fonctionnalités et des objectifs spécifiques. Etre capable
de classifier la
famille d'appartenance d'un malware permet d'identifier rapidement son impact et son but.
Les familles de malwares
Les backdoor sont des malwares installant une porte dérobée (backdoor) sur la machine infectée. Cette porte dérobée est alors utilisée par l'attaquant pour s'introduire dans le système à tout moment.
Initialement, pour créer cette porte dérobée, les attaquants ouvraient un port en
écoute
sur la victime. Grace
à ce port actif, l'attaquant pouvait alors se connecter à la machine pour l'administrer
à distance.
Cette première technique montra rapidement ces limites. En effet, cette méthode requiert
une connexion et
une action manuelle de la part de l'attaquant sur chaque machine à infecter, limitant
ainsi le nombre de
machines pouvant être administrées.
Pour répondre à ces limites, les portes dérobées ont rapidement dérivées en botnet. Les botnet sont un ensemble de machines administrées à distance par le biais d'un serveur central dénommé C&C (Command and Control). L'utilisation d'un C&C permet à l'attaquant de gérer un nombre potentiellement important de machines infectées depuis un point central.
Pour faciliter l'administration des botnet, des frameworks existent. Ces frameworks appelés RAT (Remote Administration Tool), permettent de procéder à toutes sortes d'actions sur les machines infectées (base de registre, attaques ...).
Face à ce type de malware, la priorité de l'analyste va être d'identifier le C&C pour rompre la communication. Cette étape va permettre d'empêcher la machine infectée d'envoyer et recevoir des messages à son serveur central. Une fois la liaison inactive, l'analyste va s'attacher à comprendre le protocole d'échange entre le malware et son C&C, afin de mettre en place une détection générique d'une infection sur le réseau.
Ces malwares vont empêcher la victime d'utiliser son système ou accéder à ses données tant qu'elle n'a pas payée une rançon à l'attaquant.
Exemple de ransomware
Pour empêcher l'accès aux données, la plupart des variantes vont chiffrer les données de la machine pour les rendre inaccessibles. La clé de déchiffrement sera alors livrée à l'utilisateur lors du paiement de la rançon.
L'objectif principal pour l'analyste, va être d'identifier les méthodes et algorithme de cryptage utilisés.
Comme leur nom l'indique, ces malwares vont tenter de dérober des informations sur les victimes. A l'instar des backdoor, ces malwares vont dialoguer avec l'attaquant par le biais d'un C&C pour transmettre les données récupérées.
L'objectif pour le pirate étant principalement de récupérer des informations sensibles (numéro de carte de crédits, mot de passe ...).
La mission principale de l'analyste, va être d'identifier le serveur central pour rompre
la communication et
empêcher l'envoie de données.
Ensuite, il va essayer de comprendre quelles informations sont impactées pour estimer
les risques encourus par l'infection.
Ce malware a pour but de s'introduire dans un système et de dissimuler son activité.
Pour cela il va supprimer toutes traces dans les fichiers de journalisation, la base de
registres....
Il va également se dissimuler au sein du système de fichiers par le biais de mécanisme de
hook.
Les hook vont consister à remplacer un appel système par un autre. De cette façon, il
peut par exemple cacher certains fichiers liés au rootkit dans l'explorateur
Windows.
Par ailleurs, les rootkits peuvent stopper certains processus comme les antivirus ou
encore les pare feu.
De par leurs actions, les rootkit nécessitent des privilèges élevés. C'est pourquoi il
n'est pas rare de trouver des rootkit au niveau du noyau.
La plupart du temps un rootkit est associé à un autre malware, pour le rendre difficile
à détecter.
Les rootkit sont les malwares les plus difficiles à analyser à cause de leurs nombreuses fonctionnalités et leur dissimulation.