Key4biz

Cybercrime, come funziona un attacco side channel

Fu il ricercatore Paul Kocher a parlare per la prima volta di attacco su canale laterale negli anni ’90 in occasione dell’RSA Data Security and crypto conferences, dove mostrò che era possibile ottenere informazioni (propedeutiche per un attacco informatico) sull’implementazione di un sistema di sicurezza senza sfruttare una particolare vulnerabilità del crittosistema dal punto di vista matematico quanto piuttosto un aspetto secondario che nessuno, fino ad allora, aveva considerato: il tempo di esecuzione delle operazioni algoritmiche.

Da allora, con il termine SCA (Side Channel Attack) viene indicato un qualsiasi exploit di sicurezza che implica una raccolta indiretta di informazioni sull’attività di un dispositivo, utilizzata successivamente per violare il dispositivo stesso.

Attacco side channel, come funziona

A differenza di molti altri tipi di exploit di sicurezza, gli attacchi side channel non sfruttano vulnerabilità hardware o software, ma osservano piuttosto il modo in cui il software di base del dispositivo accede all’hardware, alla ricerca di un canale secondario che possa dare preziose indicazioni per la ricostruzione dei dati di elaborazione.

Gli attacchi side channel possono dunque colpire qualsiasi sistema operativo Windows, Linux e Mac.

Le famose vulnerabilità riscontrate, negli ultimi anni, nei processori moderni denominate Meltdown, Spectre e Fallout ne sono un esempio lampante.

Ma ancora prima che il termine entrasse in uso negli anni ‘90 già si parlava di intercettazioni phreaking di Van Eck e tecniche simili ovvero di particolari forme di attacchi che oggi avremmo considerato come declinazioni SCA.  

Le tipologie degli SCA

Tutti gli attacchi side channel sfruttano i cambiamenti subiti, durante l’attività operativa del dispositivo target, da una serie di proprietà del canale secondario prescelto, come ad esempio il calore generato, il consumo di energia o il tempo di esecuzione.

Diversi possono essere, infatti, i parametri di misura analizzati sui canali laterali da utilizzare per sferrare attacchi SCA:

Alla luce di quanto sopra esposto, se un utente malintenzionato riuscisse ad eseguire il proprio codice sul sistema, potrebbe per esempio sfruttare un timing attack attraverso il runtime di un’applicazione target osservando, a basso livello, i tempi di accesso alla memoria e di esecuzione, influenzandoli indirettamente forzando, ad esempio, lo stato cache ad un determinato valore e osservando la conseguente risposta dell’applicazione monitorata.

Possibili contromisure

È possibile utilizzare una serie di contromisure per prevenire potenziali tentativi di analisi di un canale laterale, basandosi essenzialmente su strategie che ostacolino le tecniche di correlazione (il rilascio di informazioni elettromagnetiche potrebbe, ad esempio, consentire di correlare uno specifico calcolo operazionale ad una determinata attività della CPU) attraverso una riduzione del rapporto segnale-rumore del canale secondario e/o una randomizzazione delle sequenze operazionali.

Anche se queste tipologie di attacchi, ormai note da tempo, non sembra abbiano avuto particolare risonanza rispetto ad altre forme di attacchi informatici a causa della loro difficile applicazione (che richiede una presenza fisica in prossimità del target ed un certo monitoraggio), la facile reperibilità e disponibilità, oggigiorno, di dispositivi smart per la registrazione audio/video (IoT, smartphone, smartwatch ecc.) e l’infinita varietà di canali secondari potenzialmente sfruttabili, per compromettere un sistema attraverso fughe non intenzionali di dati, non rendono certamente trascurabile l’effettiva fattibilità.

Exit mobile version