Alors que les attaques d’exécution spéculative restent une vulnérabilité obstinément persistante des processeurs modernes, de nouvelles recherches ont mis en évidence un « échec de l’industrie » à adopter les mesures d’atténuation publiées par AMD et Intel, posant une menace pour la chaîne d’approvisionnement des micrologiciels. Surnommées FirmwareBleed par Binarly, les fuites d’informations proviennent de l’exposition continue des surfaces d’attaque microarchitecturales de la part des fournisseurs d’entreprise, soit parce qu’elles n’intègrent pas correctement les correctifs, soit qu’elles ne les utilisent que partiellement. « L’impact de telles attaques se concentre sur la divulgation du contenu de la mémoire privilégiée (y compris protégée par les technologies de virtualisation) pour obtenir des données sensibles à partir de processus s’exécutant sur le même processeur (CPU) », a déclaré la société de protection des micrologiciels dans un rapport partagé avec breachtrace. « Les environnements cloud peuvent avoir un impact plus important lorsqu’un serveur physique peut être partagé par plusieurs utilisateurs ou entités juridiques. » Ces dernières années, les implémentations d’exécution spéculative, une technique d’optimisation qui prédit le résultat et la cible des instructions de branchement dans le pipeline d’exécution d’un programme, ont été jugées sensibles aux attaques de type Spectre sur les architectures de processeur, permettant potentiellement à un acteur malveillant de divulguer des clés cryptographiques et autres secrets. Cela fonctionne en incitant le CPU à exécuter une instruction qui accède à des données sensibles en mémoire qui seraient normalement interdites à une application non privilégiée, puis à extraire les données une fois l’opération annulée suite à une mauvaise prédiction. Une contre-mesure clé pour prévenir les effets néfastes de l’exécution spéculative est une défense logicielle connue sous le nom de retpoline (alias « Return Trampoline »), qui a été introduite en 2018. Bien que des découvertes récentes telles que Retbleed aient montré de manière concluante que la retpoline en elle-même est insuffisante pour arrêter de telles attaques dans certains scénarios, la dernière analyse montre un manque de cohérence même dans l’application de ces atténuations en premier lieu. « Notre recherche FirmwareBleed montre que l’adoption par l’industrie peut être assez faible et que les mesures d’atténuation ne s’appliquent pas toujours même si elles sont techniquement disponibles », a déclaré Alex Matrosov, PDG et co-fondateur de Binarly, à breachtrace.
Plus précisément, il vise une meilleure pratique appelée Return Stack Buffer (RSB) introduite par Intel pour éviter les débordements lors de l’utilisation de retpoline. Les RSB sont des prédicteurs d’adresse pour les instructions de retour (alias RET). « Certains processeurs peuvent utiliser des prédicteurs de branche autres que le Return Stack Buffer (RSB) lorsque le RSB est insuffisant », note Intel dans sa documentation. « Cela pourrait avoir un impact sur les logiciels utilisant la stratégie d’atténuation retpoline sur ces processeurs. » « Sur les processeurs avec un comportement RSB vide différent, le code [System Management Mode] doit remplir le RSB avec des instructions CALL avant de revenir de SMM pour éviter d’interférer avec l’utilisation non SMM de la technique retpoline. » Intel recommande également le bourrage RSB comme mécanisme pour contrecarrer les attaques de débordement de tampon comme Retbleed, exhortant alternativement les fournisseurs à « définir [Indirect Branch Restricted Speculation] avant les instructions RET à risque de débordement en raison de piles d’appels profondes ». La recherche Binarly, cependant, a identifié jusqu’à 32 micrologiciels de HP, 59 de Dell et 248 de Lenovo comme n’ayant pas inclus les correctifs de bourrage RSB, soulignant une « défaillance dans la chaîne d’approvisionnement des micrologiciels ». « Étant donné que la même technique avec LFENCE est utilisée pour l’atténuation, une attaque Retbleed peut également techniquement contourner l’atténuation RSB au niveau du micrologiciel », a souligné Matrosov. « Les primitives de code vulnérable Retbleed doivent être présentes dans le code du micrologiciel pour que l’attaque réussisse. Intel et AMD ont déjà corrigé les correctifs Retbleed pour atténuer l’attaque, mais le principal problème est la rapidité avec laquelle l’industrie les adoptera. » De plus, l’analyse approfondie du code a mis au jour des instances dans lesquelles une atténuation était présente dans le micrologiciel, mais elle contenait des erreurs de mise en œuvre qui ont engendré ses propres problèmes de sécurité, même dans les mises à jour publiées en 2022 et pour les appareils dotés de la dernière génération de matériel. « Les écosystèmes de la chaîne d’approvisionnement des micrologiciels sont assez complexes et contiennent souvent des défaillances reproductibles lorsqu’il s’agit d’appliquer de nouvelles mesures d’atténuation à l’échelle de l’industrie ou de corriger les vulnérabilités du code de référence », ont déclaré les chercheurs. « Même si une atténuation est présente dans le firmware, cela ne signifie pas qu’elle est appliquée correctement sans créer de failles de sécurité. »