Pour gérer vos consentements :
Categories: MalwaresSécurité

Malwares : les codeurs surveillent leur langage

Comment rendre un malware moins détectable ? En changeant de langage de programmation. BlackBerry, en tout cas, l’affirme, recherche à l’appui. La tendance dominante, explique-t-il, ne consiste pas tant à réécrire les malwares que les modules qui les chargent en mémoire (loaders) ou les exécutent (droppers).

Qu’on réécrive l’un ou l’autre composant, le phénomène n’a rien de nouveau, reconnaît le groupe canadien. Et de mentionner la « vieille garde » qu’on avait vue émerger au début des années 2000. Ses représentants : VB6 et Delphi, que les cybercriminels utilisaient en alternative aux langages les plus communs. En particulier de par leur forte résistance à la rétroingénierie – notamment pour Visual Basic.

BlackBerry a concentré son analyse sur quatre des langages qui ont pris le relais : D, Go, Nim et Rust. Tous présentent l’avantage de pouvoir être compilés sur un large éventail de systèmes et d’architectures. Ils apportent par ailleurs des garanties de sécurité… importantes pour les développeurs de malwares. On se rappellera, en guise d’exemple, d’une version d’Emotet mise hors d’état de nuire après la découverte d’une vulnérabilité (dépassement de tampon) dans la routine d’installation du binaire principal.

Des quatre langages étudiés, D est celui qui présente le moins de cas documentés d’utilisation malveillante. On considère que Vovalex est la première famille de ransomwares à en avoir fait usage. Détectée début 2021, elle se propage par l’intermédiaire de versions vérolées d’applications populaires, dont CCleaner.
On trouve aussi du langage D dans un loader récemment exploité en association avec le trojan RemcosRAT. Ainsi que du côté des éditeurs de solutions de sécurité. Tout du moins chez FireEye, avec la backdoor DShell, qui a fuité fin 2020 avec d’autres outils de la Red Team de l’entreprise américaine.

Des ransomwares dans tous les langages

Qu’en est-il de Nim ? Il est notamment à la base d’une variante – découverte début 2021 – de la backdoor BazarLoader. Ainsi que d’un membre de la famille Zebrocy, dont on prête l’usage au groupe APT28*. Lequel s’est distingué en piratant le Parti démocrate américain avant les présidentielles 2016.
Dans la famille Nim, on trouve aussi des ransomwares, dont DeroHE, découvert en début d’année. Et divers loaders pour Cobalt Strike.

Rust est né dans les mêmes années que D et Nim, mais bénéficie d’une plus grande popularité. Et du soutien de grands noms, après s’être développé sous l’égide de la fondation Mozilla. Il a servi autant à réécrire des malwares (comme le loader Buer, à l’origine codé en C, ou la backdoor TeleBots, utilisée contre le réseau électrique ukrainien) que des droppers (par exemple, pour le RAT NanoCore).

En complément à ces différents langages se sont développées des méthodes de masquage. Pour Nim, il y a par exemple denim ; pour Rust, obfstr. Avec Go, il y a Gobfuscate. Entre autres, elle hache les noms de variables et dissimule des chaînes en les remplaçant par des fonctions. Des variantes du ransomware EKANS et du RAT ChaChi – exploité par les opérateurs de Mespinoza – en font usage.
Il existe des plug-in spécifiques pour détecter Gobfuscate, mais uniquement dans certains outils d’analyse, comme Cutter et Binary Ninja.

* La première version de Zebrocy était essentiellement codée en Delphi. Des réécritures en Nim et en Go ont émergé depuis.

Illustration principale © James Thew – Adobe Stock

Recent Posts

Pour son premier LLM codeur ouvert, Mistral AI choisit une architecture alternative

Pour développer une version 7B de son modèle Codestral, Mistral AI n'a pas utilisé de…

8 heures ago

Microsoft x Inflection AI : l’autorité de la concurrence britannique lance son enquête

L’Autorité de la concurrence et des marchés (CMA) britannique ouvre une enquête sur les conditions…

11 heures ago

Thomas Gourand, nouveau Directeur Général de Snowflake en France

Thomas Gourand est nommé Directeur Général pour la France. Il est chargé du développement de…

13 heures ago

Accord Microsoft-CISPE : comment Google a tenté la dissuasion

Pour dissuader le CISPE d'un accord avec Microsoft, Google aurait mis près de 500 M€…

13 heures ago

Vers des mises à jour cumulatives intermédiaires pour Windows

Pour réduire la taille des mises à jour de Windows, Microsoft va mettre en place…

14 heures ago

RH, finances, stratégie… Les complexités de la Dinum

De l'organisation administrative à la construction budgétaire, la Cour des comptes pointe le fonctionnement complexe…

1 jour ago