Des acteurs malveillants se tournent vers des langages de programmation obscurs
3 min readLes acteurs malveillants sont de plus en plus codage dans des langages de programmation plus « exotiques » pour écrire de nouvelles souches de logiciels malveillants en partant du principe que l’utilisation de langages nouveaux, moins connus ou autrement rares aidera leurs attaques à échapper à la détection et à entraver l’analyse.
C’est selon un livre blanc produit par l’équipe de recherche et de renseignement de BlackBerry, qui a mis en lumière l’utilisation de langues moins prolifiques dans l’espace cybercriminel.
« Les auteurs de logiciels malveillants sont connus pour leur capacité à s’adapter et à modifier leurs compétences et leurs comportements afin de tirer parti des nouvelles technologies », a déclaré Eric Milam, vice-président de la recherche sur les menaces de BlackBerry.
« Cela présente de multiples avantages du cycle de développement et du manque inhérent de couverture des solutions de protection. Il est essentiel que l’industrie et les clients comprennent et gardent un œil sur ces tendances car elles ne feront qu’augmenter.
Les chercheurs de BlackBerry ont ciblé quatre langues peu courantes à analyser : Aller, ré, Nim et Rouiller, dont tous ses outils de détection ont récemment été davantage utilisés pour des intentions malveillantes. Milam a déclaré que ces langages ont également suscité l’intérêt de l’équipe car ils sont considérés comme plus développés et bénéficient d’un solide soutien dans la communauté des développeurs légitimes.
Il existe plusieurs raisons pour lesquelles de nouveaux langages de programmation sont adoptés en général : ils peuvent remédier à un déficit dans un langage existant, offrir une syntaxe plus simple, améliorer les performances, utiliser la mémoire plus efficacement ou mieux s’adapter à un environnement d’utilisation particulier. La nature conviviale de certains nouveaux langages peut également rendre la vie beaucoup plus facile pour les développeurs.
Pour les développeurs malveillants, cependant, ces langages apportent d’autres avantages. Par exemple, ils peuvent considérablement entraver les efforts de rétro-ingénierie, car de nombreux outils d’analyse de logiciels malveillants ne prennent pas toujours en charge de manière adéquate les langues rares. Dans le cas de ceux analysés par BlackBerry, les binaires qui y sont écrits peuvent sembler « plus complexes, alambiqués et fastidieux » par rapport aux équivalents traditionnels basés sur C, C++ ou C#.
Ces langages peuvent également contrecarrer les outils de détection basés sur les signatures existants, car leur efficacité dépend des caractéristiques statiques spécifiques présentes dans un fichier – des qualités qui ne changent pas ou ne nécessitent pas que le fichier s’exécute pour être détectées, telles que les hachages. Si le malware est écrit dans un nouveau langage, comme BazarLoader, qui a récemment été réécrit dans Nim pour devenir NimzaLoader, les signatures écrites pour détecter les itérations précédentes ne fonctionneront pas.
D’autres malwares ont été rajeunis de la même manière en ajoutant des chargeurs écrits dans de nouveaux langages, ce qui est attrayant pour les développeurs malveillants car cela signifie qu’ils n’ont pas à recoder l’intégralité du malware, juste l’emballage.
Les autres points positifs pour les développeurs malveillants incluent la possibilité d’utiliser des langages inhabituels pour agir comme une couche d’obscurcissement simplement en raison de leur jeunesse relative et de leur obscurité, et de compiler de nouveaux logiciels malveillants pour cibler simultanément les environnements Windows et MacOS.
Sur les quatre langages analysés dans la compilation de son livre blanc, BlackBerry a constaté que le Go a maintenant mûri au point de devenir un langage de prédilection pour les acteurs malveillants, à la fois au niveau de la menace persistante avancée (APT) et au niveau des produits de base pour le développement nouvelles souches de logiciels malveillants.
Il a déclaré que de nouveaux échantillons basés sur Go apparaissent désormais régulièrement, ciblant tous les principaux systèmes d’exploitation dans plusieurs campagnes observées. Avec Nim, Go est de plus en plus utilisé pour compiler les séquenceurs initiaux pour Cobalt Strike. D semble être un brûleur lent, malgré son adoption par des développeurs légitimes, mais il connaît une légère augmentation en 2021.