Le YubiKey sono dispositivi hardware progettati per migliorare la sicurezza digitale. Molto apprezzati ed estremamente popolari, sono utilizzati per l’autenticazione a due fattori (2FA), l’autenticazione a più fattori (MFA) e l’autenticazione passwordless, ovvero senza l’utilizzo di password. Simili a una chiavetta USB, possono anche supportare tecnologie come NFC (Near Field Communication) per facilitare lo scambio dei dati in modalità wireless. Alla base del funzionamento delle YubiKey c’è lo standard FIDO2.
FIDO2 fornisce un metodo di autenticazione sicuro, scalabile e privo di password, che è essenziale per migliorare la sicurezza online. Combina due componenti principali: il client-to-authenticator protocol (CTAP) e WebAuthn, che insieme permettono l’autenticazione forte basata su chiavi crittografiche.
Per l’utente finale, l’autenticazione con una YubiKey è semplice e veloce. Basta inserire la chiave (o avvicinarla al dispositivo per NFC), e l’autenticazione è completata senza dover inserire ulteriori informazioni.
Quando e perché le chiavette YubiKey 5 sono vulnerabili
Un gruppo di ricercatori di NinjaLab ha presentato l’attacco EUCLEAK, dimostrando che le chiavette YubiKey 5 soffrono di una grave vulnerabilità.
Il problema di sicurezza venuto a galla interessa i meccanismi crittografici alla base del funzionamento di YubiKey 5: un aggressore in possesso di una chiavetta altrui può effettuarne la clonazione impossessandosi così di uno strumento di autenticazione che non gli è proprio.
La falla in questione risiede in un microcontroller utilizzato in un ampio ventaglio di dispositivi per l’autenticazione. Protagoniste della scoperta, quindi, non sono soltanto le chiavette YubiKey 5 ma anche i dispositivi di molti altri produttori. Sebbene, al momento, i test si siano concentrati su YubiKey, i ricercatori ritengono che qualsiasi prodotto facente uso dei microcontrollori Infineon SLE78 e successivi, Infineon Optiga Trust M e Infineon Optiga TPM, possa risultare altrettanto vulnerabile.
Il produttore Yubico ha nel frattempo pubblicato un bollettino ufficiale in cui conferma la problematica e riassume i passaggi da seguire per verificare se si fosse interessati dalla vulnerabilità. Tutte le chiavette YubiKey basate su un firmware antecedente alla versione 5.7, rilasciata a maggio 2024 per sostituire la libreria crittografica Infineon con una sviluppata in proprio, sono vulnerabili.
Ad ogni modo, l’aggiornamento del firmware delle YubiKey non è possibile: tutti i dispositivi esposti alla falla di sicurezza, quindi, rimarranno tali. Senza alcuna possibilità di poter applicare patch risolutive.
Dove si trova la vulnerabilità
Come spiegato dagli esperti di NinjaLab, il problema risiede nella libreria crittografica di Infineon, utilizzata in numerosi dispositivi di sicurezza, inclusi i token YubiKey 5. Tale libreria, che implementa l’algoritmo di firma digitale a curva ellittica (ECDSA), è risultata vulnerabile ad attacchi di tipo side channel ovvero ad aggressioni che fanno leva su apposite tecniche per estrarre informazioni critiche tramite l’osservazione delle manifestazioni fisiche delle operazioni crittografiche, come il comportamento elettromagnetico o i tempi di esecuzione delle operazioni.
In questo caso, l’attacco sfrutta una debolezza insita di una specifica fase dell’algoritmo ECDSA, in cui viene eseguita un’operazione matematica nota come inversione modulare.
Durante il processo di firma, si ha la generazione di una chiave effimera o “nonce“, un valore temporaneo usato una sola volta per garantire che ogni firma digitale sia unica, anche se il messaggio firmato è lo stesso. L’inversione modulare è un’operazione matematica in cui, dato un numero e un modulo (una sorta di “base” in un sistema di numerazione), si calcola un altro numero che, moltiplicato per il primo, dà come risultato 1 nel contesto del modulo considerato. Nell’ECDSA, l’operazione è usata per elaborare la chiave effimera durante la generazione della firma.
L’implementazione dell’algoritmo euclideo esteso (EEA) di Infineon non opera in “tempo costante”: ciò significa che il tempo necessario per completare l’operazione varia a seconda della chiave utilizzata. Queste variazioni, se misurate con attrezzature sofisticate come un oscilloscopio, possono rivelare informazioni sul “nonce” ECDSA, utilissimo per risalire alla chiave privata segreta.
Da dove deriva il nome EUCLEAK?
L’attacco EUCLEAK sfrutta una vulnerabilità nell’implementazione dell’algoritmo ECDSA, che coinvolge operazioni matematiche complesse come l’inversione modulare. Le curve ellittiche sono strettamente legate alla teoria dei numeri, un campo in cui Euclide – matematico e filosofo greco antico – ha dato contributi fondamentali, in particolare attraverso il suo algoritmo per il calcolo del massimo comune divisore (algoritmo di Euclide), che è alla base di molti algoritmi crittografici moderni.
Il nome EUCLEAK richiama Euclide per sottolineare la natura matematica dell’attacco e il fatto che sfrutta debolezze in operazioni matematiche fondamentali, legate alla crittografia delle curve ellittiche. LEAK fa invece riferimento alla fuga di informazioni o segreti a causa di questa vulnerabilità.
L’attacco a YubiKey 5 è difficile da portare a termine
Per sfruttare la vulnerabilità brevemente descritta al paragrafo precedente, l’attaccante deve avere accesso fisico al dispositivo. È sufficiente la disponibilità della chiavetta YubiKey anche per un breve periodo.
Tuttavia, affinché l’aggressione vada effettivamente in porto, sono necessari strumenti avanzati, dal costo stimato di circa 10.000 euro. Attrezzandosi con il necessario, è possibile effettuare misurazioni delle radiazioni elettromagnetiche emesse durante l’autenticazione del dispositivo. La raccolta di questi dati permette di identificare differenze minime nei tempi di esecuzione dell’algoritmo. Questi comportamenti permettono di arrivare all’estrazione della chiave segreta.
I passaggi da seguire
- Disponibilità delle credenziali della vittima. L’attaccante deve prima ottenere le credenziali di accesso (nome utente e password) della vittima, solitamente attraverso tecniche di phishing.
- Accesso fisico al dispositivo. L’aggressore deve successivamente entrare in possesso del dispositivo (come una YubiKey) per pochi minuti, senza che la vittima se ne accorga.
- Rilevazione delle misurazioni. Utilizzando le credenziali ottenute, l’attaccante invia richieste di autenticazione al dispositivo, eseguendo simultaneamente misurazioni nell’ambito dell’attacco side channel.
- Restituzione del dispositivo. Una volta ottenute le misurazioni necessarie, l’attaccante restituisce il dispositivo alla vittima, rendendo l’attacco pressoché invisibile.
- Analisi delle misurazioni. Si procede con un’attività di analisi dei dati raccolti, per estrarre la chiave privata ECDSA associata all’account della vittima.
- Creazione di una chiavetta clonata. A questo punto diventa fattibile la produzione di un clone del dispositivo FIDO. È possibile l’accesso all’account della vittima senza che questa se ne accorga.
Un passo cruciale consiste nel disassemblare fisicamente il dispositivo per accedere al circuito interno e collegare l’hardware necessario per eseguire le misurazioni. Questo passaggio richiede competenze avanzate e attrezzature specializzate, rendendo l’attacco accessibile solo a entità con risorse considerevoli, come stati nazionali o organizzazioni criminali sofisticate.
Implicazioni e considerazioni
La vulnerabilità scoperta mina alla base una delle garanzie fondamentali dei dispositivi conformi agli standard FIDO: l’impossibilità di leggere o copiare il materiale crittografico segreto che essi custodiscono. Questa caratteristica è essenziale, in quanto tali dispositivi sono utilizzati in contesti ad alta sicurezza.
Nonostante la gravità della scoperta, è importante sottolineare che gli attacchi side channel come quello descritto, sono estremamente complessi e costosi. La probabilità che tali attacchi siano utilizzati su larga scala è molto bassa, poiché richiedono un accesso fisico al dispositivo e una conoscenza approfondita in materia di ingegneria e crittografia.
Tuttavia, la vulnerabilità non deve essere presa sotto gamba: mette in luce la necessità di un’attenzione continua alla sicurezza, anche per tecnologie considerate top in fatto di sicurezza.
Credit immagine in apertura: Romain Flamand – Flamingo Studio (tratta da NinjaLab)