Des clusters Kubernetes appartenant à plus de 350 entreprises ont été détectés comme étant ouvertement accessibles et non protégés. Plus de la moitié d'entre eux ont été compromis par le biais de malwares ou de backdoors. C'est ce que révèlent les conclusions d'Aqua Security à l'issue d'une enquête de trois mois menée par son équipe de recherche, Nautilus. La plupart des entreprises concernées sont de petite ou de moyenne taille mais d'autres font partie du classement Fortune 500. Deux mauvaises configurations sont à l'origine de ces incidents de sécurité : l'une ouvre un accès anonyme avec privilèges et l'autre expose des clusters Kubernetes sur Internet.
Kubernetes est un système d'orchestration open source qui s'appuie sur des conteneurs pour automatiser le déploiement, la mise à l'échelle et la gestion des applications, généralement dans un environnement cloud. Au fil du temps, il est devenu le système d'exploitation de facto du cloud, mais il peut également présenter des risques et des défis de sécurité importants pour les entreprises. L'étude 2023 State of Kubernetes Security Report de Red Hat s'appuie sur les réponses de 600 professionnels DevOps, de l'ingénierie et de la sécurité au niveau mondial pour connaitre les défis de sécurité les plus courants auxquels les entreprises sont confrontées dans l'adoption du cloud native. Parmi les personnes interrogées, 38 % ont cité la sécurité comme une préoccupation majeure dans les stratégies de conteneurs et de Kubernetes, 67 % ont retardé ou ralenti le déploiement en raison de préoccupations liées à la sécurité de cet environnement, et 37 % ont subi une perte de revenus ou de clients en raison d'un incident de sécurité s'y rapportant.
Plus de 350 serveurs API susceptibles d'être exploités
Sur une période de trois mois, les chercheurs ont identifié plus de 350 serveurs API susceptibles d'être exploités par des attaquants. En analysant les hôtes nouvellement découverts, l'équipe a constaté que 72 % d'entre eux avaient les ports 443 et 6443 exposés (il s'agit des ports HTTPS par défaut). Elle a également constaté que 19 % des hôtes utilisaient des ports HTTP tels que 8001 et 8080, tandis que les autres utilisaient des ports moins courants (par exemple, 9999). « La répartition des hôtes a révélé que si la plupart (85 %) avaient entre 1 et 3 nœuds, certains hébergeaient entre 20 et 30 nœuds au sein de leurs clusters Kubernetes. Le nombre de nœuds plus élevé pourrait indiquer des entreprises plus grandes ou des clusters plus importants », écrivent les chercheurs. En ce qui concerne la répartition géographique, la plupart des serveurs étaient géolocalisés en Amérique du Nord, avec une empreinte substantielle d'AWS proche des 80 %. En revanche, les fournisseurs de cloud chinois représentaient environ 17 % des serveurs.
Les chercheurs ont constaté qu'environ 60 % des clusters étaient activement attaqués par des cryptomineurs. L'équipe a créé un environnement pot de miel (honeypot) pour collecter des données supplémentaires sur ces attaques afin de faire la lumière sur les campagnes en cours. Parmi les principaux résultats, Nautilus a découvert la campagne Silentbob, nouvelle et très agressive, récemment signalée, révélant la résurgence de TeamTNT ciblant les clusters Kubernetes. Les chercheurs ont également mis en lumière une campagne de destruction du contrôle d'accès basé sur les rôles (RBAC) visant à créer une porte dérobée cachée, ainsi que des campagnes de cryptomining, incluant une exécution plus étendue de la campagne Dero déjà révélée, avec des images de conteneurs supplémentaires qui cumulaient plusieurs centaines de milliers d'extractions.
Deux erreurs de configuration courantes exploitées dans la nature
La recherche a mis en évidence deux erreurs de configuration courantes, largement pratiquées par les organisations et activement exploitées dans la nature. La première accorde un accès anonyme avec des privilèges, un utilisateur anonyme non authentifié ne subissant qu'une seule phase d'autorisation. « Par défaut, l'utilisateur anonyme n'a aucune autorisation, mais nous avons vu ce praticien dans la nature, et dans certains cas, donner des privilèges à l'utilisateur anonyme », ont-ils écrit. En mélangeant tous ces éléments, on crée une grave erreur de configuration. « Nous avons vu des cas où les praticiens lient le rôle d'utilisateur anonyme avec d'autres rôles, souvent des rôles d'administrateur, ce qui met leurs clusters en danger », selon les chercheurs. Un mélange de ces mauvaises configurations peut permettre aux attaquants d'obtenir un accès non autorisé au cluster Kubernetes, compromettant potentiellement toutes les applications qui y sont exécutées, ainsi que d'autres environnements.
Le second problème est une mauvaise configuration du proxy kubectl exposant sans le savoir le cluster Kubernetes à Internet, ont déclaré les chercheurs. Les hôtes touchés comprennent des entreprises de divers secteurs tels que les services financiers, l'aérospatiale, l'automobile, l'industrie et la sécurité. « Lorsque vous exécutez la même commande avec les drapeaux suivants '-address=`0.0.0.0` -accept-hosts `.*`', le proxy sur votre poste de travail écoutera et transmettra des requêtes autorisées et authentifiées au serveur API depuis n'importe quel hôte ayant un accès HTTP au poste de travail. Notez que les privilèges sont les mêmes que ceux de l'utilisateur qui a exécuté la commande kubectl proxy ».