Depuis Linux 5.18, il y a eu un suivi de branche indirect (IBT) dans le noyau principal qui a été fourni par Intel dans le cadre de leur technologie d’application de flux de contrôle (CET). Pour Linux 6.4, les ingénieurs d’Intel ont essayé d’intégrer la prise en charge de Shadow Stack comme l’autre partie de CET, mais des problèmes ont été découverts à la dernière minute. Espérons que la prise en charge de Shadow Stack sera fusionnée pour le cycle v6.5, mais au-delà de cette prise en charge de l’hôte, les ingénieurs d’Intel ont également travaillé sur la virtualisation CET pour activer ces fonctionnalités de sécurité à utiliser dans les machines virtuelles.
Aujourd’hui marque la troisième itération des correctifs d’Intel pour la virtualisation CET pour tirer parti de ces fonctionnalités matérielles du processeur-trouvées depuis les processeurs Intel Tiger Lake-pour aider à repousser les attaques de subversion de flux de contrôle de type ROP/JOP au sein des machines virtuelles.
Les correctifs actuels permettent à la technologie d’application du flux de contrôle de fonctionner pour l’utilisateur Shadow Stack et le suivi indirect des branches, ainsi que la prise en charge du suivi indirect des branches du noyau. La prise en charge de Shadow Stack par le superviseur Intel CET reste à travailler à l’avenir.
En plus d’avoir besoin de ce code en attente ainsi que du code Shadow Stack qui n’est pas encore intégré à partir de la v6.4, il existe également des correctifs QEMU en attente nécessaires pour cette virtualisation CET. Ceux qui sont intéressés par les derniers correctifs du noyau pour cet effort, ils peuvent être trouvés via ce correctif LKML série. Les correctifs v3 ont été rebasés sur linux-next et contiennent plusieurs correctifs par rapport aux itérations de correctifs précédentes.