Furtif, mutant et modulaire : anatomie du malware moderne

Les jours heureux où la détection des attaques se limitait à scanner des fichiers ZIP attachés en pièce jointe de mails envoyés depuis des adresses suspectes sont révolus. Les attaques deviennent maintenant beaucoup plus sophistiquées.

Les attaquants débordent d’inventivité pour garder un coup d’avance dans cet éternel jeu du chat et de la souris qu’ils engagent quotidiennement avec les RSSI du monde entier. Pour atteindre plus facilement son but, l’attaquant doit concevoir une attaque qui soit à la fois furtive, mutante et modulaire.

Furtivité

Une action furtive, comme nous le rappelle le dictionnaire Larousse, est une action « qui se fait rapidement, à la dérobée, de manière à échapper à l’attention ». Comme l’explique Jérôme Segura, Chercheur en Sécurité chez Malwarebytes, « certains malware récents résident uniquement en mémoire vive, ne laissant ainsi aucune trace sur les disques durs, ce qui les rend très difficiles à détecter par les antivirus classiques. »

D’autres malwares contiennent des parades pour éviter d’être dévoilés lors des opérations de bac à sable. Certains peuvent montrer un comportement tout à fait inoffensif pendant les 5 à 10 minutes durant lesquelles la phase de bac à sable est normalement supposée durer, et ne devenir vraiment offensifs qu’après ce délai. D’autres peuvent créer une erreur qui fera crasher les processus de détection. Une autre astuce consiste à provoquer des « faux positifs », qui laisseront penser qu’il s’agit d’un comportement anormal, mais limité, ne nécessitant pas d’actions complémentaires de la part des équipes de surveillance.

Mutation

Une attaque détectée par les multiples organisations qui la combattent perd immédiatement une part de sa nocivité. C’est pourquoi les attaquants conçoivent des logiciels polymorphes, mutants, qui peuvent de nouveau passer au travers des mailles du filet des parades trouvées pour contrer une version antérieure. Jérôme Segura ajoute : « la chaîne de livraison des malwares se diversifie. Auparavant, un malware pouvait rester plusieurs heures sur un serveur de fichiers. Aujourd’hui, avec les macros, il est très facile d’importer un malware ‘zéro-hour’, donc pas encore neutralisable. » La récente étude menée par Cisco « 2017 Annual Cybersecurity Report » montre l’accroissement de la fréquence d’évolution de six principales familles de malwares.

Modularité

Pour être moins facilement détectables, certains malwares jouent la carte de la modularité. Avec la mise à disposition de code malicieux dans des répertoires comme GitHub, l’attaquant peut facilement réutiliser, combiner, adapter des morceaux de code malveillants qui ont fait leurs preuves. Comme l’explique Jérôme Segura : « le développement de code malveillant passe par les mêmes phases de tests, de qualité, qu’un logiciel normal développé par une entreprise ou un éditeur. Ils sont même soumis aux logiciels anti-malware afin d’éviter d’être découverts trop vite. »

La modularité permet d’adapter l’activation de modules malicieux en fonction du contexte spécifique à la cible infectée. C’est par exemple le cas des chevaux de Troie de type RAT (Remote Administration Tools) malicieux, qui permettent à l’attaquant de prendre le contrôle d’une machine à distance, et de mener ensuite les actions nuisibles.

Pour contrer ces malwares modernes furtifs, mutants et modulaires, il faut s’équiper d’outils sophistiqués, qui agiront sur plusieurs fronts afin de déjouer au mieux l’attaque en cours. L’antivirus classique reste utile, mais plus suffisant à lui seul. Il faut également se prémunir contre les ransomwares, les exploits et éviter l’infection depuis des sites web – même ceux qui paraissent a priori inoffensifs.