La Marketplace de Visual Studio Code est truffée d’extensions malveillantes installées par millions !
La marketplace de Visual Studio Code est très utile pour ajouter des fonctionnalités à l'éditeur de code de Microsoft et le personnaliser, notamment avec des thèmes. Néanmoins, c'est aussi un nid à malwares : des chercheurs en sécurité ont identifié des milliers d'extensions malveillantes ! Faisons le point.
Pour rappel, Visual Studio Code est un éditeur de code gratuit et open source développé par Microsoft. Il prend en charge de nombreux langages, notamment PowerShell et Python, et il est très utilisé par les professionnels de l'IT.
Par l'intermédiaire de la marketplace pour Visual Studio Code, Microsoft distribue des extensions pour VSCode afin de lui ajouter des fonctionnalités et de personnaliser son apparence. Les membres de la communauté peuvent, eux aussi, publier du contenu sur cette marketplace : les cybercriminels l'ont bien compris et en profitent également.
Visual Studio Code et la menace du typosquatting
Récemment, trois chercheurs en sécurité israéliens, Amit Assaraf, Itay Kruk, et Idan Dardikman, ont mené une expérience. Ils ont créé une version malveillante du thème "Dracula Official", l'un des éléments de la marketplace les plus populaires (plus de 7 millions de téléchargements).
Ils ont repris le code d'origine de l'extension et ils ont ajouté un script supplémentaire pour collecter des informations sur le système de l'utilisateur. Les informations collectées sont envoyées sur un serveur via HTTPS. Leur version de ce thème ne s'appelle pas "Dracula Official" mais "Darcula Official" (subtile !) et elle reprend le même logo, ainsi que le domaine "darculatheme.com" qui ajoute de la crédibilité. Ils sont parvenus à publier cette extension sur la marketplace de Visual Studio Code.
24 heures plus tard, il y avait déjà plus de 100 installations, c'est-à-dire 100 ordinateurs qui pourraient potentiellement être compromis s'il y avait un réel code malveillant. "Nous avons remarqué qu'une victime avait été identifiée comme étant une machine Windows dans le domaine et le réseau d'une société cotée en bourse dont la capitalisation boursière s'élève à 483 milliards de dollars.", précise les chercheurs en sécurité.
Étant donné que Visual Studio Code est destiné à exécuter du code divers et variés, à exécuter des processus, etc... Il est difficile de déterminer si son activité est malveillante ou non.
À ce sujet, les chercheurs en sécurité apportent des précisions au sein de leur article disponible sur Medium : "Malheureusement, les outils traditionnels de sécurité des terminaux (EDR) ne détectent pas cette activité (comme nous l'avons montré pour certaines organisations dans le cadre du processus de divulgation responsable). VSCode est conçu pour lire de nombreux fichiers, exécuter de nombreuses commandes et créer des processus enfants, de sorte que les EDR ne peuvent pas déterminer si l'activité de VSCode est une activité de développeur légitime ou une extension malveillante."
Attention à la marketplace de Visual Studio Code
À l'aide d'un outil qu'ils ont développé, les trois chercheurs sont parvenus à analyser en profondeur le contenu publié sur la marketplace de Visual Studio Code. Ils sont parvenus à identifier :
- 1 283 extensions contenant des dépendances malveillantes connues, pour un total de 229 millions d'installations
- 87 extensions qui tentent de lire le fichier /etc/passwd sur le système hôte.
- 8161 extensions qui communiquent avec une adresse IP codée en dur à partir d'un code JS.
- 1 452 extensions qui exécutent un binaire exécutable inconnu ou une DLL sur la machine hôte.
- 267 extensions contiennent des secrets vérifiés codés en dur.
- Le code et les ressources de 145 extensions ont été signalés comme malveillant par VirusTotal.
- 2 304 extensions qui utilisent le dépôt Github d'un autre éditeur comme dépôt officiel, ce qui implique des extensions copiées.
Des chiffres alarmants et qui montrent qu'il faut être vigilant avant d'installer une extension sur sa machine. Il est temps que Microsoft améliore son processus de validation et effectue un nettoyage sur cette marketplace... En attendant, l'outil d'analyse des chercheurs en sécurité devrait être publié dans les prochaines semaines.
Finalement, l'ensemble des marketplaces et plateformes de dépôts officielles peuvent être utilisées pour distribuer des logiciels malveillants : PyPI pour les projets Python, Docker Hub pour les images de conteneurs, ou encore le catalogue de Visual Studio Code sont des exemples parmi d'autres....