Accesso conto bancario e autenticazione a mezzo OTP

Considerato che in generale un modello di autenticazione è tanto sicuro quanto lo è l’anello più debole della catena che è necessario percorrere per autenticarsi, se in questa sequenza di flussi compare un SMS, allora ogni “app” in grado di leggere gli SMS avrà la possibilità di spezzare questa catena, rendendo quindi vano il tentativo di autenticarsi in sicurezza

Autenticazione a mezzo OTP

I prestatori di servizi di pagamento sono tenuti ad assicurare una corretta autenticazione bilaterale durante la comunicazione con gli operatori online, al fine di inoltrare i pagamenti via Internet e accedere ai dati sensibili relativi ai pagamenti in maniera sicura.
La banca per rispondere al requisito di “corretta autenticazione”, al fine di evitare intromissioni illecite a danno del correntista, può decidere di appoggiarsi all’invio degli SMS, contenenti i codici OTP, intendendo in questo modo di assolvere al proprio obbligo di diligenza di natura tecnica.
Una one-time password, sigla OTP, è una password monouso utilizzata per un singolo accesso (in inglese, one-time password e in italiano “password valida una sola volta”) e consiste in una sequenza di caratteri numerici o alfanumerici generata automaticamente che permette di autenticare un utente per il singolo login. L’OTP è usata nel processo di autenticazione a fattori (password dell’utente, della carta di credito, pin) per proteggere l’accesso ai dati. Il sistema affronta con successo le problematiche connesse all’uso di una password statica e se il codice fosse sottratto dopo l’utilizzo non vi sarebbe alcuna possibilità di servirsene poiché non più valido.
Tuttavia, una tale metodologia non garantisce minimamente il principio di “corretta autenticazione”, ossia di poter verificare con certezza che l’utente designato sia l’effettivo titolare dei codici OTP. Infatti, da tempo esistono delle pratiche che consentono a delle app di terze parti la lettura degli SMS, come può accadere quando sia stato chiesto e ottenuto di installare una nuova applicazione, creando una porta di accesso agli SMS personali (trojan horse), potendo così inviare SMS con i codici OTP dal cellulare certificato che risponde al numero riferibile al cliente.
Perciò, se è vero che l’autenticazione a due fattori, tramite codice OTP inviato via SMS, può essere una prassi di convenienza, sia per l’utente sia dal punto di vista implementativo della banca, non è altrettanto vero che possa ritenersi un metodo efficace ed adeguato al fine del mantenimento della segretezza del codice OTP.

Criticità del modello

I. – In argomento, si richiama uno studio specifico pubblicato dall’università di Purdue (correntemente tra le prime 10 più innovative negli Stati Uniti, studio di https://www.usnews.com/) che evidenzia le palesi criticità tipiche di una catena di autenticazione che sfrutta un canale non sicuro come quello degli SMS (per approfondimenti, si segnala che uno degli autori dell’articolo è italiano e risponde alla mail: antoniob@purdue.edu).
Si traduce la parte centrale del testo originale in lingua inglese:
Gli SMS contenenti le one-time-password sono uno strumento molto usato per autenticare gli utenti di applicazioni mobili. Infatti, moltissime app usano le One Time Password ricevute via SMS addirittura rimpiazzando la classica password nonostante gli SMS con One Time Password forniscano una gran convenienza agli utenti finali, essi hanno anche profonde implicazioni di sicurezza. In questo articolo vengono studiate queste applicazioni mobili che presentano schemi di autenticazione basati sui sugli SMS con One Time Password e, in particolare, performiamo uno studio sistematico sui modelli di attacco da parte di attaccanti locali, uno scenario in cui un attaccante ha il controllo di un’applicazione senza particolari permessi sul dispositivo della vittima.
Questo studio è stato effettuato usando una combinazione di Reverse Engineering verifiche formali, user studies e analisi automatiche su larga scala. Il nostro lavoro non solo ha rivelato delle vulnerabilità in applicazioni di terze parti ma anche scoperto nuovi design nonché errori implementativi nelle core API offerte dai sistemi operativi stessi.
Per esempio, abbiamo trovato due API ufficiali Android che sono vulnerabili per design cioè che inevitabilmente contribuiscono ad implementare sistemi di autenticazione non sicuri anche se usati seguendo pedissequamente la loro documentazione. Inoltre, abbiamo trovato che altre API sono prone ad essere utilizzate in modo insicuro da parte degli sviluppatori.
Il nostro studio su larga scala ha trovato 36 applicazioni, che condividono centinaia di milioni di installazioni, che fanno un uso errato di queste API, consentendo quindi ad un attaccante locale di far proprio un account utente. Alcune di queste app vulnerabili studiate sono Telegram e KakaoTalk, alcune tra le app di messaggistica più diffuse al mondo. Infine, proponiamo un metodo nuovo e più sicuro per implementare l’autenticazione basata su sms e svolgiamo una verifica formale di questo nuovo approccio.

II. – L’intercettazione dei codici inviati tramite messaggi è un fenomeno noto da molto tempo, al pari della debolezza del metodo di autenticazione così impostato. Si richiama un’ulteriore pubblicazione specifica in materia, ove viene puntualizzato che troppi servizi “incanalano gli utenti verso metodi di autenticazione a più fattori che possono essere intercettati, falsificati o indirizzati erroneamente, come codici monouso basati su SMS o persino token OTP generati da app.”
Viene dato un chiaro allarme sul fatto che coloro che hanno maggiori probabilità di essere vittime di queste truffe “sono persone che hanno meno esperienza con la tecnologia”.
E’ evidente che la Banca deve mettere in pratica adeguati servizi di sicurezza, che non possono essere sostituiti in modo adeguato da comunicazioni di questo genere.

Altri sistemi di autenticazione

Esistono differenti modelli di autenticazione oltre a username e password, che magari adoperano un secondo “segreto” oltre alla password per autorizzare le operazioni, oggettivamente più sicuri rispetto alla procedura dii lasciar generare il token OTP nei server della Banca e inviare poi questo token in un canale troppo vulnerabile come quello degli SMS. Si tratta di modalità operative ampiamente diffuse che possono ostacolare maggiormente la possibilità di frode.
Ad esempio, alcune banche non utilizzano un generatore di OTP remoti ma vidimano le operazioni bancarie tramite “fingerprint” fisica dell’utente fornita mediante app ufficiale sul proprio dispositivo.
La Banca di certo tenuta ad adottare un sistema di pari livello di sicurezza, in sostituzione dell’invio di Sms, se intende assolvere all’obbligo cui è tenuto “l’accorto banchiere” ed impedire gli eventi che possono “essere fronteggiati in anticipo” (Cass. n. 2950 del 2017).
E ancora, altre banche consentono una vera e propria generazione dei codici OTP all’interno dell’applicazione locale installata sul dispositivo dell’utente, garantendo quindi di “sfuggire” all’insicuro canale degli SMS per la comunicazione di un segreto usato per l’autenticazione.
Oltre a questi due esempi, molte Banche impiegano sistemi di sicurezza più evoluti e innovativi rispetto a quello in esame
Infatti, considerato che in generale un modello di autenticazione è tanto sicuro quanto lo è l’anello più debole della catena che è necessario percorrere per autenticarsi, se in questa sequenza di flussi compare un SMS, allora ogni “app” in grado di leggere gli SMS avrà la possibilità di spezzare questa catena, rendendo quindi vano il tentativo di autenticarsi in sicurezza.
La Banca è di certo tenuta ad adoperare un canale più sicuro e che limiti, per quanto possibile, il fenomeno dell’eavesdropping o del taping, ossia l’ascolto e la reazione attiva al contenuto dei messaggi in un generico canale in cui transita un’informazione. Pertanto, deve intendersi che la S.C. si rivolga anche a questi profili di prevenzione e sicurezza quando pone in evidenza che è necessario verificare se “quanto accaduto” poteva essere prevedibile ed evitabile con appropriate misure destinate a verificare la riconducibilità delle operazioni alla volontà del Cliente e se i comportamenti incauti sono tali “da poter essere fronteggiati in anticipo”.

Dr. Cristiano G.