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

  • Backdoor
  • 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.

  • Ransomware
  • 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.

  • Stealer
  • 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.

  • Rootkit
  • 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.