However secure a cryptographic algorithm may be, when it is meant to be run on an embedded system it becomes vulnerable to a kind of attack that does not exploit its design, but its implementation, by measuring physical properties such as electromagnetic emissions, power consumption and timing of the execution. Several types of countermeasures against these side-channel attacks have been devised in the literature, which need to constantly evolve as new attack methodologies are found. One such countermeasure is the MEET approach, a morphing compiler level mitigation implemented as an LLVM pass against which a successful attack was carried out by an earlier work. This thesis realizes a new implementation of MEET that leverages recursion to exponentially increase the number of possible execution traces, offering greater protection while thwarting the discovered attack methodology. The custom LLVM morphing pass is re-designed to implement recursion without saddling the target embedded systems with the heavy overhead of function calls and the resulting protected programs are evaluated through performance, variance and code-size metrics to evaluate the effectiveness of the new recursive MEET. The analyses confirm the viability of the developed implementation which will be employed to further evolve morphing countermeasures, as well as bring to light several new possible avenues to explore for future research and developments based on the recursive MEET approach.
Per quanto sicuro possa essere un algoritmo crittografico, quando si intende farlo operare in un sistema embedded lo si rende vulnerabile a un tipo di attacco che non sfrutta falle nella sua progettazione, ma piuttosto si avvale del fatto che la sua implementazione permetta di misurarne alcune proprietà fisiche, quali emissioni elettromagnetiche, consumo di potenza e tempi di esecuzione. La letteratura ha visto svilupparsi molti tipi di contromisure a questi attacchi side-channel, le quali devono tenersi costantemente aggiornate per rispondere a nuove tipologie di attacco mano a mano che vengono scoperte. Una di queste contromisure è l’approccio MEET (Multiple Equivalent Execution Traces), una protezione di tipo morphing implementata a livello di compilatore tramite un passaggio di ottimizzazione all’interno del framework LLVM: una precedente ricerca ha verificato l’esistenza ed eseguito un attacco di successo contro le sue difese. Questa tesi realizza una nuova implementazione di MEET che sfrutta la ricorsione per aumentare in maniera esponenziale il numero di possibili tracce di esecuzione, offrendo una protezione maggiore e impedendo di sfruttare la metodologia d’attacco che era stata scoperta in precedenza. L’apposito passaggio LLVM di morphing viene riprogettato per implementare la ricorsione senza appesantire il sistema embedded da proteggere con l’ingente costo computazionale che le chiamate ricorsive a funzione di solito portano con sé. Dei cifrari di test protetti dalla nuova implementazione vengono poi valutati tramite metriche di tempo di esecuzione, varianza e dimensione del codice per trarre conclusioni sull’efficacia della versione ricorsiva di MEET. Le analisi confermano che l’implementazione sviluppata funziona secondo le aspettative e che potrà essere sfruttata per permettere allo stato dell’arte delle contromisure di morphing di svilupparsi ulteriormente; i risultati mettono inoltre in luce svariate nuove possibili linee di ricerca da percorrere per aumentare l’efficacia e far progredire le ricerche sull’approccio MEET ricorsivo.
MEETing again: a recursive static morphing countermeasure to side-channel attacks
SONA, VALENTINA
2023/2024
Abstract
However secure a cryptographic algorithm may be, when it is meant to be run on an embedded system it becomes vulnerable to a kind of attack that does not exploit its design, but its implementation, by measuring physical properties such as electromagnetic emissions, power consumption and timing of the execution. Several types of countermeasures against these side-channel attacks have been devised in the literature, which need to constantly evolve as new attack methodologies are found. One such countermeasure is the MEET approach, a morphing compiler level mitigation implemented as an LLVM pass against which a successful attack was carried out by an earlier work. This thesis realizes a new implementation of MEET that leverages recursion to exponentially increase the number of possible execution traces, offering greater protection while thwarting the discovered attack methodology. The custom LLVM morphing pass is re-designed to implement recursion without saddling the target embedded systems with the heavy overhead of function calls and the resulting protected programs are evaluated through performance, variance and code-size metrics to evaluate the effectiveness of the new recursive MEET. The analyses confirm the viability of the developed implementation which will be employed to further evolve morphing countermeasures, as well as bring to light several new possible avenues to explore for future research and developments based on the recursive MEET approach.File | Dimensione | Formato | |
---|---|---|---|
2024_07_Sona_Executive_Summary.pdf
accessibile in internet per tutti a partire dal 01/07/2025
Descrizione: Executive Summary
Dimensione
422.11 kB
Formato
Adobe PDF
|
422.11 kB | Adobe PDF | Visualizza/Apri |
2024_07_Sona_Thesis.pdf
accessibile in internet per tutti a partire dal 01/07/2027
Descrizione: Thesis main file
Dimensione
673.95 kB
Formato
Adobe PDF
|
673.95 kB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/223288