Intel sta lavorando su un nuovo tipo di memoria pensato per salvaguardare i processori e di conseguenza i computer dagli attacchi side-channel all’esecuzione speculativa, che molto hanno fatto parlare negli ultimi anni, a partire da Spectre e Meltdown, per arrivare più recentemente a MDS e SWAPGS.
Questi attacchi sfruttano vulnerabilità nel modo in cui i processori gestiscono l’esecuzione speculativa, una tecnica usata dalla maggior parte dei processori moderni per ottimizzare le prestazioni.
Per migliorare le prestazioni, le CPU possono scegliere di eseguire le istruzioni in modo speculativo, sulla base di ipotesi considerate verosimili. Durante l'esecuzione speculativa, il processore verifica queste ipotesi: se sono valide, l'esecuzione continua. Se non lo sono, l'esecuzione viene bloccata e può essere avviato il corretto percorso di esecuzione in base alle condizioni effettive.
Questo modus operandi permette di avere prestazioni migliori in molti casi, specie se le ipotesi vengono azzeccate di frequente. Come però abbiamo imparato dal 2017, l’esecuzione speculativa può avere effetti collaterali, in quanto quando la CPU fa ipotesi errate può potenzialmente esporre determinati tipi di dati tramite quello che viene definito un "side channel".
Le CPU Intel sono le più colpite da questo problema e l’azienda ha lavorato alacremente per porre rimedio alla situazione tramite fix alla parte software - sistema operativo e firmware - ma anche con interventi direttamente in hardware per quanto concerne le architetture più recenti.
Da un documento di ricerca pubblicato la scorsa settimana emerge che Intel sta lavorando anche su altre soluzioni. SAPM, che sta per Speculative-Access Protected Memory, è un nuovo tipo di memoria che potrebbe rimpiazzare l’attuale sistema di memoria della CPU.
SAPM è il lavoro di Intel STORM (STrategic Offensive Research & Mitigations), un team di ricercatori di sicurezza di primo livello che Intel ha assemblato nel 2017 per lavorare sulle mitigazioni agli attacchi speculativi. SAPM al momento è solo un’idea e non ci sono chip in silicio per valutare concretamente le contromisure.
Gli ingegneri di Intel hanno divulgato la ricerca affinché faccia da “fondamenta per altri ricercatori e l’industria”, e sottolineato che SAPM funziona sia con indirizzi di memoria fisici che virtuali.
“SAPM può essere applicata a specifici intervalli di memoria, con l’attributo che ogni accesso di memoria a quel tipo di memoria sarà serializzato a livello istruzione, ossia che ogni esecuzione speculativa oltre l’istruzione di accesso a SAPM sarà sospeso in attesa del corretto ritiro di questa istruzione di accesso a SAPM”.
I ricercatori affermano che la loro "proposta offre maggiore flessibilità al software" spostando gran parte delle barriere contro gli attacchi speculativi a livello hardware. L'idea è che la maggior parte degli attacchi possa essere divisa in due parti: la parte "frontend" del codice exploit e il suo "backend".
Intel afferma che la seconda parte (backend) della maggior parte degli attacchi svolge le stesse azioni che SAPM può bloccare. Ed è proprio questa capacità che dovrebbe garantire l'efficacia di SAPM anche contro attacchi futuri.
Si pone però il problema dell’impatto prestazionale sulla CPU: i ricercatori non negano che c’è un calo delle prestazioni, ma dovrebbe essere contenuto e potrebbe ulteriormente essere ridotto abbandonando le protezioni esistenti.
"Anche se il costo prestazionale per ciascun accesso alla memoria a SAPM è relativamente elevato, considerando che tali operazioni rappresentano solo una piccola parte dell'esecuzione totale del software, prevediamo che l’overhead prestazionale complessivo sia basso e potenzialmente inferiore all'impatto delle attuali mitigazioni", hanno concluso i ricercatori.