Un side channel è una fonte di informazioni che può essere utilizzata per acquisire dettagli sul comportamento o sulle caratteristiche di un sistema, anche quando questi dati non sono esplicitamente divulgati. Abbiamo visto cosa sono gli attacchi side channel nel caso dei processori e quando essi possono rivelarsi pericolosi. Una nuova frontiera è rappresentata dalla possibilità di sottrarre la chiave crittografica durante il funzionamento dei principali lettori di smart card e di altri dispositivi simili usando un sistema basato sulla crittoanalisi video. Senza ricorrere ad apparecchiature costose o sferrare attacchi invasivi.
Cosa sono gli attacchi Key-leaking side channel
Gli attacchi Key-leaking side channel sfruttano le informazioni di “side channel” per ottenere informazioni sensibili, come chiavi di crittografia e altri dati riservati. Gli aggressori analizzano dati associati al funzionamento del sistema, come il consumo di potenza, il tempo di esecuzione o le radiazioni elettromagnetiche. Dettagli sottili sul comportamento del sistema possono rivelare informazioni sulle chiavi crittografiche in uso.
In una telescrivente crittografata che l’esercito e la marina degli Stati Uniti usavano durante la seconda guerra mondiale per trasmettere comunicazioni che non dovevano essere lette dalle spie tedesche e giapponesi, fu rilevato uno dei side channel più antichi sino ad oggi conosciuti. Inserendo una specifica lettera, poi automaticamente crittografata, l’operazione evidenziava un comportamento univoco su un oscilloscopio posto nelle vicinanze. E ciò con grande meraviglia degli ingegneri dei Bell Labs che hanno progettato il terminale.
Sebbene l’algoritmo crittografico utilizzato nel dispositivo fosse di per sé valido, le emissioni elettromagnetiche emanate erano sufficienti per fornire a un aggressore uno strumento utile per desumere la chiave segreta.
Rubare una chiave crittografica esaminando il comportamento di un LED di alimentazione
Un noto ricercatore, Ben Nassi, ha dimostrato com’è possibile derivare una chiave crittografica usando una tecnica avanzata di analisi video. Utilizzando una telecamera puntata verso il lettore di smart card dotato di LED di funzionamento, è possibile estrarre con successo una chiave ECDSA a 256 bit.
I LED di alimentazione sono progettati per indicare quando un dispositivo è acceso. In genere emettono una luce che varia in luminosità e colore a seconda del consumo energetico del dispositivo collegato. Ciò è dovuto al fatto che in molti dispositivi il LED è collegato direttamente alla linea di alimentazione del circuito elettrico, senza usare filtri e stabilizzatori di tensione.
Uno degli aspetti più significativi del lavoro condotto da Nassi sta nel fatto che l’aggressore non deve collegare sonde, munirsi di un oscilloscopio o lavorare su frequenze radio. Basta aver cura di regolare opportunamente la frequenza di campionamento dell’intensità/luminosità del LED di alimentazione (metodo rolling shutter).
Pubblicati su YouTube le prove della crittoanalisi video usata per risalire alla chiave crittografica
La demo pubblicata su YouTube mostra il processo di acquisizione video che ritrae il comportamento del LED di un lettore di smart card mentre esegue operazioni crittografiche. La stessa cosa è stata fatta al fine di estrarre la chiave SIKE di uno smartphone Samsung Galaxy S8. La chiave SIKE (Supersingular Isogeny Key Encapsulation) poggia il suo funzionamento su un algoritmo crittografico a chiave pubblica sviluppato per essere resistente agli attacchi post-quantistici. Descritto come resistente agli attacchi effettuati mediante l’uso di computer quantistici, SIKE è stato peraltro recentemente sconfitto con un sistema basato su vecchio Xeon.
Ad occhio nudo, il video catturato da Nassi sembra insignificante. Analizzando i fotogrammi video per diversi valori RGB nel canale verde, un utente malintenzionato può identificare l’inizio e la fine di un’operazione crittografica. L’origine delle vulnerabilità è nelle librerie crittografiche; tuttavia, i LED di alimentazione forniscono l’infrastruttura necessaria per sfruttare visivamente il problema di sicurezza.
“Almeno sei lettori di smartcard prodotti da cinque produttori venduti su Amazon sono vulnerabili a un attacco diretto. Samsung Galaxy S8 è vulnerabile a un attacco indiretto“, spiega Nassi. “E molto probabilmente ci sono in circolazione altri dispositivi vulnerabili alla crittoanalisi basata su video“.
I ricercatori raccomandano diverse contromisure che i produttori possono adottare per rafforzare i dispositivi contro la crittoanalisi video. Il principale tra questi è evitare l’uso di LED di potenza integrando ad esempio un condensatore che funziona come un “filtro passa-basso”. Un’altra opzione è quella di usare un amplificatore operazionale tra la linea di alimentazione e il LED di alimentazione.