Des chercheurs de l'Université de Birmingham, précédemment connus pour le développement des attaques Plundervolt et VoltPillager, ont découvert une vulnérabilité (CVE-2022-43309) sur certaines cartes mères de serveur, permettant de rendre physiquement un CPU inutilisable sans possibilité de récupération ultérieure. La vulnérabilité, surnommée PMFault, peut être exploitée pour endommager des serveurs auxquels l'attaquant n'a pas d'accès physique mais a un accès privilégié au système d'exploitation, obtenu par exemple par l'exploitation d'une vulnérabilité non corrigée ou le vol des identifiants administratifs.
Le principe de la méthode proposée repose sur l'utilisation de l'interface PMBus, qui applique le protocole I2C, pour augmenter la tension appliquée au processeur à des niveaux susceptibles d'endommager la puce. L'interface PMBus est généralement implémentée dans le module VRM (Voltage Regulator Module), auquel on peut accéder par des manipulations avec le contrôleur BMC. Pour réaliser l'attaque sur les cartes prenant en charge PMBus, en plus des privilèges administratifs dans le système d'exploitation, un accès logiciel au BMC (Baseboard Management Controller) est nécessaire, par exemple via l'interface IPMI KCS (Keyboard Controller Style), par Ethernet ou par le reflash du BMC depuis le système actuel.
La présence d'une faille permettant de réaliser une attaque sans connaître les paramètres d'authentification dans le BMC a été confirmée sur des cartes mères Supermicro prenant en charge IPMI (X11, X12, H11 et H12) ainsi que sur celles d'ASRock, mais d'autres cartes serveurs sont également vulnérables, à condition d'avoir accès à PMBus. Au cours des expériences menées, deux processeurs Intel Xeon ont été endommagés lorsque la tension a été augmentée à 2,84 volts sur ces cartes. Pour accéder au BMC sans connaître les paramètres d'authentification, mais avec un accès root au système d'exploitation, une vulnérabilité dans le mécanisme de vérification des firmwares a permis de télécharger une mise à jour du firmware modifiée dans le contrôleur BMC, ainsi qu'un accès non authentifié via IPMI KCS.
La méthode de modification de la tension via PMBus peut également être utilisée pour mener une attaque Plundervolt, permettant d'endommager le contenu des cellules de données dans le CPU utilisées pour les calculs dans des enclaves isolées Intel SGX en abaissant la tension à des niveaux minimaux, ce qui génère des erreurs dans des algorithmes initialement corrects. Par exemple, si l'on réussit à modifier la valeur utilisée lors de la multiplication pendant le chiffrement, le texte chiffré résultant sera incorrect. En ayant la capacité d'accéder au gestionnaire dans SGX pour chiffrer ses données, l'attaquant peut, en causant des pannes, accumuler des statistiques sur les modifications du texte chiffré à la sortie et récupérer la valeur de la clé stockée dans l'enclave SGX.
Les outils pour mener une attaque sur les cartes Supermicro et ASRock, ainsi qu'un utilitaire pour vérifier l'accès à PMBus, ont été publiés sur GitHub.
Source : opennet.ru
