Accueil Astuces et Informations Un bogue dans Linux 6.2 permettait de contourner la protection contre les...

Un bogue dans Linux 6.2 permettait de contourner la protection contre les attaques Spectre v2

3
1
vulnerabilidad

Si elles sont exploitées, ces failles peuvent permettre aux attaquants d’obtenir un accès non autorisé à des informations sensibles ou de causer des problèmes en général.

Récemment, des informations ont été publiées sur un vulnérabilité identifiée dans le noyau Linux 6.2 (déjà listé sous CVE-2023-1998) et qui se démarque parce qu’il est désactiver la protection contre les attaques Spectre v2 qui permettent l’accès à la mémoire par d’autres processus s’exécutant sur différents threads SMT ou Hyper Threading, mais sur le même cœur de processeur physique.

La vulnérabilité est notable entre autres parce que peut être utilisé pour organiser les fuites de données entre machines virtuelles dans les systèmes cloud.

Pour ceux qui ne connaissent pas Spectre, ils doivent savoir que ce est l’une des deux vulnérabilités originales du processeur d’exécution transitoire (l’autre est Meltdown), qui impliquent des attaques par canal latéral de synchronisation microarchitecturale. Ceux-ci affectent les microprocesseurs modernes qui effectuent des prédictions de saut et d’autres formes de spéculation.

Sur la plupart des processeurs, l’exécution spéculative résultant d’une mauvaise prédiction de branche peut laisser des effets secondaires observables qui peuvent révéler des données privées. Par exemple, si le modèle d’accès à la mémoire effectué par une telle exécution spéculative dépend des données privées, l’état résultant du cache de données constitue un canal latéral par lequel un attaquant peut extraire des informations sur les données privées à l’aide d’une attaque temporelle.

Depuis la divulgation de Spectre et Meltdown en janvier 2018, plusieurs variantes et nouveaux types de vulnérabilités liées à celles-ci sont apparus.

Le noyau Linux permet aux processus utilisateur d’activer les atténuations en appelant prctl avec PR_SET_SPECULATION_CTRL, qui désactive la fonction spec, ainsi qu’en utilisant seccomp. Nous avons constaté que sur les machines virtuelles d’au moins un fournisseur de cloud majeur, le noyau laissait toujours le processus victime ouvert aux attaques dans certains cas, même après avoir activé l’atténuation du spectre-BTI avec prctl.

Concernant la vulnérabilité, il est mentionné que dans l’espace utilisateur, pour se protéger des attaques du Spectre, les processus peuvent désactiver l’exécution de manière sélective instructions spéculatives avec prctl PR_SET_SPECULATION_CTRL ou utilisez le filtrage des appels système basé sur seccomp.

Selon les chercheurs qui ont identifié le problèmeoptimisation incorrecte dans les machines virtuelles gauches du noyau 6.2 d’au moins un grand fournisseur de cloud sans protection adéquate malgré l’inclusion du mode de blocage d’attaque spectre-BTI via prctl. La vulnérabilité se manifeste également sur les serveurs normaux avec le noyau 6.2, qui sont démarrés avec la configuration “spectre_v2=ibrs”.

L’essence de la vulnérabilité est qu’en choisissant les modes de protection IBRS ou eIBRS, les optimisations effectuées ont désactivé l’utilisation du mécanisme STIBP (Single Thread Indirect Branch Predictors), nécessaire pour bloquer les fuites lors de l’utilisation de la technologie Simultaneous Multi-Threading (SMT ou Hyper-Threading). )

À son tour, seul le mode eIBRS offre une protection contre les fuites entre les threads, pas le mode IBRS, car avec lui le bit IBRS, qui assure la protection contre les fuites entre les cœurs logiques, est effacé pour des raisons de performances lorsque le contrôle revient à l’utilisateur de l’espace, ce qui rend threads de l’espace utilisateur non protégés contre les attaques de la classe Spectre v2.

Le test consiste en deux processus. L’attaquant empoisonne constamment un appel indirect pour le rediriger de manière spéculative vers une adresse de destination. Le processus victime mesure le mauvais taux de prédiction et tente d’atténuer l’attaque en appelant PRCTL ou en écrivant directement sur le MSR à l’aide d’un module de noyau qui expose les opérations de lecture et d’écriture du MSR dans l’espace utilisateur.

Le problème affecte uniquement le noyau Linux 6.2 et est dû à une mise en œuvre incorrecte des optimisations conçues pour réduire les frais généraux importants lors de l’application de la protection contre Spectre v2. vulnérabilité Il a été corrigé dans la branche expérimentale du noyau Linux 6.3.

enfin oui Êtes-vous intéressé à en savoir plus? Vous pouvez vérifier les détails dans le lien suivant.