Intel lavora a mitigazioni hardware per prevenire Spectre-BHI

Intel ha introdotto il supporto di BHI_DIS sui kernel Linux, per mitigare gli attacchi basati Branch History Injection sulle CPU ARM e Intel

Avatar di Marco Doria

a cura di Marco Doria

Intel ha rilasciato alcune patch mirate ad aggiungere il supporto di "BHI_DIS" sui kernel Linux. In sostanza, "BHI_DIS" è una nuova mitigazione basata su hardware che arriverà nelle prossime CPU Intel e ARM al fine di garantire una maggiore protezione dagli attacchi Branch History Injection noti come Spectre-BHI.

Spectre-BHI è stata resa pubblica a marzo da VUSec, e in sostanza è un'estensione di Spectre V2 e riguarda principalmente le CPU ARM, così come le CPU Intel dalla 12a generazione (Alder Lake), andando indietro almeno fino a Haswell.

E gli interventi correttivi sui kernel Linux sono arrivati, appunto, sia per le CPU ARM che Intel, sebbene non ci siano grandi notizie in merito ad attacchi Branch History Injection di recente, probabilmente anche perché gli sviluppatori Intel sono perlopiù impegnati con Retbleed.

In ogni caso le patch intervengono a livello di kernel Linux per introdurre un sistema di prevenzione basato su hardware noto come BHI_DIS. Nelle note della patch viene spiegato che gli attacchi BHI possono essere mitigati tramite il bit di controllo BHI_DIS_S (indirect predictor) posizionato nel registro MSR_IA32_SPEC_CTRL. Impostando BHI_DIS in MSR_IA32_SPC_CTRL si previene la selezione dei target previsti dei branch indiretti eseguiti in CPL0, CPL1 o CPL2, in base alla cronologia dei branch da quelli eseguiti in CPL3.

Gli utenti che vogliano attivare la protezione BHI possono indicare spectre_v2=eibrs,bhi_dis per attivarle, mentre è possibile ritornare alle mitigazioni eibres e retpoline sulle piattaforme in cui le protezioni BHI non siano disponibili.

In ogni caso, gli attuali processori non supportano questo sistema di prevenzione hardware, di conseguenza la patch per i kernel Linux sono più pensate per il futuro, quando arriveranno le prime CPU ARM e Intel a supportare BHI_DIS.

Osservando la patch si nota inoltre che tale misura preventiva non sarà mai attiva per impostazione predefinita, probabilmente per via dell'impatto che tale mitigazione avrà sulle prestazioni generali del processore interessato.