Les pirates sont toujours à la pointe de la technologie et ne manquent pas une occasion de s’attaquer aux services les plus récents y compris dans le cloud. Des chercheurs de Cado Security ont trouvé un cryptomineur, capable de fonctionner à l'intérieur d'AWS Lambda. Cette offre dite de serverless, exécute des fonctions et gère l’allocation automatique des ressources pour faire tourner une application.

« Même si ce premier échantillon est assez inoffensif, dans la mesure où il n'exécute qu'un logiciel de minage de cryptomonnaie, il montre comment les attaquants utilisent des connaissances avancées spécifiques du cloud pour exploiter une infrastructure cloud complexe, et il est révélateur de potentielles futures attaques plus funestes », ont déclaré dans leur rapport les chercheurs.

Un malware écrit en Go

Baptisé Denonia, ce programme malveillant écrit en Go est livré sous forme d'exécutable ELF 64 bits pour Linux. Pour l’instant, les experts ne disposent pas d'informations sur le mode de diffusion du malware, mais ils pensent que les auteurs pourraient disposer d’identifiants d'accès AWS et de clés secrètes compromises. Les malwares écrits dans le langage Go ne sont pas nouveaux et ils se sont même multipliés ces dernières années, car ils offrent aux attaquants une solution facile pour rendre leurs malwares multiplateformes et autonomes. L'inconvénient, c’est que les fichiers binaires sont beaucoup plus volumineux puisqu'ils doivent contenir toutes les bibliothèques dont le programme a besoin, au lieu d'être liés dynamiquement à des librairies déjà existantes sur un système d'exploitation.

Le langage Go facilite aussi le déploiement de leur code sur des solutions serverless, car elles prennent en charge le code dans plusieurs langages. AWS Lambda prend en charge nativement Java, Go, PowerShell, Node.js, C#, Python et Ruby. Par rapport au cloud traditionnel où les utilisateurs louent des machines virtuelles qu’ils doivent gérer, ainsi que leurs systèmes d'exploitation, Lambda et d'autres offres similaires permettent aux utilisateurs de déployer du code écrit dans différents langages, exécuté à la demande, en fonction d'événements, sans avoir à se préoccuper de la gestion de l'infrastructure informatique sous-jacente, comme les serveurs et les systèmes d'exploitation.

Selon les chercheurs, Denonia a été clairement développé pour Lambda, car il inclut des bibliothèques Go tierces open-source aws-sdk-go et aws-lambda-go créées par le fournisseur de cloud lui-même pour interagir avec la plateforme. De plus, lors de son exécution, le malware vérifie la présence de variables d'environnement Lambda spécifiques, comme LAMBDA_SERVER_PORT et AWS_LAMBDA_RUNTIME_API. « Malgré la présence de ces variables, nous avons découvert au cours de l'analyse dynamique que l'échantillon poursuivra volontiers son exécution en dehors d'un environnement Lambda (c'est-à-dire sur une boîte Amazon Linux classique) », ont déclaré les chercheurs de Cado Security. « Nous pensons que c’est probablement lié au fait que les environnements Lambda 'serverless' utilisent Linux sous le capot, de sorte que le malware pensait qu’il était exécuté dans Lambda (après que nous ayons défini manuellement les variables d'environnement requises) alors qu’il était exécuté dans notre sandbox ».

Une détection rendue difficile avec le DoH

Le malware dissimule le trafic de commande et de contrôle dans les requêtes DNS effectuées vers un domaine contrôlé par l'attaquant et cache ces requêtes à l'aide de DNS-over-HTTPS (DoH). DoH crypte le contenu des requêtes DNS, de sorte qu'un mécanisme d'inspection du trafic ne verra que les requêtes destinées aux résolveurs DNS HTTPS comme cloudflare-dns.com ou dns.google.com et non le contenu réel des requêtes. Ce mode de fonctionnement rend la détection de Denonia plus difficile et offre aux attaquants de contourner les paramètres de l'environnement Lambda qui pourraient interdire le trafic DNS traditionnel sur le port 53. Le malware est essentiellement une enveloppe pour XMRig, un programme de minage de crypto-monnaie open source souvent adopté par les auteurs de malwares. Ce n'est pas la première fois que les clients de Lambda sont ciblés avec XMRig. Mais jusque-là, les attaquants utilisaient des scripts plus simples plutôt que des malwares complexes comme Dedonia. Les chercheurs de Cado notent que si le malware qu'ils ont analysé date de février, ils en ont trouvé un plus ancien créé en janvier sur VirusTotal. Ces attaques sont donc en cours depuis quelques mois.

Les plateformes serverless comme Lambda constituent une excellente ressource pour les petites entreprises qui ne disposent pas du personnel nécessaire pour gérer et sécuriser les VM du cloud, la gestion des serveurs étant ainsi déléguée au fournisseur de cloud. Cependant, ils sont toujours responsables de la protection de leurs informations d'identification et de leurs clés d'accès, sous peine de devoir s’acquitter de lourdes factures en cas d'abus de leurs comptes. « Les courtes durées d'exécution, le volume considérable de traitement et la nature dynamique et éphémère des fonctions Lambda peuvent rendre difficile la détection, l'investigation et la réponse à un compromis potentiel », ont averti les chercheurs de Cado. « Dans le cadre du modèle de responsabilité partagée AWS Shared Responsibility, AWS sécurise l'environnement d'exécution Lambda sous-jacent, mais c'est au client de sécuriser lui-même les fonctions », ont rappelé les experts.