Passer au contenu

Macrovirus : les connaître pour mieux les combattre

Début 2000, le virus I love you se répand sur la planète. Il appartient à la classe de virus la plus connue et la plus nuisible. Gros plan sur leur mode de fonctionnement et de propagation, et sur les moyens préventifs pour éviter l’infection.

Jusqu’en 1995, les experts antivirus se plaisaient à dire que les fichiers de données étaient naturellement protégés contre les virus. Mais l’avènement des macrolangages et l’apparition de Concept, le premier macrovirus, ont changé à jamais la règle du jeu. Révolutionnaire à l’époque, Concept fait pâle figure aujourd’hui, face à une nouvelle génération de macrovirus exploitant la puissance de Visual Basic, de la messagerie électronique et d’Internet. Il n’aura fallu que cinq heures au virus I love you, au début de l’année 2000, pour se répandre sur bon nombre d’ordinateurs connectés de la planète. Et si différentes solutions existent pour se protéger, aucune ne permet d’être à l’abri à 100 %.Les macros sont des ensembles de commandes permettant aux utilisateurs, au sein d’une application, d’automatiser certaines actions et, par là même, de leur faciliter la tâche. Les langages de macrocommandes peuvent différer d’une application à l’autre. Ils sont présents dans la plupart des traitements de texte, tableurs, bases de données, outils de développement etc. Le plus courant des macrolangages est Visual Basic for Application (VBA), présent dans la suite Microsoft Office 2000. Au-delà de l’écriture de simples automatisations de commandes, un utilisateur peut aussi écrire un script Visual Basic faisant une requête dans une base de données Access et envoyer un courrier électronique aux utilisateurs, résultant de la requête. Dans Microsoft Office, les macros sont stockées en clair et sont accessibles par l’éditeur de macros.

Les macrocommandes autoexécutables font le lit des virus

Si les macros ont été créées pour permettre aux utilisateurs d’être plus productifs, elles apportent malheureusement aussi aux auteurs de virus un nouveau terrain d’action. Ainsi, le terme de macrovirus est utilisé pour décrire un virus qui a été écrit dans un langage de programmation macro tel que VBA. Tout comme les autres types de virus, les macrovirus se composent de deux parties : le code, qui les autorise à se répliquer ; et une ” charge “, qui leur permet d’effectuer une tâche particulière. Étant écrit en langage macro, un macrovirus particulier peut s’exécuter dans n’importe quel environnement compatible avec ce langage. Auparavant, comme la plupart des macrolangages étaient spécifiques à une application donnée, les macrovirus étaient également spécifiques à une application. Mais, avec l’avènement de Visual Basic For Application, désormais présent dans les logiciels de la suite Office 2000, ils peuvent passer d’une application bureautique à l’autre. Melissa, par exemple, dont les macros malicieuses s’exécutent sous Word, utilise Outlook pour envoyer une copie de lui-même à d’autres utilisateurs.Le facteur déterminant qui rend possible l’écriture de virus avec un macrolangage est l’existence de macros autoexécutables dans le langage. Une commande autoexécutable se crée en fonction de certains événements et non en fonction d’une commande explicite de l’utilisateur. L’ouverture, la fermeture, ou encore, la création d’un document sont considérées comme des événements. Chaque fois, par exemple, qu’un utilisateur ouvre un document, la commande macro AutoOpen est automatiquement exécutée par MS-Word. Cette action est activée sans que l’utilisateur y ait explicitement fait appel. Ainsi, un virus contenant une macro appelée AutoOpen s’exécutera chaque fois qu’un utilisateur ouvrira un document. Ce mécanisme permet au virus de se propager grâce à la simple ouverture d’un document par l’utilisateur. D’autres macros telles qu’AutoSave s’autoexécutent à la fermeture d’un document. Ce processus est totalement transparent pour l’utilisateur. Cet aspect est déterminant pour autoriser le virus à proliférer. Les macrovirus s’exécutent et se propagent donc en ajoutant une ou plusieurs macros autoexécutables dans un document.

Les failles de Word : bouillon de culture

Une infection par un macrovirus se déroule généralement comme suit : le document texte ou la feuille de calcul infectés s’exécutent en mémoire, chargeant ainsi les macros qu’ils contiennent, y compris les macros malicieuses. Une fois le macrovirus en mémoire, il attend la sauvegarde d’un document pour l’infecter. Il suffit donc d’ouvrir un document infecté une seule fois pour que le virus puisse infecter tous les documents qui seront utilisés par la suite.Un document Word infecté est en fait un modèle déguisé sous la forme d’un document. Et cela est rendu possible car, bien que Word ait recours par défaut aux extensions .DOT pour ses modèles, ceux-ci n’ont pas besoin de cette extension pour être utilisés. Et un modèle peut contenir des macros. La clé du virus dénommé Concept, premier macrovirus découvert ” dans la nature “, est la macro AutoOpen qui s’exécute automatiquement chaque fois qu’un document est ouvert. Lorsque vous ouvrez un document infecté, le virus modifie le modèle NORMAL.DOT, que Word garde chargé en mémoire, en permanence. Un fois infecté, le modèle NORMAL.DOT infecte tous les documents enregistrés par la suite avec la macrocommande SaveAs. Comme Word utilise cette macro chaque fois qu’un document est sauvegardé, cela signifie que tout document enregistré sera infecté.

La rapidité de la prolifération, nouvelle plaie

L’utilisation de macros pour l’écriture de virus se révèle terriblement efficace pour la prolifération de ces derniers. Les macrovirus sont, en effet, plus nombreux que les autres types de virus, et se répandent de manière exponentielle. Ces deux dernières années, par exemple, sur les cinq cents nouveaux virus découverts ” dans la nature “, et non des variantes, 87 % étaient des macrovirus. Ce phénomène est dû au fait qu’ils sont faciles à écrire. Avant le macrolangage, il fallait, en effet, savoir développer en langage assembleur pour écrire un virus de démarrage. Aujourd’hui, Visual Basic For Application est un langage assez intuitif accessible à tout un chacun.En ce qui concerne la vitesse de propagation des épidémies, il aura fallu quatre mois au virus Concept en 1995 pour devenir le virus le plus répandu. Quatre jours ont suffi au virus Melissa pour devenir numéro un au palmarès. Les documents Word sont, en effet, les fichiers les plus échangés de la planète, et le courrier électronique permet de les envoyer à plusieurs centaines d’utilisateurs en une fraction de seconde. Ensuite, les macrolangages deviennent plus puissants, si bien que les macrovirus deviennent plus complexes également. Ces derniers peuvent à présent tirer directement parti des ressources du système et avoir accès à d’autres applications telles que le courrier électronique pour infecter plus de monde et plus vite. En effet, d’après l’association ICSA (International Computer Security Association), le premier mode de prolifération utilisé par les macrovirus est le courrier électronique. Pour peu que le macrovirus soit écrit pour exploiter le courrier automatiquement, il devient alors un ver (worm, en anglais).La crainte d’être infecté par un virus simplement en ouvrant un courrier électronique, sans accéder à la pièce jointe, est très courante. Il est, effectivement, possible pour la plupart des programmes de messagerie d’encapsuler des macros dans le corps d’un message. Si un virus faisait appel à cette fonction, il pourrait se propager comme une traînée de poudre et ” mettre à genoux ” la messagerie d’une entreprise, avec des copies de lui-même. Heureusement, un tel macrovirus n’existe pas aujourd’hui. Il a, en fait, peu de chance d’exister dans la mesure où il ne pourrait pas se répandre à l’extérieur de l’entreprise.

Les premières parades des suites bureautiques Microsoft

La plupart des envois de messages électroniques entre sociétés se font, en effet, par le biais du protocole SMTP (Simple mail transfer protocol), qui efface les macros associées au message avant de l’envoyer, rendant ainsi ce dernier inoffensif.Les éditeurs de suites bureautiques ont commencé à doter leurs logiciels de quelques antidotes. La suite Office 97, de Microsoft, intégrait aussi un début de protection en avertissant l’utilisateur de la présence de macros dans le document qu’il s’apprêtait à ouvrir, et en lui offrant la possibilité de désactiver ces mêmes macros. Office 2000 a introduit des notions de sécurité plus élaborées pour se protéger des macrovirus . Cette nouvelle suite permet à l’utilisateur de choisir parmi trois niveaux de sécurité. Le niveau le plus bas n’offre aucune protection. Le niveau moyen est identique à la protection présente dans Office 97. Enfin, la protection la plus haute fait appel aux signatures numériques pour aider les utilisateurs à distinguer les macros légitimes des macros malicieuses. Ainsi, Office 2000 désactive de manière transparente toute macro non signée numériquement lorsque le niveau de sécurité est au maximum.Néanmoins, cette authentification des macros par signature ne fonctionnera que si tout le monde s’accorde à signer ses macros. De plus, sa mise en place peut être lourde. Afin d’échanger des macros à l’extérieur de l’entreprise, l’obtention de certificats, compatibles avec Microsoft Authenticode, est nécessaire. La démarche est payante et se fait auprès d’un serveur CA (Certificate authority). Une société peut également employer un serveur de certificat Microsoft pour créer et utiliser des certificats en interne. Si cette solution est gratuite, elle ne permet pas d’échanger des macros avec l’extérieur et nécessite l’installation du root certificate sur chaque poste de travail afin de leur permettre d’authentifier les macros. Autre limitation : Office 2000 signe seulement les macros développées en VBA. Ainsi, un document Office 97 ouvert sous Office 2000 sera traité comme un document dont les macros n’ont pas été numériquement signées. Inversement, Office 97 ne saura pas exploiter la signature numérique d’un document Office 2000, et l’utilisateur sera seulement averti de la présence de macros. Office 2000 permet également à ce dernier de spécifier un logiciel antivirus qui analysera tout fichier Word, Excel ou PowerPoint avant son ouverture. Office 2000 apporte également un nouveau format de fichier en autorisant la sauvegarde des documents sous la forme de pages Web. Or, ces documents conservent toutes les propriétés des documents sauvegardés en format Word standard. Les macros sont sauvegardées dans un fichier appelé EDITDATE.MSO. L’accès à un tel document par le biais d’un navigateur ne permet pas aux macros d’être exécutées, et ne laisse donc pas le champ libre au virus pour infecter la machine.En revanche, un navigateur tel qu’Internet Explorer peut reconnaître le format du document et lancer automatiquement l’application associée, permettant alors aux macros de s’exécuter. Celles d’un document sauvegardé sous la forme de pages Web étant stockées dans un format différent, seuls les antivirus spécialement conçus pour analyser ce type de document pourront détecter les macrovirus qu’ils contiennent.

Les antivirus, leurs atouts et… leurs limites

Il existe heureusement d’autres solutions pour se protéger contre les macrovirus. La première consiste en toute logique à installer un logiciel antivirus au niveau du poste de travail. Mais cette méthode souffre d’un certain nombre de faiblesses. D’une part, bien qu’équipés de technologies d’analyse (heuristique et comportementale, par exemple), la plupart de ces logiciels ne sont en mesure de détecter le nouveau virus qu’à partir du moment où une définition pour ce dernier est disponible. D’autre part, en cas d’épidémie, il faut pouvoir mettre à jour toutes les stations de travail pour arrêter efficacement la progression du virus. Il est donc nécessaire de placer un antivirus au niveau des serveurs de messagerie pour empêcher le virus de se répandre à travers les boîtes aux lettres. Il est recommandé, également, d’installer une protection antivirale au niveau des passerelles SMTP afin de bloquer le virus avant qu’il n’atteigne l’entreprise.Les administrateurs du réseau peuvent prendre d’autres mesures en attendant que les éditeurs de logiciels antivirus fournissent un antidote pour lutter contre un nouveau virus apparu.Au niveau de l’application cible, il est possible d’activer la protection contre les macros (menu Outil, Macro, Sécurité, dans Word 2000), ou encore, l’utilisation des signatures numériques. Le logiciel client de messagerie, s’il s’agit d’Outlook, pourra également être mis à jour avec le Service Release 1 pour éviter, entre autres, que des messages électroniques soient envoyés sans que l’utilisateur en ait connaissance. Au niveau de l’entreprise, l’administrateur pourra, à l’aide d’outils fournis par les éditeurs d’antivirus, référencer et ne laisser exécuter que les macros autorisées. Pour les administrateurs de messagerie, il faudrait aussi bloquer les pièces jointes dont les extensions n’ont pas lieu d’être. Il n’est, en effet, absolument pas courant, par exemple, que des utilisateurs échangent des fichiers .VBS.Une autre approche consiste à bloquer tout type de pièce jointe hormis les pièces qui sont explicitement autorisées à passer. L’utilisation d’un logiciel filtrant le contenu des courriers tel que World Secure, de WorldTalk ; Mail Sweeper, de Content Technologies (racheté depuis par Baltimore) ; Mail-Gear, de Symantec, ou encore, Trend Emanager, de Trend Micro, peut également se révéler très efficace pour éviter que le virus entre dans le système de messagerie de l’entreprise. Dans le cas du virus I love you, il a suffi aux administrateurs d’effacer tout message dont le titre comprenait I love you.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Geneviève Koo