Gérer et surveiller à distance les serveurs même lorsque leur système d'exploitation principal ne répond plus est vital pour les administrateurs IT de l'entreprise. Tous les fabricants de serveurs fournissent cette fonctionnalité au niveau de leurs micrologiciels via un ensemble de puces fonctionnant indépendamment du reste du serveur et de l'OS. Ceux-ci sont connus sous le nom de contrôleurs de gestion de carte mère (BMC ou baseboard management controller) qui, s'ils ne sont pas correctement sécurisés, peuvent ouvrir la porte à des rootkits hautement persistants et difficiles à détecter. Au fil des ans, les chercheurs en sécurité ont trouvé et démontré des vulnérabilités dans les implémentations BMC de différents fabricants de serveurs et les attaquants ont profité de certaines d'entre elles. Un exemple récent est iLOBleed, un implant BMC malveillant trouvé par une société de cybersécurité iranienne Eclypsium qui cible les serveurs Hewlett Packard Enterprise Gen8 et Gen9, mais ce n'est pas la seule attaque de ce type trouvée au fil des ans.

Selon l'entreprise, 7 799 BMC de serveur exploitant HPE iLO (Integrated Lights-Out) sont exposés à Internet. La plupart ne semblent pas exécuter la dernière version de ses contrôleurs. Lorsque d'autres vulnérabilités ont été découvertes dans l'implémentation BMC des serveurs Supermicro en 2019, plus de 47 000 Supermicro BMC dans 90 pays différents ont été exposés. « Les vulnérabilités BMC sont aussi incroyablement courantes et souvent négligées en termes de mises à jour », ont déclaré les chercheurs d'Eclypsium dans un billet de blog. « Les vulnérabilités et les erreurs de configuration peuvent être introduites tôt dans la supply chain avant qu'une organisation ne prenne possession d'un serveur. Ces problèmes peuvent toujours exister même après le déploiement en raison de mises à jour défaillantes ou si des adversaires sont capables de compromettre le processus de mise à jour d'un fournisseur. En fin de compte, c'est un défi pour les entreprises dans lesquelles il existe de nombreux systèmes vulnérables, des impacts très élevés en cas d'attaque et des adversaires exploitant activement les appareils dans la nature. »

Zoom sur l'implant iLOBleed

La technologie iLO de HPE existe dans les serveurs HPE depuis plus de 15 ans. Elle est implémentée sous la forme d'une puce ARM qui possède son propre contrôleur réseau dédié, sa RAM et son stockage flash. Son micrologiciel comprend un système d'exploitation dédié qui s'exécute indépendamment du système d'exploitation principal du serveur. Comme tous les BMC, HPE iLO est essentiellement un petit ordinateur conçu pour contrôler un ordinateur plus grand, le serveur lui-même. Les administrateurs peuvent accéder à iLO via un panneau d'administration Web desservi par le port réseau dédié du contrôleur BMC ou via des outils qui communiquent avec le contrôleur BMC via le protocole standardisé IPMI (Intelligent Platform Management Interface). Les administrateurs peuvent utiliser iLO pour allumer et éteindre le serveur, modifier divers paramètres matériels et micrologiciels, accéder à la console système, réinstaller le système d'exploitation principal en attachant une image CD/DVD à distance, surveiller les capteurs matériels et logiciels et même déployer les mises à jour BIOS/UEFI. 

L'implant iLOBleed est soupçonné d'avoir été créé par un groupe de menace persistante avancée (APT) et est utilisé depuis au moins 2020. On pense qu'il exploite des vulnérabilités connues telles que CVE-2018-7078 et CVE-2018-7113 pour injecter des modules malveillants dans le microprogramme iLO avec en complément une fonctionnalité d'effacement de disque. Une fois installé, le rootkit bloque également les tentatives de mise à niveau du micrologiciel et signale que la nouvelle version a été installée avec succès pour tromper les administrateurs. Cependant, il existe des moyens de savoir que le micrologiciel n'a pas été mis à jour. Par exemple, l'écran de connexion dans la dernière version disponible devrait être légèrement différent. Si ce n'est pas le cas, cela signifie que la mise à jour a été empêchée, même si le micrologiciel signale la dernière version.

Il convient également de noter qu'il est possible d'infecter le micrologiciel iLO si un attaquant obtient des privilèges root (administrateur) sur le système d'exploitation hôte, car cela permet de flasher le micrologiciel. Si le firmware iLO du serveur ne présente aucune vulnérabilité connue, il est possible de le rétrograder vers une version vulnérable. Sur Gen10, il est possible d'empêcher les attaques de rétrogradation en activant un paramètre du micrologiciel, mais cela n'est pas activé par défaut et n'est pas possible sur les anciennes générations. « Les attaquants peuvent abuser de ces capacités [BMC] de différentes manières », ont déclaré les chercheurs d'Eclypsium. « iLOBleed a démontré la capacité d'utiliser le BMC pour effacer les disques d'un serveur. L'attaquant pourrait tout aussi facilement voler des données, installer des charges utiles supplémentaires, contrôler le serveur de quelque manière que ce soit ou le désactiver entièrement. Il est également important de noter que compromettre les serveurs physiques peut mettre en péril non seulement les charges de travail, mais aussi des clouds entiers. »

De précédentes attaques BMC

En 2016, des chercheurs de Microsoft ont documenté les activités d'un groupe APT surnommé PLATINUM qui a utilisé la technologie de gestion active (AMT) Serial-over-LAN (SOL) d'Intel pour mettre en place un canal de communication secret pour transférer des fichiers. AMT est un composant d'Intel Management Engine (Intel ME), une solution de type BMC qui existe dans la plupart des processeurs de bureau et de serveur Intel. La plupart des pare-feu et des outils de surveillance du réseau ne sont pas configurés pour inspecter le trafic AMT SOL ou IPMI en général, permettant aux attaquants comme PLATINUM d'échapper à la détection. En 2018, BleepingComputer a signalé des attaques contre des serveurs Linux avec un programme de ransomware appelé JungleSec qui, sur la base des rapports des victimes, a été déployé via des interfaces IPMI non sécurisées en utilisant les informations d'identification par défaut du fabricant. En 2020, un chercheur en sécurité a montré comment il pouvait tirer parti des interfaces BMC non sécurisées sur le cloud Openstack d'une organisation pour prendre en charge des serveurs virtualisés lors d'un engagement de test d'intrusion.

« iLOBleed fournit une étude de cas incroyablement claire non seulement sur l'importance de la sécurité des micrologiciels dans les BMC, mais aussi pour la sécurité des micrologiciels en général », ont déclaré les chercheurs d'Eclypsium. « Aujourd'hui, de nombreuses entreprises ont adopté des concepts tels que le zero trust, qui définit la nécessité d'évaluer et de vérifier de manière indépendante la sécurité de chaque actif et de chaque action. Pourtant, dans la plupart des cas, ces approches n'ont pas fait leur chemin jusqu'au code le plus fondamental d'un appareil. »

Des mesures d'atténuation

La pratique de sécurité standard pour les interfaces IPMI, qu'elles soient intégrées ou ajoutées via des cartes d'extension, consiste à ne pas les exposer directement à Internet ou même au réseau principal de l'entreprise. Les contrôleurs BMC doivent être placés dans leur propre segment de réseau isolé destiné à des fins de gestion. L'accès à ce segment peut être limité à l'aide de VLAN, de pare-feu, de VPN et d'autres technologies de sécurité similaires. Les sociétés doivent vérifier périodiquement auprès de leurs fabricants de serveurs les mises à jour du micrologiciel BMC et, plus généralement, suivre les CVE découverts dans le firmware de tous leurs actifs critiques. L'absence de suivi de la version du micrologiciel et d'analyse des vulnérabilités crée un grand angle mort sur les réseaux d'entreprise et les rootkits de bas niveau comme iLOBleed peuvent fournir aux attaquants une présence hautement persistante et puissante.

Si le micrologiciel BMC offre la possibilité de bloquer le déploiement d'anciennes versions de micrologiciel - rétrogradations - comme dans le cas des serveurs HPE Gen10/iLO5, cette option doit être activée. D'autres fonctionnalités de sécurité du micrologiciel telles que la vérification de la signature numérique doivent également être activées. Les données d'identifiants administrateur par défaut des interfaces BMC et des espaces admin doivent être modifiées, et les fonctions de sécurité telles que le chiffrement du trafic et l'authentification toujours activées. Enfin, de nombreux BMC ont des capacités de journalisation qui permettent de surveiller et d'enregistrer les modifications apportées aux serveurs via des spécifications telles que Redfish et d'autres interfaces XML. Ces journaux doivent être audités périodiquement pour détecter toute modification non autorisée.