Gli attacchi a canale laterale utilizzano fughe non intenzionali di informazioni riguardanti il consumo di energia, il tempo di esecuzione o le radiazioni elettromagnetiche per compromettere la sicurezza di un dispositivo o del codice utilizzato.
Il primo attacco di questo tipo viene attuato nel 1996, quando Kocher ha trovato, analizzando il tempo di esecuzione di sistemi crittografici, il modo di estrarre informazioni segrete relative a Diffie-Hellman e RSA.
Nel corso successivo degli anni si è assistito a diverse implementazioni di questi attacchi, tra cui:
In questo attacco, l’obiettivo è compromettere un sistema crittografico analizzando il tempo di esecuzione dell’algoritmo. L’affidabilità dell’attacco si basa sul fatto che molti algoritmi sono dipendenti dai dati immessi e studiandone molteplici casi con input differenti è possibile estrarre informazioni in base alle statistiche ottenute.
Due paper che lo descrivono dettagliatamente sono Cache-timing attacks on AES (2005, Bernstein) e Timing attacks made pratical (2015, BlackHat Conf.)
Come si evince la titolo, in questo caso viene analizzato il consumo di energia di un dispositivo crittografico (come smart-card o circuiti integrati) per cercare di estrapolare informazioni rilevanti. È la tecnica meno invasiva e si divide principalmente in due casi principali:
Un ottimo documento che spiega passaggio per passaggio l’attacco lo si può trovare su Github, mentre su Youtube un ricercatore mostra l’ottenimento di una chiave AES in meno di due minuti.
In questo caso la vittima è l’architettura del processore e come vengono implementate le richieste tra la memoria e la CPU. Il primo attacco è stato attuato da Osvik nel 2005 il quale riuscì a rivelare i pattern di accesso di AES. Nel corso degli anni sono stati implementati diverse tipologie di questo attacco tra cui:
Per chi fosse interessato ad approfondire l’argomento consiglio il corso su Coursera (gratuito), l’ho seguito poco tempo fa e mi ha fatto capire molte cose altrimenti non chiare. Nei prossimi articoli andrò ad approfondire l’ultima tipologia di attacchi, spiegando in maniera approfondita l’effettivo funzionamento degli stessi.