Secu
Quand les cybercriminels utilisent des langages exotiques pour mieux tromper les défenses…
Par Laurent Delattre, publié le 27 juillet 2021
Une nouvelle étude sur les cyber-menaces menée par BlackBerry dévoile une nouvelle tendance chez les cyber-attaquants : utiliser du code ancien et réputé mais réécrit dans de nouveaux langages pour mieux échapper aux boucliers défensifs…
Arrêtons de fantasmer. Aussi doués et imaginatifs puissent être certains cyber-attaquants, ils restent des êtres humains avec leurs travers et leurs faiblesses. Comme le rappelle le nouveau rapport « Old Dogs, New Tricks » de BlackBerry, les auteurs de logiciels malveillants sont comme bien des développeurs, des responsables business ou même des sélectionneurs dans le milieu du sport, assez peu véloces à changer « ce qui fonctionne déjà très bien pour eux ».
D’autant qu’en cybercriminalité, l’hygiène des SI étant toujours aussi imparfaite, les méthodes traditionnelles fonctionnent toujours aussi bien… ou presque… Car le problème réside dans les défenses automatisées, de plus en plus comportementales, qui connaissent ces pratiques, les détectent et les bloquent. D’où la nécessité de trouver des astuces pour contourner ces défenses sans pour autant changer les techniques d’attaques…
Certains groupes de logiciels malveillants ont ainsi eu l’idée d’essayer de nouveaux langages de programmation pour reprogrammer des attaques connues afin de mieux échapper à la détection par la communauté de la sécurité. Car chaque langage de développement a ses particularités et génère un code exécutable différent. Il en résulte parfois un comportement perceptible différent pour les boucliers qui analysent ce que font les codes.
Les cybercriminels exploitent ainsi de plus en plus des langages de développement jusqu’ici peu répandus dans l’univers des hackers afin de réutiliser des versions antérieures de certains malwares, et les mettre à jour dans ces nouveaux langages pour les rendre plus efficaces et indétectables.
Parmi les nouveaux langages en vogue, on retrouve des langages très populaires comme le Go ou plus hétéroclites comme D Lang, Nim ou Rust. En portant des anciens malwares sur ces nouveaux langages, les cyber-attaquants obtiennent de nouveaux exécutables qui échappent aux protections à base de signature mais également à certains boucliers d’analyse de codes. En outre, certains de ces nouveaux langages ajoutent des couches de chiffrement de code qui sont exploités par ces cyber-attaquants rendre leurs malwares plus difficiles à déchiffrer et donc à contrer.
La pratique n’est pas nouvelle, mais elle devient beaucoup plus répandue qu’auparavant. Les rapporteurs expliquent que les défenses comportementales doivent enrichir leurs règles pour mieux les contrer. Mais que la tâche n’est pas toujours aisée. D’une part, ces langages sont rarement maîtrisés des développeurs de boucliers défensifs et par les analystes de codes malveillants. D’autre part, ces langages modernes intègrent des fonctions de sécurité et de chiffrement que les cyber-attaquants exploitent pour mieux masquer l’activité malveillante de leurs programmes.
Pour finir, signalons que ce rapport analyse également les qualités de chacun de ses nouveaux langages selon le point de vue des cyber-attaquants en matière de fonctionnalités, d’accessibilité, de compacité des binaires générés et de complexité de déchiffrement du code assembleur résultant. Une étude originale et plutôt intéressante et instructive.
Source : Old Dogs New Tricks: Attackers Adopt Exotic Programming Languages (blackberry.com)