Problemi di sicurezza con l’autenticazione a due fattori (2FA)

L’autenticazione a due fattori (2FA) è un tipo specifico di autenticazione a più fattori (MFA) che rafforza la sicurezza dell’accesso richiedendo due metodi (detti anche fattori di autenticazione) per verificare la tua identità. Questi fattori possono includere qualcosa che conosci – come un nome utente e una password – più qualcosa che hai – come un’app per smartphone – per approvare le richieste di autenticazione.

La 2FA protegge dal phishing, dall’ingegneria sociale e dagli attacchi brute-force alle password e protegge gli accessi dagli aggressori che sfruttano credenziali deboli o rubate.

L’autenticazione a due fattori (2FA) è l’elemento fondamentale di un modello di sicurezza a fiducia zero. Per proteggere i dati sensibili, è necessario verificare che gli utenti che cercano di accedere a quei dati siano chi dicono di essere. 2FA è un modo efficace per proteggersi da molte minacce alla sicurezza che prendono di mira le password e gli account degli utenti, come il phishing, gli attacchi brute-force, lo sfruttamento delle credenziali e altro ancora.

Diciamo che si utilizzano un nome utente e una password per completare l’autenticazione primaria a un’applicazione. Queste informazioni vengono inviate su Internet (la vostra rete primaria). Vorrai usare un canale diverso (fuori banda) per completare il tuo secondo fattore. L’approvazione di una notifica push inviata sulla tua rete mobile è un esempio di autenticazione fuori banda.

Quali sono i tipi di 2FA?

SMS 2FA

howtogeek.com

L’autenticazione a due fattori SMS convalida l’identità di un utente inviando un codice di sicurezza al suo dispositivo mobile. L’utente inserisce poi il codice nel sito web o nell’applicazione a cui si sta autenticando.

TOTP 2FA

blog.meteor.com

Il metodo Time-Based One Time Password (TOTP) 2FA genera una chiave localmente sul dispositivo a cui l’utente sta cercando di accedere. La chiave di sicurezza è generalmente un codice QR che l’utente scansiona con il suo dispositivo mobile per generare una serie di numeri. L’utente poi inserisce quei numeri nel sito web o nell’applicazione per ottenere l’accesso. I codici generati dagli autenticatori scadono dopo un certo periodo di tempo, e un nuovo codice sarà generato la prossima volta che l’utente accede a un account. TOTP fa parte dell’architettura di sicurezza Open Authentication (OAUTH).

Push-Based 2FA

how-to-geek

Push-based 2FA migliora SMS e TOTP 2FA aggiungendo ulteriori livelli di sicurezza, mentre migliora la facilità d’uso per gli utenti finali. Push-based 2FA conferma l’identità di un utente con più fattori di autenticazione che altri metodi non possono. Duo Security è il fornitore leader di push-based 2FA.

Tokens U2F

wellesley.edu

I token U2F garantiscono l’autenticazione a due fattori utilizzando una porta USB fisica per convalidare la posizione e l’identità di un utente che tenta di effettuare il login. Per utilizzare un token U2F, un utente inserisce il token nel suo dispositivo e preme il pulsante situato sulla parte superiore del dispositivo. Una volta che il token è attivato, l’utente inserisce il proprio PIN e ottiene l’accesso ai propri account.

WebAuthn

inovex.de

Creato dalla FIDO (Fast IDentity Online) Alliance e dal W3C, il Web Authentication API è una specifica che permette la registrazione e l’autenticazione forte con crittografia a chiave pubblica. WebAuthn (Web Authentication API) permette a terzi come Duo di attingere agli autenticatori biometrici integrati nei computer portatili e negli smartphone, permettendo agli utenti di autenticarsi rapidamente e con gli strumenti che hanno già a portata di mano.

Quali minacce affronta 2FA?

  • Password rubate
  • Tentativi di phishing
  • Ingegneria sociale
  • Brute-Force Attacks
  • Broken Logic
  • Key Logging

Vulnerabilità nell’autenticazione a due fattori

Bypassing two-factor authentication

A volte, l’implementazione dell’autenticazione a due fattori è difettosa al punto che può essere completamente aggirata.

Se all’utente viene prima richiesto di inserire una password e poi di inserire un codice di verifica in una pagina separata, l’utente è effettivamente in uno stato di “accesso” prima di aver inserito il codice di verifica. In questo caso, vale la pena testare per vedere se si può passare direttamente alle pagine “solo accesso” dopo aver completato il primo passo di autenticazione. Occasionalmente, troverete che un sito web non controlla effettivamente se avete completato o meno il secondo passo prima di caricare la pagina.

Tokens di autenticazione a due fattori

I codici di verifica sono solitamente letti dall’utente da un dispositivo fisico di qualche tipo. Molti siti web ad alta sicurezza ora forniscono agli utenti un dispositivo dedicato a questo scopo, come il token RSA o il dispositivo a tastiera che potreste usare per accedere al vostro online banking o al vostro portatile di lavoro. Oltre ad essere costruiti appositamente per la sicurezza, questi dispositivi dedicati hanno anche il vantaggio di generare direttamente il codice di verifica. È anche comune che i siti web utilizzino un’applicazione mobile dedicata, come Google Authenticator, per lo stesso motivo.

D’altra parte, alcuni siti web inviano i codici di verifica al telefono cellulare dell’utente come messaggio di testo. Mentre questo è tecnicamente ancora la verifica del fattore “qualcosa che hai”, è aperto agli abusi. In primo luogo, il codice viene trasmesso via SMS piuttosto che essere generato dal dispositivo stesso. Questo crea il potenziale per il codice di essere intercettato. C’è anche un rischio di SIM swapping, per cui un aggressore ottiene fraudolentemente una carta SIM con il numero di telefono della vittima. L’aggressore riceverebbe quindi tutti gli SMS inviati alla vittima, compreso quello contenente il codice di verifica.

.