Résumé
Contexte
Le 05 décembre 2022, trois vulnérabilités respectivement identifiées par
les numéros CVE-2022-40259, CVE-2022-40242 et CVE-2022-2827 ont été
signalées dans la solution d’administration à distance MegaRAC de
l’éditeur AMI.
La solution MegaRAC s’appuie sur un BMC (Baseboard Management
Controller) : un microcontrôleur intégré à la carte mère d’un serveur
(ou installé comme carte fille) qui possède son propre stockage, son
propre système d’exploitation et peut disposer d’un port réseau dédié ou
partagé avec le système principal. Ce microcontrôleur est utilisé afin
de fournir des capacités de gestion à distance en mode "hors bande" et
"hors tension". Il permet aux administrateurs d’effectuer à distance un
certain nombre de tâches qui nécessiteraient autrement un accès physique
au serveur. Le processeur BMC dispose en effet d’accès aux différents
composants de la carte mère, ce qui lui permet de surveiller le
matériel, mettre à jour le micrologiciel du BIOS, mettre l'hôte sous
tension, et permettre un déport clavier-écran-souris via le réseau.
Souvent, il est connecté au bus PCIe et bénéficie d’un accès direct plus
ou moins large à la mémoire en lecture et écriture (DMA, Direct Memory
Access).
Ce contrôleur peut être accédé par différentes interfaces :
- IPMI (Intelligent Platform Management Interface) : il s’agit d’un
ensemble de spécifications d’interface permettant d’accéder aux
fonctions du BMC via le réseau IP ;
- Redfish, successeur de IPMI, proposant une interface RESTful pour la
gestion des serveurs, du stockage et des réseaux. Redfish est pris
en charge par les principaux fournisseurs de serveurs et
d'infrastructures, ainsi que par le projet de micrologiciel OpenBMC
;
- des protocoles réseau tels que SSH.
De nombreux constructeurs de carte mère intègrent la solution AMI
MegaRAC dans leurs modèles pour serveurs.
Description
Ces trois vulnérabilités, d'une gravité moyenne à critique permettent
une exécution de code à distance et un accès non autorisé à des
périphériques requérant normalement des privilèges administrateur.
La première vulnérabilité, désignée par l’identifiant CVE-2022-40242,
concerne l’existence d’un compte administrateur disposant d’un mot de
passe par défaut.
La seconde vulnérabilité, CVE-2022-2827, permet d’énumérer les comptes
configurés au niveau du BMC.
Enfin, la troisième vulnérabilité, CVE-2022-40259, offre la possibilité
à un attaquant distant de tirer parti d’une mauvaise gestion des
paramètres fournis dans l’URL pour exploiter un appel dans
l’implémentation de l’API Redfish (IPMI). Cette vulnérabilité de type
exécution de code arbitraire à distance requiert un niveau de privilège
minimal de type « callback » ou supérieur.
L’attaquant pourra ainsi tirer parti des deux premières vulnérabilités
pour obtenir un compte permettant d’exploiter la troisième.
La plupart des serveurs ont une configuration d’usine avec les
interfaces IPMI ou Redfish activées et accessibles via un port réseau
dédié ou via l’interface réseau principale de la carte mère, qui est
alors partagée de manière transparente avec le système d’exploitation.
Cette interface du BMC et son adressage sont généralement invisibles du
système d’exploitation et des outils d’inventaire installés. Par
ailleurs, l’une des fonctions du BMC est de pouvoir arrêter ou démarrer
un serveur à distance, il reste donc alimenté et accessible via les
interfaces IPMI, Redfish ou SSH même lorsque le serveur est éteint. En
l’absence de procédure spécifique de configuration à la mise en service
d’un serveur (spécifiquement pour ne pas exposer cette interface
ailleurs que sur un réseau dédié à la gestion hors bande), il est très
probable que les interfaces d’accès au BMC soient exposées par
inadvertance.
Pour l’heure, rien n’indique que ces vulnérabilités aient pu faire
l’objet d’attaques ciblées. Pour autant, ces vulnérabilités présentent
un risque majeur car la solution MegaRAC est intégrée par de nombreux
constructeurs de serveurs. La complexité de la chaîne
d’approvisionnement ralentit le déploiement des correctifs, augmentant
significativement l’exposition des serveurs utilisant cette solution à
des attaques.
Chaînées ensemble, ces vulnérabilités permettent de prendre le contrôle
à distance des serveurs, le vol de secrets critiques (par exemple
empreintes et mots de passe en mémoire d’un contrôleur de domaine), le
déploiement à distance de logiciels malveillants (par exemple des
rançongiciels ou des implants de micrologiciel) y compris sur des
machines virtuelles hébergées sur le serveur physique vulnérable. Du
fait de son ancrage au niveau matériel, l’installation d’un implant au
sein de l’IPMI constituerait une porte dérobée de premier choix, car
celui-ci serait persistant à une réinstallation du système hôte voire à
un changement de disque dur du serveur.
Recommandations
Au regard des possibilités offensives induites et du nombre
d’équipements vulnérables, le CERT-FR recommande de manière générale, et
pour l’ensemble des systèmes de gestion hors bande, de :
- désactiver les interfaces d’accès au BMC si celui-ci n’est pas
utilisé dans le cadre de la supervision et de l’administration à
distance* ;
- appliquer les correctifs publiés par les fabricants ;
- s’assurer que tous les accès réseau aux sous-systèmes BMC (IPMI,
Redfish, SSH, etc.) sont uniquement permis depuis sur un réseau de
gestion dédié ;
- activer les fonctionnalités de pare-feu proposées par IPMI ou
Redfish afin de restreindre l’accès aux interfaces aux seuls postes
d’administration ;
-
mettre en place un système de journalisation distante :
- authentification
- autorisation (utilisateurs / services)
- état du système (mise sous tension / hors tension, redémarrage)
- changements système (mise à jour du micrologiciel, chargement du
micrologiciel après une compromission du système hôte)
- désactiver ou changer les identifiants des comptes installés par
défaut au niveau du BMC ;
- respecter le principe du moindre privilège pour les actions de
supervision ou de gestion au travers du BMC (rôles root,
administrator, operator, user et callback).
* Il convient de noter que cela ne désactive pas le fonctionnement du
contrôleur BMC mais réduit son exposition depuis le réseau