Credito:Pixabay/CC0 di dominio pubblico
Più programmi in esecuzione contemporaneamente su un dispositivo si basano sui dati archiviati nell'hardware di memoria del dispositivo, ma le informazioni riservate potrebbero non essere condivise tra tutti i programmi, esponendo il dispositivo a un "attacco del canale laterale della temporizzazione della memoria".
Quando si tenta di accedere all'hardware di memoria, i ritardi di risposta vengono rilevati e sfruttati per recuperare informazioni sensibili come password o chiavi crittografiche. L'attuale soluzione di limitare l'hardware di memoria a un singolo programma rallenta il calcolo.
I ricercatori beneficiari della National Science Foundation degli Stati Uniti con sede presso il Massachusetts Institute of Technology hanno sviluppato un approccio che consente di condividere l'hardware di memoria senza compromettere la sicurezza dagli attacchi side-channel di temporizzazione della memoria e aumenta la velocità di calcolo del 12% rispetto alle soluzioni all'avanguardia. La ricerca è pubblicata in Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems .
"Al giorno d'oggi è molto comune condividere un computer con altri, soprattutto se si esegue il calcolo nel cloud o anche sul proprio dispositivo mobile", ha affermato l'autore senior Mengjia Yan. "Attraverso queste risorse condivise, un utente malintenzionato può cercare anche informazioni a grana molto fine."
Esistono diversi modi in cui un programma dannoso può prendere di mira la memoria condivisa per accedere a informazioni riservate. Il team si è concentrato su una soluzione per sventare gli attacchi di contesa, quando il programma dannoso tenta di accedere all'hardware di memoria contemporaneamente a un altro programma.
"L'attaccante sta frugando nel controller della memoria, la porta della biblioteca, per dire 'è occupato adesso?'", ha detto il coautore Joel Emer. "Se vengono bloccati perché la porta della libreria si sta già aprendo, poiché il programma vittima sta già utilizzando il controller di memoria, subiranno dei ritardi."
I ricercatori hanno sviluppato uno schema che utilizza una struttura a grafo, nota come grafo aciclico diretto, o DAG, per elaborare le richieste e inviare le richieste al controller di memoria in base a una pianificazione fissa. La struttura consente di condividere l'hardware di memoria tra i programmi in modo sicuro. Il team ha chiamato lo schema di sicurezza DAGguise.
DAGguise potrebbe essere modificato per difendersi da diversi attacchi side-channel che prendono di mira risorse di elaborazione condivise come le reti su chip.