IBPB, o Indirect Branch Predictor Barrier, è una mitigazione della CPU che svuota lo stato del branch predictor quando l'esecuzione attraversa un confine di sicurezza. L'obiettivo è impedire che un processo, una VM o un livello di privilegio influenzi il flusso di controllo speculativo di un altro tramite voci di predizione obsolete, come la cronologia del BTB.
Questo è importante negli attacchi di tipo Spectre-v2 perché gli attaccanti possono addestrare i predittori dei rami indiretti e poi indirizzare una vittima verso un'esecuzione mal speculata. IBPB è una delle difese usate per ridurre questo rischio cancellando lo stato del predittore durante i context switch, le transizioni del kernel o altri passaggi sensibili. In pratica, viene spesso affiancato ad altri controlli come retpoline, IBRS o STIBP, perché nessuna singola mitigazione copre tutti i pattern di riutilizzo. Nei carichi di lavoro con forte uso di JIT, dove il codice viene creato e liberato frequentemente, IBPB aiuta a limitare la probabilità che una vecchia cronologia dei rami sopravviva abbastanza a lungo da influenzare codice appena allocato o un diverso dominio di sicurezza.


