Vulnerabilità di sicurezza nella gerarchia di memoria cache dei sistemi multicore

Docente

Davide Zoni (web, mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

architetture dei calcolatori, C++, programmazione

Tecnologie da utilizzare

C++, gem5 cycle accurate simulator

Descrizione (max 500 caratteri)

La maggior parte dei processori commerciali moderni implementa una gerarchia di memoria cache supportata da un protocollo di coerenza al fine di ottimizzare la gestione dei dati tra i vari core e la memoria centrale. Sebbene i protocolli di coerenza e la gerarchia di memoria cache offrano benefici innegabili dal punto di vista prestazionale, vengono sempre più spesso utilizzati per veicolare attacchi informatici di tipo side-channel al fine di ottenere informazioni privilegiate in modo fraudolento.

Gem5 (www.gem5.org) è un simulatore architetturale full-system e cycle-accurate che permette quindi la simulazione di architetture multicore in cui è in esecuzione un sistema operativo Linux. Gem5 viene attualmente impiegato in ambito accademico ed industriale per le fasi di analisi ed esplorazione preliminari di nuove architetture di calcolo sia di classe embedded che ad alte prestazioni. Gem5 supporta i principali schemi di coerenza sia directory- che snooping-based.

A partire dalla versione corrente di gem5 (www.gem5.org) il progetto prevede le seguenti attività:

  1. Studio della tematica con focus su una vulnerabilità (documenti forniti del docente) [10 ore]
  2. Comprensione dell’utilizzo di gem5 per la simulazione di architetture multi-core [25 ore]
  3. Implementazione dell’infrastruttura per il monitoraggio della vulnerabilità side-channel [25 ore]
  4. Implementazione della contromisura nel cache controller [35 ore]
  5. Valutazione dei risultati con e senza la contromisura [10 ore]
  6. Stesura del report finale [20 ore]

Prerequisiti: conoscenza di C++, concetti di architetture dei calcolatori e sistemi operativi (ACSO)

Comments are closed.