A partire da Linux 5.18 c’è stato Indirect Branch Tracking (IBT) nel kernel principale che è stato fornito da Intel come parte della loro Control-flow Enforcement Technology (CET). Per Linux 6.4 gli ingegneri Intel hanno cercato di ottenere il supporto Shadow Stack come l’altra parte di CET, ma i problemi sono stati scoperti all’ultimo minuto. Si spera che il supporto Shadow Stack venga unito per il ciclo v6.5, ma oltre al supporto host, gli ingegneri Intel hanno anche lavorato alla virtualizzazione CET per abilitare queste funzionalità di sicurezza per l’uso all’interno delle macchine virtuali.
Oggi segna la terza iterazione delle patch di Intel per la virtualizzazione CET per sfruttare queste funzionalità hardware della CPU, presenti sin dai processori Intel Tiger Lake, per aiutare a respingere gli attacchi di sovversione del flusso di controllo in stile ROP/JOP all’interno delle VM.
Le patch attuali fanno funzionare la tecnologia di applicazione del flusso di controllo per l’utente Shadow Stack e Indirect Branch Tracking oltre al supporto per il kernel Indirect Branch Tracking. Il supporto di Shadow Stack del supervisore Intel CET deve essere lavorato in futuro.
Oltre a richiedere questo codice in attesa e il codice Shadow Stack non ancora mainline a partire dalla v6.4, ci sono anche alcune patch QEMU in attesa necessarie per questa virtualizzazione CET. Coloro che sono interessati alle ultime patch del kernel per questo sforzo, possono essere trovate tramite questa patch LKML serie. Le patch v3 sono state ribasate rispetto a linux-next e contengono diverse correzioni rispetto alle precedenti iterazioni delle patch.