Comment se protéger des macros infectées par un virus sur Excel ?
Dans ce tutoriel, nous allons revenir sur l’un des points cruciaux du développement des macro-commandes en VBA qui est la sécurité des macros. Il est en effet important de bien comprendre comment cette sécurité afin de ne pas lancer par inadvertance un fichier Excel contenant une macro malicieuse qui viendrait mettre en péril le bon fonctionnement du poste de travail.
Tutoriel Vidéo
1. Présentation
Par défaut, lorsque nous travaillons sur une installation neuve d’Excel (ou si nous n’avons pas modifié les réglages d’origine) lorsque nous souhaitons ouvrir un classeur contenant une macro-commande, celui-ci va nous afficher un message dans un bandeau jaune tout en haut.
Il s’agit d’un « avertissement de sécurité », qui nous informe que l’usage des macro-commandes est désactivé.
2. Activer les macros
Il est alors nécessaire de cliquer sur le bouton « Activer le contenu » pour rendre les macros opérationnelles.
Il faut en effet savoir qu’une macro-commande malicieuse peut avoir des conséquences dramatiques sur le poste de travail sur lequel elle est installée.
Si la plupart des macros vont se contenter d’ajouter des fonctionnalités utiles au fonctionnement d’un classeur donné, il faut bien garder à l’esprit que celles-ci peuvent également permettre de manipuler des applications tierces, et même prendre la main sur Windows au travers de l’utilisation de l’invite de commande.
Il faut donc être extrêmement prudent avant d’appuyer sur le bouton « Activer le contenu », et s’assurer que l’origine du classeur est sûre et digne de confiance, en particulier lorsque celui-ci provient d’un téléchargement internet.
Lorsque nous appuyons sur le bouton Activer le contenu, le fichier va alors être pleinement exploitable et sera considéré comme étant un fichier approuvé.
Cette approbation tient compte également de l’emplacement d’enregistrement du fichier.
C’est la raison pour laquelle, si le fichier vient à être déplacé, alors la procédure d’approbation sera à relancer, l’avertissement sera à nouveau proposé.
Comme nous l’avons vu un peu plus tôt, il s’agit du réglage par défaut appliqué par Excel pour la sécurité des macros.
Lorsque nous nous rendons dans le menu Fichier > Informations, nous allons encore pouvoir personnaliser la manière dont Excel doit gérer la sécurité des macros sur le fichier en cours de travail :
Nous pouvons ainsi choisir d’approuver le fichier, définitivement, ou seulement pour la session de travail en cours.
3. Gestion avancée de la sécurité des macros
Nous pouvons personnaliser ce fonctionnement en nous rendant dans le menu Fichier > Options > Sécurité des macros
Nous y retrouvons alors quatre niveaux de sécurités possibles :
- « Désactiver toutes les macros sans notification », il s’agit du mode de sécurité le plus élevé. Ici, les macros sont désactivées, et il ne sera même pas possible de les activer à nouveau, le bandeau jaune n’étant pas proposé.
- « Désactiver toutes les macros avec notification », ici nous retrouvons le fonctionnement par défaut que nous avons pu découvrir un peu plus tôt : les macro-commandes sont désactivées à l’ouverture du classeur, mais il est possible de les réactiver d’un simple clic.
- « Désactiver toutes les macros à l’exception des macros signées numériquement », ici toutes les macros sont désactivées par défaut, sauf les macros pour lesquelles le développeur dispose d’un certificat reconnu. Nous avions déjà vu dans un tutoriel précédent pour créer gratuitement un certificat d’approbation des macros pour rendre celles-ci reconnues comme étant sécurisées.
- « Activer toutes les macros (non recommandé ; risque d’exécution de code potentiellement dangereux », dans cette dernière option, qui est bien évidemment la moins sécurisée, toutes les macros sont librement exécutables, sans que l’utilisateur ne puisse rien y faire. Si la macro se lance à l’ouverture du classeur, il est même possible qu’il ne s’en rende pas compte. Pour ces raisons (comme le précise clairement Excel), cette option est la moins sécurisée, et il faut être certain de n’utiliser que des fichiers dont la source est sûre avant de l’activer.
Dans cet onglet, nous retrouvons également une case d’option « Accès approuvé au modèle d’objet du projet VBA », il s’agit d’une option avancée, et principalement réservée aux développeurs qui permet à un programme de générer du code VBA.
Toujours depuis la fenêtre du centre de gestion de la confidentialité, il est possible de définir des éditeurs et des emplacements approuvés.
Les applications développées par les éditeurs présents dans cette liste pourront ainsi être lancées sans restriction lorsque l’option « Désactiver toutes les macros à l’exception des macros signées numériquement » est sélectionnée dans les options de sécurité.
Ensuite, nous pouvons définir les emplacements approuvés. Il s’agit de lieux de stockage des fichiers au sein desquels tous les fichiers seront considérés comme étant sûrs et seront donc exécutés avec leurs macros.
Nous pouvons librement ajouter ou supprimer des emplacements en cliquant sur les boutons « Ajouter un nouvel emplacement… » et « Supprimer ».
Pour pouvoir ajouter un emplacement situé sur un réseau, il faut au préalable cocher l’option « Autoriser les emplacements approuvés sur mon réseau ».
Cette option n’est évidemment pas recommandée par Excel, car à partir du moment où d’autres personnes peuvent y avoir accès, il faut ici aussi s’assurer que le fichier ne puisse pas être modifié par une personne malintentionnée.
Enfin, nous retrouvons également une option qui permet de désactiver directement tous les emplacements approuvés.
Cette option permet de pouvoir désactiver rapidement tous les emplacements approuvés, afin de pour les réactiver par la suite lorsque nous en aurons le besoin, et uniquement à ce moment-là.