• Aucun résultat trouvé

Partie I État de l’art 19

1.3 Taxonomie des malwares

Bénin

Epien (Simple) ×

Disséminateur ×

Malveillants × ×

TABLE1.1 – Les différentes classes de malwares selon Adleman

ϕIv(a)(s,t) =g(s,t)

ϕa(s,t) =g(s,t)où : ∃i,si6=si.

∀i,si=sisi=Iv(si)

Définition 8 : Pour tout système (s,t), un malware v est furtif si pour un programme a, la tâche réalisée par la forme infectée est identique à celle réalisée par la forme normale et si les programmes du système restent inchangés :

ϕIv(a)(s,t) =a(s,t)

Adleman considère alors qu’un malware est contagieux s’il possède des capacités infectieuses et il est pathogène s’il est nuisible. Quatre classes de malwares sont alors identifiables et représentées dans le tableau 1.1. Il est important de noter que les programmes auto-reproducteurs de Cohen sont équivalents à la classe des malwares disséminateurs.

1.3 Taxonomie des malwares

Alors que la section précédente donnait les bases théoriques de la virologie informatique, des déf-initions plus pratiques sont introduites ci-dessous. Il existe plusieurs critères de classification possible des malwares. Cependant, malgré un critère précis, un malware peut se retrouver dans plusieurs classes distinctes du fait de la variété des actions qu’il peut mener. Une taxonomie des programmes infectieux, dont est dérivée la figure 1.2, est proposée dans [61].

Deux types distincts sont considérés. Les malwares qui ont infecté d’autres fichiers tels que précédem-ment introduits :

– ceux, dits simples, qui ne se propagent pas (voir formalisme d’Adleman), – ceux auto-reproducteurs (voir formalisme de Cohen)

À l’inverse, il existe des malwares dits non infectieux qui sont en fait les programmes contenus dans les précédents (payload) et les deux ainsi associés forment alors un malware dangereux. Ce type de malware correspond alors à la classe malveillante d’Adleman. C’est véritablement le programme annexe qui a la charge de l’action malveillante. À titre d’exemple, on peut citer des publiciels ou adwares (logiciels affichant de la publicité), des logiciels espions (enregistreur de frappe, récupération des mots de passe), des rootkits permettant de dissimuler les autres malwares et actions malveillantes ou encore des portes dérobées (backdoor en anglais)... Ce dernier type est aussi très dangereux car l’attaquant peut réaliser de nombreuses actions malveillantes : récupération ou destruction de données de la victime, récupération des mots de passe, attaques vers d’autres machines, passerelles pour anonymiser sa connexion... Les programmes infectieux sont donc associés la plupart du temps à un autre programme de nature diverse mais le but ici n’est pas de détailler les diverses possibilités. C’est pourquoi seuls les types infectieux sont détaillés ci-après.

Programme infectieux Programme non infectieux Malware

Simple Auto−reproducteur

Bombe logique Cheval de Troie Virus Vers

Contenu (payload)

FIGURE1.2 – Taxonomie générale des malwares, les vers et virus contiennent en général un programme annexe (payload) qui est lui aussi un malware

1.3.1 Bombe logique

Une bombe logique est un malware dont l’action malveillante est conditionnée par la satisfaction de certaines conditions : date, actions de l’utilisateur de la machine... L’exemple le plus connu d’un tel malware est le virus Tchernobyl ou CIH. Celui-ci a sévi à la fin des années 90 et au début des années 2000 et était très virulent. Il est considéré comme une bombe logique car il s’activait uniquement le jour de l’anniversaire de la catastrophe nucléaire de Tchernobyl.

Une bombe logique ne se propage pas d’elle même et est la plupart du temps associée à un vers ou un virus pour pouvoir se répandre à grande échelle.

1.3.2 Cheval de Troie

Les chevaux de Troie sont des logiciels en apparence bénin mais dont certaines fonctionnalités sont cachées à l’utilisateur. Ainsi, en installant un logiciel tout à fait banal, celui-ci va effectuer des actions non conformes à ses spécifications, comme par exemple supprimer des fichiers ou redémarrer la machine. Les chevaux de Troie sont en général associés à des portes dérobées qui permettent à un attaquant de pouvoir prendre le contrôle de la machine à distance. La nature du logiciel peut être très différente et se limiter simplement à ne rien faire. Par exemple, un programme qui serait téléchargé et installé d’après sa description et qui ne ferait rien hormis des actions malveillantes serait aussi considéré comme un cheval de Troie.

Ils ont été popularisés par Back Orifice [13] qui fut intégré et caché dans de nombreux malwares et qui permet de contrôler une machine Windows à distance. Ce programme n’est pas un malware lorsqu’il est installé légitimement et les auteurs ont défendu l’intérêt légal de ce programme notamment pour les administrateurs réseaux. Plus récemment, Silentbanker [2] visait à faire de la fraude bancaire.

1.3. Taxonomie des malwares

FIGURE1.3 – Nombre de machines infectées par CodeRed le 19/07/2001

1.3.3 Virus

Un virus est un programme auto-reproducteur qui cherche à se cloner dans différents endroits d’un système informatique (fichiers, mémoire...) (voir section 1.2). La méthode la plus simple consiste à écraser un fichier en partie ou en entier. De ce fait, l’exécution même du programme ne pourra pas fonctionner convenablement et le virus sera facilement repéré. D’autres méthodes consistent à insérer le virus dans le fichier sans en altérer son comportement. La taille de ce dernier se retrouve donc augmentée mais son comportement reste normal aux yeux de l’utilisateur.

1.3.4 Vers

Un vers est un malware infectieux qui se transmet via les réseaux de communication. Aujourd’hui, nombreux sont les vers qui ne se limitent pas à ce moyen de propagation et qui en incluent d’autres habituellement utilisés par les virus tel qu’Conficker [20] qui se transmet aussi via les supports USB. Un bref aperçu des vers est donné ici et illustré par quelques exemples. Historiquement, le vers Morris (1989) du nom de son auteur est considéré comme le premier [77].

Les vers se propagent généralement grâce à des failles présentes sur les systèmes informatiques à l’instar de CodeRed [73]. Ce ver, apparu en 2001, exploite une faille du serveur Web IIS de Microsoft [10]. Les études réalisées dans [10] montrent son efficacité et surtout sa vélocité d’infection comme illustré sur la figure 1.3 où en une journée, le ver a contaminé 350.000 machines soit le maximum ob-servable avec la méthode utilisée. Ce ver se propageait de manière aléatoire car chaque instance balayait 100 adresses IPs à la recherche d’un serveur IIS. La même méthode fut appliquée par Slammer mais de manière encore plus impressionnante car 90% des machines vulnérables furent infectées en 10 minutes [70]. Les auteurs de [64, 74] proposent des modèles plus évolués en attribuant à chaque hôte infecté une liste d’adresses à tester précise et différente, au moins en partie, de celle d’une autre machine infectée.

Les adresses à balayer sont ainsi distribuées tout au long de la propagation du vers. En outre, certains vers peuvent aussi établir des listes selon ce qu’ils recherchent (serveurs de mail, Web...) [74].

Cependant la recherche exhaustive de machines à infecter n’est pas très discrète et est donc facile-ment détectable. De nouvelles techniques de propagation plus ciblées ont alors vu le jour. Par exemple, ILoveYou [75] se propageait en envoyant des courriels vers les adresses des carnets d’adresses des ma-chines infectées. Aujourd’hui, grâce au nombre de messageries différentes qui existent, les virus peuvent passer ou collecter des informations via de nombreux réseaux [57] qui ont l’avantage de fournir une liste de victimes potentielles et leurs états (connectées ou non).

Bien qu’ici seuls les aspects de propagation soient traités, les vers comme les virus sont généralement associés à un autre programme ou module dont les actions possibles sont diverses. A titre d’exemple, les ordinateurs infectés par CodeRed lançaient des attaques de déni de service [74]. De plus, un vers peut combiner plusieurs moyens de propagation [74].

Documents relatifs