Un malware d’un genre nouveau vient d’être repéré par les chercheurs de Palo Alto Networks. Siloscape sait s’évader d’un container Windows pour infecter tout un cluster Kubernetes ! De quoi inquiéter fournisseurs de cloud et entreprises utilisant Kubernetes pour héberger leurs cotainers.
Personne ne s’attendait vraiment à ça et pourtant tous les acteurs de la sécurité le redoutaient. Récemment découvert, un malware infectant les containers Windows peut pénétrer la couche Kubernetes sous-jacente et attaquer l’intégralité des containers hébergés dans le cluster.
Siloscape est un tout nouveau type de malware, un trojan d’un nouveau genre pensé pour les containers et les infrastructures Kubernetes. Découvert par l’Unit 42 de Palo Alto Networks, ce malware s’en prend aux containers Windows mal configurés ou insuffisamment protégés. Ce malware commence par compromettre un container Windows (à condition que celui-ci s’appuie sur les mécanismes d’isolation de Windows Server et non ceux d’Hyper-V). Puis utilisant une technique jusqu’ici considérée par Microsoft comme ne présentant pas de risque réel de sécurité, il arrive à s’échapper du container pour infecter l’hôte et se déplacer latéralement dans le cluster compromettant tous les containers hébergés.
Si Siloscape n’est pas le premier malware à s’attaquer à Kubernetes ou aux containers Linux, il est en revanche le premier à se focaliser sur les containers Windows pour s’en servir comme porte d’entrée. Utilisant Tor et un domaine « .onion » pour mieux masquer ses échanges avec son centre de pilotage C&C et rester le plus discret et invisible possible.
L’Unit 42 a pu retrouver et pénétrer le C&C. Il y a découvert les traces de 313 campagnes d’attaques menées durant les 12 derniers mois dont 23 campagnes actives. Mais les chercheurs ont été rapidement repérés et le domaine « .onion » utilisé a été fermé avant qu’ils n’aient la possibilité d’explorer plus avant les agissements du malware et du groupe d’attaquants qui le pilotait.
Selon Unit 42, le malware utilise également de multiples méthodes d’obfuscation de son code pour ne pas pouvoir être repéré par des méthodes d’analyse statique.
La technique employée pour pervertir le hôte « maître » s’appuie sur la commande NtSetInformationSymbolicLink de Windows pour créer un lien symbolique lui permettant de mapper son disque containerisé X: sur le disque C: du hôte. La technique est redoutable car une fois compromis la partition maître peut servir pour lancer d’autres containers, espionner les données des autres containers en exécution sur le container ou encore jouer les ransomwares en bloquant toute l’activité d’un cluster (et du Workload qu’il héberge) contre rançon.
Rappelons que Microsoft invite les entreprises à préférer l’utilisation des containers Hyper-V plutôt que des containers Windows en raison justement de la meilleure isolation procurée par les premiers. En outre, l’attaque ne fonctionne que sur des clusters Kubernetes insuffisamment sécurisés, les bonnes pratiques imposant de limiter les privilèges des nœuds et d’empêcher que seuls ses derniers soient utilisés pour sécuriser les déploiements.