La vulnerabilità EUCLEAK, scoperta da Thomas Roche di NinjaLab, rappresenta una significativa minaccia per i microcontrollori di sicurezza Infineon, inclusi quelli utilizzati nei dispositivi YubiKey 5 Series che, a causa di questa falla di sicurezza, possono essere clonati.
Gli YubiKey, lo ricordiamo, sono dei dispositivi hardware basati sullo standard FIDO. Simili a una chiavetta USB, vengono utilizzati per l’autenticazione multi-fattore, passwordless e NFC (Near Field Communication). Pertanto, per completare l’autenticazione all’utilizzatore è sufficiente inserire la chiavetta o avvicinarla al dispositivo NFC.
La vulnerabilità EUCLEAK, se sfruttata in un attacco side channel per estrarre chiavi segrete a curva ellittica ECDSA (Elliptic Curve Digital Signature Algorithm), mette a rischio la sicurezza di numerosi dispositivi crittografici.
Fonte: NinjaLab.
Il ricercatore, infatti, ha dimostrato che qualsiasi prodotto dotato di microcontrollori Infineon SLE78 e successivi, Infineon Optiga Trust M e Infineon Optiga TPM, può risultare altrettanto vulnerabile: “trovando una piattaforma aperta JavaCard (la Feitian A22) basata su una simile Infineon SLE78, abbiamo compreso l’implementazione Infineon ECDSA, trovato una vulnerabilità side-channel e progettato un attacco pratico side-channel. L’attacco viene poi dimostrato su una YubiKey 5Ci. Infine, mostriamo che la vulnerabilità si estende ai più recenti microcontrollori di sicurezza Infineon Optiga Trust M e Infineon Optiga TPM”.
Indice degli argomenti
EUCLEAK: la procedura d’attacco
EUCLEAK si basa su un’analisi di tipo side channel, in cui sono state osservate le variazioni fisiche (come il consumo di energia o le emissioni elettromagnetiche) durante l’esecuzione di operazioni crittografiche per l’autenticazione del dispositivo.
La raccolta di questi dati permetterebbe di identificare differenze minime nei tempi di esecuzione dell’algoritmo, permettendo in tal modo di risalire alla chiave segreta.
Fonte: NinjaLab.
In pratica, l’attacco prende di mira la libreria crittografica utilizzata dai microcontrollori Infineon sfruttando una difetto nell’implementazione dell’algoritmo EEA (Extended Euclidean Algorithm) in cui viene elaborata (tramite operazione matematica nota come inversione modulare) una chiave effimera (temporanea) durante la generazione della firma per garantirne l’unicità.
Da qui il nome EUCLEAK che richiama Euclide per sottolineare lo sfruttamento di difetti nelle operazioni matematiche relative alla crittografia delle curve ellittiche e “leak” per la fuga di informazioni causata da questa vulnerabilità.
Implicazioni di sicurezza
Riassumendo, per identificare le variazioni che corrispondono alle operazioni crittografiche, raccogliere e analizzare i dati permettendo di ricostruire le chiavi segrete ECDSA risulta necessario che l’attaccante abbia accesso fisico al dispositivo target, acceda al circuito interno e lo colleghi all’hardware necessario per eseguire le misurazioni.
Questi passaggi richiedono competenze e attrezzature specializzate, rendendo l’attacco accessibile solo a entità con risorse considerevoli.
Fonte: NinjaLab.
Mitigazioni e raccomandazioni della vulnerabilità EUCLEAK
Sebbene l’attacco richieda competenze e attrezzature avanzate, le sue implicazioni per la sicurezza non devono comunque essere sottovalutate.
Per proteggere i dispositivi crittografici da tali minacce è essenziale implementare misure di sicurezza più robuste nelle fasi di progettazione tenendo bene in mente che una violazione delle chiavi ECDSA potrebbe compromettere la sicurezza delle comunicazioni e dei dati protetti dai dispositivi vulnerabili.
Il produttore Yubico, nel frattempo, ha pubblicato un avviso di sicurezza che conferma la problematica e fornisce indicazioni su come verificare la presenza della vulnerabilità nel proprio dispositivo crittografico.
Purtroppo, tutte le chiavette YubiKey basate su un firmware antecedente alla versione 5.7 risultano vulnerabili e l’aggiornamento del firmware non è possibile.
Al riguardo Thomas Roche conclude “Incoraggiamo fortemente a continuare a utilizzare un prodotto EUCLEAK vulnerabile piuttosto che passare a una soluzione che non prevede un elemento sicuro.
Quindi, nei casi nei casi in cui sia necessario utilizzare un prodotto vulnerabile (ad esempio, non è possibile applicare una patch e il roll-out non è abbastanza veloce), è necessario adottare alcune mitigazioni temporanee”.
In questo caso, il rapporto suggerisce agli utilizzatori quando possibile di scegliere una primitiva crittografica diversa da quella prevista da ECDSA e di imporre l’uso di un PIN per l’accesso al dispositivo.