En un mot: BHI est un nouveau type de vulnérabilité d’exécution spéculative affectant la plupart des processeurs Intel et Arm qui attaque l’historique global de la branche au lieu de la prédiction de la cible de la branche. Malheureusement, les atténuations précédentes des entreprises pour Spectre V2 ne protégeront pas contre BHI, bien que les processeurs AMD soient pour la plupart immunisés. Les correctifs de sécurité devraient être publiés prochainement par les fournisseurs, et le noyau Linux a déjà été corrigé.
Une nouvelle classe Spectre vulnérabilité d’exécution spéculativeappelé Branch History Injection (BHI) ou Spectre-BHB, a été divulgué conjointement mardi par VUSéc groupe de recherche sur la sécurité et Intel.
BHI est une preuve de concept réimplémentant le type d’attaque Spectre V2 (ou Spectre-BTI). Cela affecte tout processeur également vulnérable à Spectre V2, même si des mesures d’atténuation pour Spectre V2 ont déjà été mises en œuvre ; il peut contourner les atténuations eIBRS d’Intel et CSV2 d’Arm. Ces atténuations protègent contre l’injection de cible de branche, tandis que le nouvel exploit permet aux attaquants d’injecter des entrées de prédicteur dans l’historique global de la branche. BHI peut être utilisé pour fuir la mémoire arbitraire du noyau, ce qui signifie que des informations sensibles telles que les mots de passe peuvent être compromises.
VUSec l’a expliqué comme suit : « BHI est essentiellement une extension de Spectre v2, où nous tirons parti de l’historique global pour réintroduire l’exploitation de BTI à privilèges croisés. Par conséquent, la primitive de l’attaquant est toujours Spectre v2, mais en injectant l’historique à travers les privilèges. (BHI), nous pouvons exploiter des systèmes qui déploient de nouvelles atténuations matérielles (c’est-à-dire Intel eIBRS et Arm CSV2). »
La vulnérabilité affecte tous les processeurs Intel lancés depuis Haswell, y compris Ice Lake-SP et Alder Lake. Les processeurs Arm concernés incluent Cortex A15/A57/A65/A72/A73/A75/A76/A77/A78/X1/X2/A710, Neoverse N2/N1/V1 et Broadcom Brahma B15.
L’ID CVE pour Arm est CVE-2022-23960 et Intel utilise les ID CVE-2022-0001 et CVE-2022-0002. Les deux sociétés ont publié plus de détails sur leurs processeurs concernés ici (Intel) et ici (Bras).
Intel a publié la déclaration suivante concernant l’exploit BHI : « L’attaque, comme l’ont démontré les chercheurs, était auparavant atténuée par défaut dans la plupart des distributions Linux. La communauté Linux a mis en œuvre les recommandations d’Intel à partir de la version 5.16 du noyau Linux et est en train de rétroporter l’atténuation des versions antérieures du noyau Linux. Intel a publié des articles techniques décrivant d’autres options d’atténuation pour ceux qui utilisent des configurations autres que celles par défaut et pourquoi l’atténuation LFENCE ; JMP n’est pas suffisante dans tous les cas. »
Les processeurs AMD semblent être immunisés contre BHI. Selon Phoronixles processeurs rouges de l’équipe qui ont utilisé par défaut Retpolines pour les atténuations Spectre V2 devraient être en sécurité.
Les correctifs de sécurité des fournisseurs devraient être publiés prochainement. En plus de les installer, les chercheurs recommandent de désactiver le support eBPF non privilégié comme mesure de précaution supplémentaire. Linux a déjà fusionné les mises à jour de sécurité dans son noyau principal. On ne sait pas encore si ces atténuations de sécurité auront un impact sur les performances.
Le code source de l’exploit de VUSec peut être trouvé ici.