In this thesis we analyzed the architecture of the superscalar ARM Cortex-A7 processor, by mean of a side-channel analysis: measuring the power consumption of the processor and the execution time of our benchmarks we understood in depth its structure, the number of functional units, and its pipeline behavior, information that were not available in the official ARM documentation. In particular, we derived results that show the inner dependency among instructions executed by the processor and hardware components, indicating for different pair of instructions, which is the involved architectural component and which leakage model predict better its power consumption during that particular set of instructions. In literature the most of the power attacks use models such as the Hamming weight of the intermediate value after a specific phase of the cipher (usually after the look up table) without knowing the real reasons that bring the attack to be successful. In this work, after explaining the reason why these attacks used in literature produce right guess of the key used by the cipher, we derived, thanks to the previous processor characterization, more precise leakage models that allow us to execute more effective attacks, using for instance a less number of power measures. After the validation of these consumption models (performed both in a bare metal environment and on Operating System), we showed how to perform an attack in a real case scenario, introducing signal processing techniques to remove the noise in the traces, or the individuation of repetitive patterns. We can claim after this work that side channel attacks represent a real threat for security, for all embedded systems that deal with secret information. In particular, with a detailed analysis as the one done in this thesis, it is possible to characterize every CPU from the point of view of the side-channel information leakage and to obtain precise information about its vulnerability.

In questa tesi è stato analizzato dal punto di vista architetturale il processore superscalare ARM Cortex-A7, attraverso un'analisi di tipo side-channel: grazie a misure della potenza dissipata dal processore e analizzando il tempo di esecuzione dei nostri benchmark è stato possibile comprendere a fondo la sua struttura, il numero di unità funzionali, e il funzionamento della sua pipeline, informazioni che la documentazione ufficiale non fornisce. In particolare, abbiamo ricavato risultati che mostrano la stretta dipendenza tra istruzioni eseguite e componenti hardware, indicando per diverse coppie di istruzioni, quale componente architetturale coinvolgono e quali modelli di leakage prevedono meglio la sua potenza dissipata. In letteratura la maggior parte degli attacchi in potenza utilizza modelli come l'Hamming weight del valore intermedio dopo una specifica fase del cifrario (solitamente dopo la sostituzione), senza però sapere le reali motivazioni che portano l'attacco ad avere successo. In questo lavoro, dopo aver spiegato i motivi per cui questi attacchi usati in letteratura producono ipotesi di chiave corretti, abbiamo derivato, grazie alla caratterizzazione del processore fatta in precedenza, modelli più precisi che hanno permesso di eseguire attacchi con un minore numero di misure del consumo di potenza. Dopo aver validato questi modelli di consumo (sia su bare metal che usando un sistema operativo), abbiamo mostrato come compiere un attacco in uno scenario reale contro il dispositivo, introducendo tecniche di signal processing per la rimozione del rumore nelle tracce e l'individuazione di pattern ripetuti. Possiamo dire dopo questo lavoro che gli attacchi side channel rappresentano una seria minaccia per tutti i dispositivi embedded che gestiscono informazioni sensibili. In particolare con un tipo di analisi come quella presente in questa tesi è possibile caratterizzare una qualunque CPU dal punto di vista della perdita di informazione via side-channel e ricavarne informazioni precise sulla sua vulnerabilità.

Architectural characterization of passive side channel leakage : the case of ARM Cortex-A7

BOTTI, DAVIDE
2015/2016

Abstract

In this thesis we analyzed the architecture of the superscalar ARM Cortex-A7 processor, by mean of a side-channel analysis: measuring the power consumption of the processor and the execution time of our benchmarks we understood in depth its structure, the number of functional units, and its pipeline behavior, information that were not available in the official ARM documentation. In particular, we derived results that show the inner dependency among instructions executed by the processor and hardware components, indicating for different pair of instructions, which is the involved architectural component and which leakage model predict better its power consumption during that particular set of instructions. In literature the most of the power attacks use models such as the Hamming weight of the intermediate value after a specific phase of the cipher (usually after the look up table) without knowing the real reasons that bring the attack to be successful. In this work, after explaining the reason why these attacks used in literature produce right guess of the key used by the cipher, we derived, thanks to the previous processor characterization, more precise leakage models that allow us to execute more effective attacks, using for instance a less number of power measures. After the validation of these consumption models (performed both in a bare metal environment and on Operating System), we showed how to perform an attack in a real case scenario, introducing signal processing techniques to remove the noise in the traces, or the individuation of repetitive patterns. We can claim after this work that side channel attacks represent a real threat for security, for all embedded systems that deal with secret information. In particular, with a detailed analysis as the one done in this thesis, it is possible to characterize every CPU from the point of view of the side-channel information leakage and to obtain precise information about its vulnerability.
PELOSI, GERARDO
ING - Scuola di Ingegneria Industriale e dell'Informazione
28-apr-2017
2015/2016
In questa tesi è stato analizzato dal punto di vista architetturale il processore superscalare ARM Cortex-A7, attraverso un'analisi di tipo side-channel: grazie a misure della potenza dissipata dal processore e analizzando il tempo di esecuzione dei nostri benchmark è stato possibile comprendere a fondo la sua struttura, il numero di unità funzionali, e il funzionamento della sua pipeline, informazioni che la documentazione ufficiale non fornisce. In particolare, abbiamo ricavato risultati che mostrano la stretta dipendenza tra istruzioni eseguite e componenti hardware, indicando per diverse coppie di istruzioni, quale componente architetturale coinvolgono e quali modelli di leakage prevedono meglio la sua potenza dissipata. In letteratura la maggior parte degli attacchi in potenza utilizza modelli come l'Hamming weight del valore intermedio dopo una specifica fase del cifrario (solitamente dopo la sostituzione), senza però sapere le reali motivazioni che portano l'attacco ad avere successo. In questo lavoro, dopo aver spiegato i motivi per cui questi attacchi usati in letteratura producono ipotesi di chiave corretti, abbiamo derivato, grazie alla caratterizzazione del processore fatta in precedenza, modelli più precisi che hanno permesso di eseguire attacchi con un minore numero di misure del consumo di potenza. Dopo aver validato questi modelli di consumo (sia su bare metal che usando un sistema operativo), abbiamo mostrato come compiere un attacco in uno scenario reale contro il dispositivo, introducendo tecniche di signal processing per la rimozione del rumore nelle tracce e l'individuazione di pattern ripetuti. Possiamo dire dopo questo lavoro che gli attacchi side channel rappresentano una seria minaccia per tutti i dispositivi embedded che gestiscono informazioni sensibili. In particolare con un tipo di analisi come quella presente in questa tesi è possibile caratterizzare una qualunque CPU dal punto di vista della perdita di informazione via side-channel e ricavarne informazioni precise sulla sua vulnerabilità.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2017_4_Botti.pdf

solo utenti autorizzati dal 07/04/2020

Descrizione: Tesi di Laurea Magistrale in Ingegneria Informatica di Botti Davide
Dimensione 12.7 MB
Formato Adobe PDF
12.7 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/133884