Un package Python malveillant sur le référentiel Python Package Index (PyPI) s’est avéré utiliser Unicode comme une astuce pour échapper à la détection et déployer un logiciel malveillant voleur d’informations.
Le colis en question, nommé onyxproxy, a été chargé sur PyPI le 15 mars 2023 et offre des fonctionnalités permettant de collecter et d’exfiltrer des informations d’identification et d’autres données précieuses. Il a depuis été démonté, mais pas avant d’avoir attiré un total de 183 téléchargements.
Selon la société de sécurité de la chaîne d’approvisionnement en logiciels Phylum, le package intègre son comportement malveillant dans un script de configuration contenant des milliers de chaînes de code apparemment légitimes.
Ces chaînes incluent un mélange de polices en gras et en italique et sont toujours lisibles et peuvent être analysées par l’interpréteur Python, uniquement pour activer l’exécution du malware voleur lors de l’installation du package.
« Un avantage évident et immédiat de cet étrange schéma est la lisibilité », a déclaré la société. indiqué. « De plus, ces différences visibles n’empêchent pas le code de s’exécuter, ce qu’il fait. »
Ceci est rendu possible grâce à l’utilisation de variantes Unicode de ce qui semble être le même caractère (alias homoglyphes) pour camoufler ses vraies couleurs (par exemple, soi contre 𝘀𝘦𝘭𝘧) parmi des fonctions et des variables d’apparence inoffensive.
L’utilisation d’Unicode pour injecter des vulnérabilités dans le code source a été précédemment révélée par les chercheurs de l’Université de Cambridge Nicholas Boucher et Ross Anderson dans une technique d’attaque appelée Trojan Source.
Ce que la méthode manque de sophistication, elle le compense en créant un nouveau morceau de code obscurci, malgré les signes révélateurs d’efforts de copier-coller provenant d’autres sources.
Découvrez les dangers cachés des applications SaaS tierces
Êtes-vous conscient des risques associés à l’accès d’applications tierces aux applications SaaS de votre entreprise ? Rejoignez notre webinaire pour en savoir plus sur les types d’autorisations accordées et sur la manière de minimiser les risques.
Le développement met en évidence les tentatives continues de la part des acteurs de la menace pour trouver de nouvelles façons de passer à travers les défenses basées sur la correspondance des chaînes, en tirant parti de « la façon dont l’interpréteur Python gère Unicode pour obscurcir leurs logiciels malveillants ».
Dans le même ordre d’idées, la société canadienne de cybersécurité PyUp détaillé la découverte de trois nouveaux packages Python frauduleux – aiotoolbox, asyncio-proxy et pycolorz – qui ont été téléchargés cumulativement plus de 1 000 fois et conçus pour récupérer du code obscurci à partir d’un serveur distant.