Vulnérabilité dans le noyau Linux 6.2 qui pourrait contourner la protection contre les attaques Spectre v2

Une vulnérabilité (CVE-6.2-2023) a été identifiée dans le noyau Linux 1998, qui désactive la protection contre les attaques Spectre v2, qui permettent d'accéder à la mémoire d'autres processus exécutés dans différents threads SMT ou Hyper Threading, mais sur le même processeur physique. cœur. Cette vulnérabilité, entre autres choses, peut être utilisée pour provoquer des fuites de données entre les machines virtuelles des systèmes cloud. 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 la surcharge importante liée à l'application de la protection Spectre v2. La vulnérabilité a été corrigée dans la branche expérimentale du noyau Linux 6.3.

Dans l'espace utilisateur, pour se protéger contre les attaques Spectre, les processus peuvent désactiver sélectivement l'exécution spéculative des instructions à l'aide de prctl PR_SET_SPECULATION_CTRL ou utiliser le filtrage des appels système basé sur le mécanisme seccomp. Selon les chercheurs qui ont identifié le problème, une optimisation incorrecte dans le noyau 6.2 a laissé les machines virtuelles d'au moins un fournisseur de cloud majeur sans protection adéquate, malgré l'inclusion du mode de blocage des attaques spectre-BTI via prctl. La vulnérabilité apparaît également sur les serveurs standards avec le noyau 6.2, lors de leur chargement, le paramètre « spectre_v2=ibrs » est utilisé.

L'essence de la vulnérabilité est que lors du choix des modes de protection IBRS ou eIBRS, les optimisations introduites 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 multithreading simultanée (SMT ou Hyper- Enfilage). Cependant, seul le mode eIBRS assure une protection contre les fuites entre les threads, mais pas le mode IBRS, puisque dans ce cas 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'espace utilisateur, ce qui rend threads dans l’espace utilisateur non protégés contre les attaques Spectre v2.

Source: opennet.ru

Ajouter un commentaire