Perché l’autenticazione a due fattori non basta

19 Mag 2017

La solita discussione sulla necessità di avere o meno un antivirus va molto spesso così:

— Non ho bisogno di un antivirus! Non ho niente che mi possano rubare! Virus? Ransomware? Avanti, infettatemi! Installerò di nuovo il sistema operativo, non ho niente da perdere (non c’è nulla di prezioso sul mio computer).

— Ma hai un conto in banca, giusto? Fai acquisti online, no?

— Bah, la banca utilizza l’autenticazione a due fattori che mi proteggerà. Anche se gli hacker dovessero rubare il numero della mia carta di credito, non potrebbero prelevare i miei soldi.

Beh, sembra invece che tutto questo sia possibile. Innanzitutto, non tutti i negozi online utilizzano la protezione 3D Secure; questo vuol dire che non tutte le transazioni richiedono un codice di conferma inviato tramite SMS. Anche il codice CVC (le tre cifre sul retro della carta) non rappresenta una garanzia contro gli usi illeciti (non tutte le transazioni richiedono il suo utilizzo).

Inoltre, gli hacker possono intercettare gli SMS inviati dalla banca e utilizzare i codici di verifica per ottenere l’accesso completo al conto. Recentemente, è stata rubata proprio in questo modo una notevole somma di denaro a degli sfortunati clienti in Germania. Diamo un’occhiata più da vicino a come è successo.

Why two-factor authentication via SMS is not enough

SS7: una vulnerabilità nel telefono

È possibile intercettare gli SMS grazie alle vulnerabilità in una serie di protocolli di segnalazione telefonica denominati SS7 (anche noti come Signaling System 7 o Common Channel Signalling System 7).

Questi protocolli di segnalazione sono la base del sistema di comunicazione telefonica moderna; il loro scopo è quello di trasmettere tutte le informazioni di servizio di una rete telefonica. Sono stati sviluppati già negli anni ’70 e sono stati applicati per la prima volta negli anni ’80; da allora sono diventati norme a livello mondiale.

Inizialmente, i protocolli SS7 erano stati pensati per i telefoni fissi. L’idea era quella di separare fisicamente la voce e i segnali di servizio inserendoli in canali diversi; tutto questo veniva fatto per essere ancora più protetti dagli intrusi delle linee telefoniche utilizzando scatole particolari che imitassero il tono utilizzato al momento di inviare le informazioni di servizio delle reti telefoniche. (Sì, le stesse scatole che stavano creando Steve Jobs e Steve Wozniak all’epoca. Questa però è un’altra storia).

La stessa serie di protocolli è stata applicata successivamente alle reti mobili. Nel frattempo, gli sviluppatori hanno aggiunto una serie di caratteristiche. Tra queste, il protocollo SS7 è utilizzato per inviare messaggi SMS.

Cinquant’anni fa, però, la sicurezza delle informazioni non era motivo di preoccupazione (almeno non per le tecnologie civili). Importava l’efficienza e questo ci ha portato quindi all’efficiente ma non sicuro Signaling System 7.

Il principale punto debole del sistema (insieme a molti altri sistemi progettati a quei tempi) è il fatto che questo si basi sulla fiducia. Si presumeva che solo gli operatori di rete avrebbero potuto accedervi e, in linea di massima, si pensava di avere a che fare con brave persone.

Alla fine il livello di sicurezza del sistema viene definito dalla componente meno protetta. Se uno dei suoi operatori viene hackerato, allora viene danneggiato l’intero sistema. Stessa cosa vale se un amministratore di rete che lavora per uno di questi operatori decide di superare il limite della propria autorità e di utilizzare il protocollo SS7 per altri scopi.

L’accesso al protocollo SS7 può permettere a qualcuno di intercettare le conversazione, stabilire la posizione dell’utente e intercettare i messaggi SMS, quindi non c’è da sorprendersi se sia i servizi segreti di diversi paesi che i criminali siano utenti attivi dell’accesso non autorizzato al protocollo SS7.

Come è avvenuto in realtà l’attacco

Nel caso dei recenti attacchi in Germania, è andata così:

1. I computer degli utenti sono stati infettati da un Trojan bancario. È molto facile essere infettati da un Trojan se non utilizzate una soluzione di sicurezza; questi possono funzionare senza lasciare alcuna traccia, quindi gli utenti potrebbero non accorgersene.

Utilizzando il Trojan, gli hacker rubano le credenziali d’accesso e le password della banca. (Ovviamente, rubare queste credenziali in molti casi non basta; serve anche il codice di conferma della banca inviato tramite SMS).

2. Apparentemente, lo stesso Trojan è stato usato per rubare i numeri di telefono degli utenti. Questi dati vengono richiesti generalmente quando le persone effettuano acquisti online e non sono difficili da rubare. Quindi i criminali erano in possesso sia delle credenziali d’accesso ai conti bancari degli utenti sia dei loro numeri di telefono.

3. I criminali erano soliti rubare le credenziali bancarie per iniziare i trasferimenti di somme di denaro al loro account bancario. Dopodiché, avendo accesso al protocollo SS7 per conto di qualche vettore straniero, inoltravano l’SMS inviato a quei numeri sul proprio telefono e ricevevano i codici di conferma di cui avevano bisogno per completare l’accesso e trasferire il denaro. La banca non aveva nemmeno alcun motivo per sospettare di una possibile violazione.

Il vettore tedesco, i cui utenti hanno subito danni da questo caso, ha confermato l’attacco. Il vettore straniero, il cui accesso alla rete del protocollo SS7 era stato utilizzato per l’attacco, è stato bloccato e le persone colpite sono state avvisate. Non sappiamo se siano riusciti a riavere indietro il proprio denaro.

Dite ancora di non aver bisogno di un antivirus?

L’autenticazione a due fattori viene spesso ritenuta una buona protezione (se nessuno tranne voi ha accesso al vostro telefono, allora chi altri potrebbe leggere i messaggi?). Beh, chiunque abbia accesso al sistema SS7 e sia interessato ad utilizzare i vostri messaggi SMS per avere i vostri soldi.

Cosa potete fare per avere una buona autenticazione a due fattori e per proteggervi da attacchi simili a quello descritto in questo articolo? Ecco due consigli:

  • Gli SMS non sono l’unica soluzione per l’autenticazione a due fattori. Controllate se la vostra banca promuove altre varianti più sicure come il servizio Google Authenticator e le chiavette USB crittografate.
  • Utilizzate una buona soluzione di sicurezza su ogni dispositivo. Sfortunatamente, le banche potrebbero non utilizzare alternative all’autenticazione a due fattori; alcune inviano conferma solo tramite SMS, quindi la vostra unica speranza è avere una buona soluzione di sicurezza. Nel caso dell’attacco descritto in questo post, un buon antivirus non avrebbe permesso al Trojan bancario di infettare il computer, quindi le credenziali della banca non sarebbero state rubate. A quel punto, il fatto che i criminali avessero accesso ai vostri SMS sarebbe stato il minore dei problemi.