Un attacco side-channel è una tecnica di cyber attack che consente di raccogliere informazioni o influenzare l’esecuzione di un programma attraverso effetti collaterali del sistema o dell’hardware, anziché attaccare direttamente il programma stesso o il suo codice.
Questi attacchi mirano tipicamente a sottrarre informazioni sensibili, come chiavi crittografiche, misurando le frequenze accidentali dell’hardware. Conosciuti anche come attacchi laterali o attacchi di implementazione, gli attacchi side-channel sono diventati sempre più comuni e facili da eseguire grazie ai progressi negli strumenti di misurazione e nella potenza computazionale.

Cos’è un Attacco Side-Channel?
Immaginiamo di voler determinare i luoghi in cui una persona ha guidato la propria auto.
Un metodo di attacco tradizionale potrebbe essere seguire l’auto o utilizzare un sistema di tracciamento GPS.
Un attacco side-channel, invece, ricorre a misurazioni indirette legate all’uso dell’auto.
Ad esempio, indaga sulle variazioni nel livello di carburante, il calore del motore, l’usura degli pneumatici e i graffi sulla vernice: tutte informazioni collaterali che rivelano dati sull’uso dell’auto, sui luoghi visitati, sulle distanze percorse, il tutto senza influenzare direttamente il funzionamento del mezzo o dare segnali al proprietario.
Storicamente, gli attacchi side-channel erano difficili da mettere in pista, ma oggi sono diventati più comuni e semplici a causa di diversi fattori.
In primis, la crescente sensibilità degli strumenti di misurazione ha reso possibile raccogliere dati estremamente dettagliati su un sistema. Inoltre, una maggiore potenza di calcolo e l’apprendimento automatico consentono agli attaccanti di comprendere e contestualizzare i dati grezzi che estraggono.
Gli attaccanti possono anche mirare a bersagli di alto valore, come processori sicuri, chip del Trusted Platform Module (TPM) e chiavi crittografiche.
Tipi di attacchi Side-Channel
Esistono numerosi vettori di attacchi side-channel conosciuti, tra i più comuni troviamo:
Attacco temporale
Questo attacco analizza il tempo impiegato da un sistema nell’esecuzione di algoritmi crittografici. Ad esempio, potrebbe sfruttare il fatto che l’accesso alla memoria cache è più veloce dell’accesso alla memoria principale.
Attacco Elettromagnetico (EM)
Questo tipo di attacco sfrutta i segnali elettromagnetici emessi da un dispositivo. Ad esempio, i circuiti crittografici emettono segnali elettromagnetici unici a seconda delle operazioni eseguite, permettendo agli attaccanti di determinare quali chiavi crittografiche vengono utilizzate misurando questi segnali.
Analisi di Potenza Semplice (SPA)
Questo approccio prevede l’osservazione diretta delle variazioni di potenza ed elettromagnetiche di un sistema crittografico durante le operazioni.
Analisi di Potenza Differenziale (DPA)
Questo metodo acquisisce e analizza dettagliate misurazioni statistiche su più operazioni. Le differenze nel consumo energetico di un sistema crittografico possono essere utilizzate per inferire le chiavi crittografiche.
Attacco a Modello (Template Attack)
Questo tipo di attacco recupera le chiavi crittografiche utilizzando un dispositivo “modello” identico e confrontando i dati side-channel.

Prevenire gli attacchi Side-Channel
Per proteggere i sistemi dagli attacchi side-channel, è fondamentale adottare adeguate contromisure, che possono essere suddivise principalmente in due categorie:
Categoria 1: ridurre o eliminare la divulgazione di informazioni sensibili
- Introdurre deliberati ritardi casuali per scoraggiare gli attacchi basati sul tempo. Tuttavia, attacchi sofisticati come la DPA possono superare queste contromisure.
- Mitigare le correlazioni tra l’attività del dispositivo e le emissioni a canale laterale. Alcune minime correlazioni potrebbero comunque persistere, permettendo potenzialmente a un aggressore determinato di compromettere la sicurezza del sistema.
- Valutare attentamente tutti i sistemi elettronici utilizzando piattaforme specializzate per identificare e risolvere vulnerabilità side-channel.
- Implementare core hardware resistenti alla DPA con contromisure efficaci. Questi core, basati su implementazioni ottimizzate di cifrari ampiamente accettati, hanno dimostrato resistenza agli attacchi side-channel di primo e secondo ordine su più di 1 miliardo di operazioni.
Categoria 2: eliminare la correlazione tra le informazioni rivelate e i dati sensibili
- Modificare gli input dell’algoritmo (specialmente nella crittografia asimmetrica) in stati imprevedibili per impedire la divulgazione involontaria di informazioni.
- Suddividere casualmente ogni variabile intermedia sensibile che si verifica durante il calcolo in condivisioni di dati. Sebbene ampiamente utilizzato in pratica, il masking è spesso considerato una soluzione empirica e richiede una valutazione attenta della sua efficacia.
Adottando queste contromisure, è possibile rafforzare notevolmente la protezione dei sistemi contro gli attacchi side-channel e mantenere al sicuro i dati sensibili.
