Il continuo progresso tecnologico ha cambiato profondamente il rapporto cliente-banca. L’utilizzo di servizi digitali, ha portato all’introduzione di nuovi canali di comunicazione con i quali il cliente può rivolgersi alla propria banca in maniera molto più immediata e fruibile. A partire dagli anni ’90 lo sviluppo dell’home-banking ha portato alla nascita di banche e servizi esclusivamente virtuali che consentono all’utente di operare direttamente sul proprio conto corrente 24 ore su 24 comodamente da casa o da qualunque altro posto utilizzando una connessione internet ed è dunque evidente il risparmio di tempo per l’utente. Inoltre ciò comporta un minore flusso di persone agli sportelli delle filiali delle banche, quindi meno file e una grande convenienza economica per le banche stesse: nel mondo digitale non esiste il costo del mantenere i soldi all’interno della banca, del personale agli sportelli, delle guardie giurate o anche del trasporto del denaro e quindi, ad esempio, del camioncino porta valori. Vantaggio comune per le due parti è l’eliminazione delle truffe legate al contante, in particolare, alla contraffazione delle banconote. Facciamo notare che l’inizio della fine del contante è stata la nascita in USA delle carte di credito che, per prime, hanno avuto il grande merito di indebolire le truffe legate al contante.
L’altra faccia della medaglia dell’online-banking è, sia da parte delle banche che da parte del cliente, la fondata paura delle frodi telematiche; questo risulta essere il motivo principale per cui c’è ancora diffidenza – sebbene non profonda come una volta – nei confronti dei servizi bancari via internet. A dato puramente esemplificativo, ricordiamo una ricerca condotta dall’ABI Lab che ha fatto emergere che nel 2007 l’89% degli Istituti di Credito italiani ha subito attacchi informatici fraudolenti volti a sottrarre le credenziali dei propri clienti. Da qui emerge il ruolo della sicurezza informatica in ambito bancario sui canali innovativi, che sono esposti ad un numero di minacce di natura radicalmente diversa e molto più sofisticate, rispetto a quelle tradizionali; tanto è vero che la percezione della sicurezza fornita da una banca è diventata un vantaggio competitivo.
Vediamo più in dettaglio l’evoluzione storica della sicurezza dell’online banking. Il primo metodo per far comunicare browser del cliente e server della banca, in altre parole, per accedere al proprio conto online e fare operazioni bancarie, è stato l’inserimento di credenziali statiche come login e password. L’elemento cardine che garantisce la confidenzialità, l’integrità e l’autenticità dei dati trasmessi durante una comunicazione tra il browser del cliente e il server della banca è costituito dal protocollo SSL/TLS. Prima che si instauri una comunicazione sicura, il protocollo prevede che le due entità si autentichino, si accordino sulla politica di sicurezza da applicare e giungano ad un segreto condiviso. Il livello di sicurezza della trasmissione dipende esclusivamente dalle scelte effettuate, per cui è necessario prestare attenzione alla scelta delle cifrature, alla randomicità nella generazione delle chiavi e dei segreti privati, nonché alle eventuali debolezze delle chiavi. L’attacco più comune ad un sistema che si basa solamente sull’inserimento di credenziali statiche è il phishing, truffa via internet attraverso la quale un aggressore cerca di convincere la vittima a fornire informazioni personali sensibili. Il phishing è pericolosissimo in sistemi basati unicamente su credenziali statiche. Comunque lo stesso SSL/TLS non è immune da problemi, nemmeno sulla parta crittografica: l’attacco BEAST (2011), Browser Exploit Against SSL/TLS, permette di ricavare il testo in chiaro di alcuni pacchetti (HTTPS Requests) cifrati mediante l’utilizzo di un particolare tipo di cifrario a blocchi.
Per difendersi dal phishing molte banche sono passate ad utilizzare i dispositivi token OTP. Si tratta di generatori di numeri pseudo-random ad intervalli regolari, solitamente 30 o 60 secondi, che utilizzano un algoritmo che tiene conto dello scorrere del tempo grazie ad un orologio interno. La sequenza pseudo-random generata dal token è una password temporanea detta OTP (One-Time Password) che viene combinata con una password già nota all’utente. A livello accademico questo metodo di autenticazione si chiama two-factor authentication: la concomitanza di qualcosa che si conosce (password) e di qualcosa di cui si è in possesso (token). Il phishing diventa inutile contro il token perché l’attaccante non può prevedere l’OTP a meno che l’algoritmo implementato all’interno di questi dispositivi sia crittograficamente debole. Il comportamento di un algoritmo robusto dipende solo da un parametro, chiamato seed, che è inserito nel token, non estraibile dallo stesso e noto solo al server della banca. La perdita del token lascia il singolo utente esposto ai soliti rischi, rimanendo il sistema al sicuro da attacchi su larga scala. Tuttavia, nel 2011 RSA Security, la maggiore società di sicurezza informatica produttrice mondiale di token, è stata vittima di un sofisticato attacco hacker durante il quale i seed di certi token potrebbero essere stati sottratti; in seguito a tale attacco RSA ha scelto di sostituire in via prudenziale i dispositivi potenzialmente compromessi. Se veramente un gruppo di cracker si impossessasse di migliaia di seed, potrebbe lanciare un attacco simultaneo a migliaia di conti correnti incrociando coi dati in arrivo dal phishing, provocando un danno enorme. In alternativa all’uso del token si trova talvolta un lettore di smart card, che può utilizzare la crittografia nativa nelle card, per esempio dei bancomat o altre smart card che l’utente usa già per altri motivi. Il vantaggio di questo sistema rispetto al token è che, sebbene l’utente debba avere a disposizione un dispositivo di lettura, la perdita del lettore non crea alcun problema perché il segreto è contenuto nella smart card che comunque l’utente si porterebbe dietro. Sarebbe anche possibile fare a meno completamente di un dispositivo se si usassero metodi di identificazione e autenticazione biometrica e quindi, in particolare, sistemi che si basano su caratteristiche fisiologiche o comportamentali dell’utente. Ad esempio la password alfanumerica verrebbe sostituita da un segno grafico direttamente tracciato sullo schermo del computer dall’utente che poi verrebbe digitalizzato e cifrato dal sistema. Anche la Banca Centrale Europea si è accorta delle potenzialità dei metodi biometrici, come discusso nell’articolo precedente.
Tutti i metodi appena citati non possono nulla se il browser dell’utente è sotto il controllo di un malware che mostra all’utente delle finte transazioni e che comunica alla banca delle transazioni fraudolente. L’arrivo di questi malware ha imposto un forte salto di qualità nelle difese bancarie. Una prima difesa è dotarsi di sistemi che risultano essere maggiormente idonei a prevenire l’accadimento di determinati fenomeni criminali: i sistemi antifrode basati sull’intelligenza artificiale. Questi sistemi si basano su algoritmi statistici che riconoscono in maniera automatica comportamenti anomali durante le transazioni. Se vengono rilevate anomalie, il server della banca può intervenire in base al livello di rischio associato all’anomalia. Nei casi estremi, il server può cancellare istantaneamente la transazione, ma solitamente richiede una password dispositiva OTP addizionale: solo se l’utente la inserisce la transazione possa continuare in maniera corretta. Il malware potrebbe essere così avanzato da intercettare i segreti condivisi, OTP compreso, e far credere all’utente che la transazione stia andando a buon fine verso il destinatario desiderato, nel frattempo facendola deviare al server della banca. Quindi, voi credete di fare un bonifico a vostro figlio e in realtà state mandando tutti i vostri soldi in qualche paese asiatico.
Se il cliente può essere contattato direttamente a fronte di un’operazione sospetta, coi sistemi antifrode si è messi comunque al riparo da attacchi massivi. Ma per evitare il notevole costo associato, un’alternativa allo studio in questi mesi è la generazione, da parte del server della banca, di un segno grafico cifrato, che contenga i dettagli della transazione, e che possa essere interpretato da un ulteriore dispositivo, come ad esempio uno smartphone. Nel dispositivo sarebbe presente una chiave capace di decifrare tale segno grafico e di conseguenze in questo modo l’utente potrebbe avere un riscontro sull’effettiva operazione che sta autorizzando, decidendo lui stesso se completarla o meno.
La tentazione di usare come dispositivo di verifica lo smartphone è forte, visto la loro diffusione, così come fortissima è la tentazione di usarlo direttamente per fare online banking con app ad hoc. Ma questo è uno scenario completamente diverso, che meriterebbe per la sua complessità un articolo a parte.