I ricercatori di quattro università statunitensi hanno scoperto un nuovo tipo di attacco che permette di utilizzare l’esecuzione speculativa dei moderni processori per accedere alle informazioni presenti in memoria. BranchScope condivide alcune similitudini con la variante 2 di Spectre resa pubblica all’inizio di gennaio, in quanto sfrutta una vulnerabilità della BPU (Branch Prediction Unit) delle CPU.
L’esecuzione speculativa è una tecnica che velocizza l’esecuzione delle istruzioni di salto condizionato attraverso la predizione delle diramazioni. In pratica il processore cerca di indovinare le istruzioni che verranno eseguite. Se la predizione è corretta si ottiene un incremento delle prestazioni. In caso contrario tutti i calcoli effettuati vengono scartati. La variante 2 di Spectre riesce a sfruttare questo meccanismo a proprio vantaggio, riuscendo a leggere i dati memorizzati nella cache non ancora svuotata. In particolare, l’accesso alle informazioni viene facilitato da Branch Target Buffer (BTB), la struttura dati nel processore che registra i target dei salti.
BranchScope, invece, utilizza la Pattern History Table (PHT) che conserva le direzioni delle diramazioni. I ricercatori hanno testato l’attacco su processori Intel, riuscendo ad eludere le Software Guard Extensions e la ASLR (Address Space Layout Randomization). Dato che il funzionamento è simile si potrebbero usare le stesse soluzioni hardware/software adottate per Spectre. Ovviamente è necessario prima installare un malware sul computer, dato che questo genere di attacchi non può essere sfruttato come “ingresso iniziale” al sistema.
Intel ha comunicato di aver ricevuto tutti i dettagli dai ricercatori, confermando che le mitigazioni implementate contro Spectre possono essere efficaci anche contro BranchScope, essendo entrambi exploit “side-channel”.