E se l’autenticazione a due fattori non fosse così sicura come abbiamo sempre pensato?
Partiamo dal presupposto che l’autenticazione a doppio fattore (2FA) è uno degli espedienti più efficaci per proteggere il processo di autenticazione a un servizio online. La sicurezza conferita da questa tecnologia è tale che la sua adozione viene ormai data per scontata, se non imposta, sebbene i dati sulla diffusione mostrino ancora una certa riluttanza a scegliere il doppio sistema di autenticazione.
È sempre più evidente, tuttavia, che i cyber criminali sono spesso in grado di bypassarla, trovandosi innanzi a sistemi informatici a quel punto indifesi.
Indice degli argomenti
Se l’autenticazione a due fattori non basta
Chiariamoci: l’autenticazione 2FA, rispetto alla sola, tradizionale, combinazione nome utente e password, è un salto quantico nel campo della sicurezza.
Tuttavia, siccome la cyber security ci insegna che non esiste panacea per tutti i mali, la sola autenticazione a due fattori non può essere considerata la migliore forma di protezione per servizi che richiedono un accesso sicuro.
E questo è ancor più vero col diffondersi dei servizi in cloud, dove l’autenticazione è il nodo cruciale di qualsiasi strategia di difesa. Questo è il motivo per cui si sta spingendo sempre più verso tecnologie di autenticazione più sicure, come quella multi-fattoriale, nella quale da due fattori si passa, come minimo, a tre.
Ma perché è così importante andare oltre il concetto di 2FA?
Cos’è l’autenticazione a due fattori
Il punto di partenza, per rispondere al quesito, è considerare che “doppia autenticazione” significa tutto e niente. Di base, per 2FA si intende un sistema di autenticazione nel quale, una volta inserito nome utente e password, anziché accedere direttamente al servizio si attiva una seconda forma di autenticazione.
Quest’ultima, scelta in un ricco parterre di opzioni, che rientrano in una categoria tra “qualcosa che conosci”, “qualcosa che possiedi”, “qualcosa che sei”. Si va, quindi, da PIN, password aggiuntive e pattern da tracciare col dito, per arrivare a riconoscimenti biometrici, passando per badge, notifiche sullo smartphone e chiavi hardware.
Sicurezza a due strati
Quindi possiamo definire l’accoppiata nome utente e password come un primo layer di sicurezza, e il successivo fattore d’autenticazione come il secondo. La protezione offerta dal primo layer dipende, come noto, dalla bontà della password utilizzata.
Qui interviene, a gamba tesa, il fattore psicologico. Da una parte, per il cyber criminale è semplice recuperare la password con metodi tradizionali, che vanno dal social engineering all’esfiltrazione da database rintracciati o acquistati nel Dark Web.
D’altra parte, l’autenticazione a doppio fattore può offrire una falsa percezione di sicurezza che induce l’utente a essere meno rigoroso proprio con la password. E così, in un modo o nell’altro, il primo layer di sicurezza viene scavalcato.
La tecnica del reset
Il metodo per bypassare il secondo fattore varia in base alla tecnologia di autenticazione prescelta. Una tecnica piuttosto diffusa consiste nell’effettuare il reset della password, sfruttando qualche metodo di recupero o degli exploit, e il fatto che buona parte dei sistemi di reset disattivano il 2FA al primo accesso. Un vero e proprio bypass della doppia autenticazione che consente un’intrusione basata solo sull’utilizzo di nome utente e password.
Altra tecnica molto in voga è quella di sfruttare OAuth, vale a dire il noto standard open source per la delega dell’accesso. Qui le forme di attacco sono diverse e variegate, e cambiano a seconda della versione in uso , sebbene sia la 2.0 e anche la più recente 2.1 si mostrino vulnerabili a quelle più pericolose. Il problema è che passando per OAuth, nella maggior parte dei casi, si salta a piè pari il controllo dell’autenticazione a doppio fattore.
Autenticazione a due fattori e social engineering
Il social engineering rimane uno dei metodi prediletti dai cybercriminali anche quando si tratta di superare un sistema di autenticazione a doppio fattore. E qui, ovviamente, le tecniche sono molteplici.
Stante il fatto che molti sistemi 2FA non sono temporizzati, o generano codici dalla scadenza piuttosto lunga (per esempio codici inviati via SMS che scadono dopo una decina di minuti), il truffatore ha tutto il tempo di indurre la vittima a fornirgli, suo malgrado, il codice di verificare del 2FA.
Non è un caso che questa truffa sia di solito perpetrata tramite smishing o vishing.
Il phishing ora aggira la doppia autenticazione sfruttando le app Microsoft WebView2: l’allarme
Rimane poi sempre valido il brute force. Anche il 2FA ne è vulnerabile, anche se molto dipende dal tipo di autenticazione, dalle tempistiche e dalla tipologia di codice generato. Per esempio, con un codice a 4 cifre, e un totale di 10000 combinazioni, bastano pochi minuti per trovare quella che offre l’accesso al sistema, sfruttando tool che si interfaccino con le chiamate API.
Alcune valutazioni sull’autenticazione a due fattori
Insomma, l’autenticazione a due fattori è forse inutile? Ovviamente no, perché aggiungere un secondo livello di autenticazione aumenta esponenzialmente il livello di protezione. Tuttavia occorre fare alcune valutazioni:
- esistono varie categorie di autenticazione;
- all’interno di una medesima categoria, esistono vari modi di implementare quell’autenticazione (per esempio, esistono PIN a 4 cifre, ma ci sono anche quelli a 8);
- la 2FA è la forma più semplice di autenticazione multifattoriale, motivo per cui c’è da valutare l’introduzione di un terzo fattore;
- implementare la 2FA non significa ignorare un progetto organico di sicurezza: chiediamoci sempre cosa potrebbe comunque succedere nel caso in cui l’autenticazione venisse bypassata;
- nome utente e password, oggi, non bastano davvero più. Ma questo, in fondo, lo sapevamo già.