Negli ultimi anni, il settore finanziario – come molti altri – sta attraversando un forte cambiamento, innescato dal digitale e visibile nella proliferazione di aziende e servizi FinTech sempre più avanzati.
In questo ambito, la revisione della Direttiva europea sui servizi di pagamento (PSD2), approvata il 14 settembre 2019, avrà senz’altro un grande impatto globale sul settore finanziario. La direttiva abilita il concetto di open banking e rimpiazza una legge europea sui pagamenti del 2007; le banche di tutto il mondo hanno già cominciato a prendere provvedimenti per rispondere alle esigenze di tutti i clienti.
Open banking, transazioni bancarie più sicure e meno costose
Obiettivo dell’open banking è quello di innovare e rendere le transazioni bancarie all’interno dell’Unione Europea più efficienti, meno costose, facili e più sicure. Questo si implementa con una apertura delle interfacce di programmazione (API) delle banche nei confronti delle aziende FinTech, per permettere l’estensione di servizi come i suggerimenti finanziari o l’automazione dei pagamenti. I clienti delle banche dovranno fornire il loro esplicito consenso a queste nuove aziende, per permettere loro di accedere ai dati bancari.
Figura 1. Grazie alla PSD2 le aziende FinTech promuoveranno nuove app per aggregare i dati bancari da account multipli
Sicurezza dell’online banking, lo standard Financial grade API (FAPI)
La PSD2 vuole rendere l’online banking più sicuro, per questo viene resa obbligatoria l’autenticazione a due fattori e il “Dynamic Linking”, in cui un codice di autenticazione in ogni transazione è specifico per l’importo e il destinatario. Inoltre, le banche nel Regno Unito stanno sviluppando uno standard denominato Financial grade API (FAPI), che rappresenta un ulteriore livello di sicurezza nel processo di autenticazione tra gli operatori di servizi FinTech e gli istituti di credito. Per esempio, se un attaccante ruba il token per l’accesso temporaneo all’app mobile, non dovrebbe essere in grado di utilizzare quel token per altri servizi—ad esempio per accedere ai dati finanziari della vittima. Le specifiche FAPI sono state sviluppate dall’OpenID Foundation e dalla U.K. Open Banking Implementation Entity. È stato pensato per essere utilizzato una volta che l’open banking avrà preso piede nel Regno Unito, ma al momento ha ancora diversi punti deboli e falle da risolvere.
Non è detto però che tutti gli istituti che usufruiscono delle API “open banking” siano egualmente pronte e preparate a recepire l’impatto della PSD2 sull’attuale piattaforma tecnologica, e questo potrebbe generare diversi rischi. L’idea dell’open banking è infatti quella di mettere le informazioni bancarie degli utenti “nelle mani” di diverse parti, inclusi i molti player nascenti nel panorama FinTech, che potrebbero non avere la stessa esperienza che il banking tradizionale ha accumulato, nel corso del tempo—nel rispondere alle frodi, ad esempio.
Status quo e rischi delle API
Proprio in concomitanza dell’entrata in vigore della PSD2, Trend Micro Research ha pubblicato i risultati di uno studio approfondito sulle API “open banking,” individuando alcune criticità:
- Le API bancarie e FinTech accessibili pubblicamente aumentano la superficie di attacco.
- API e siti web legacy di banche o aziende FinTech contengono informazioni sensibili dei clienti all’interno degli URL, il che non è in linea con gli obiettivi di sicurezza della PSD2.
- Si utilizzano ancora tecniche di condivisione dei dati bancari obsolete.
- Alcune app per dispositivi mobili di banche e organizzazioni FinTech sono connesse a terze parti, come fornitori di servizi di performance o pubblicitari.
- Protocolli più sicuri, come il FAPI, sono ancora in fase di sviluppo.
Mentre nel 2015 le banche europee erano considerevolmente in ritardo per quanto riguarda le API, un numero sempre maggiore di banche in tutto il mondo utilizza le API “open banking”.
Figura 2. Trend di crescita di un particolare sottoinsieme di hostname API del settore finanziario. Dati della Smart Protection Network Trend Micro.
Prima che la PSD2 entrasse in vigore, abbiamo riscontrato problemi di sicurezza nelle API di molte banche e aziende FinTech. Un numero significativo di banche, incluse due banche centrali in Europa e una banca centrale in Asia, stavano esponendo—senza saperlo—informazioni sensibili (e.g., parametri di autenticazione, dati privati e relativi alle transazioni) negli URL di API e siti legacy.
Figura 3. API che espone le informazioni sensibili degli utenti.
Includere dati sensibili negli URL non è certo una best practice, dal momento che questi URL finiscono spesso in file di log o banalmente nella cronologia di navigazione e potrebbero essere condivisi tra i diversi dispositivi di un utente. Abbiamo visto casi di questo tipo nei sistemi di istituzioni finanziarie in Europa, Asia e Stati Uniti e anche in un’azienda FinTech che pubblicava la sua documentazione API online, inclusa l’autenticazione degli URL con all’interno l’indirizzo email del cliente, password e ID.
Figura 4. Screenshot della documentazione disponibile online circa l’API di un’azienda FinTech che dovrebbe essere regolamentata dalla PSD2. Si possono chiaramente vedere le informazioni sensibili nel percorso dell’URL dell’API.
Rischi dell’uso di tecniche di “screen scraping”
La tecnica dello “screen scraping” è utilizzata da diverse aziende FinTech per aggregare dati bancari, per sopperire alla mancanza di API o ai limiti delle stesse. Questa tecnica consiste nell’estrarre automaticamente dati da un sito bancario, mimando la sessione di un browser web che utilizza le credenziali di login del cliente. Per funzionare, un tale servizio obbliga quindi il cliente a fornire le sue credenziali bancarie all’azienda FinTech, che chiaramente non è una pratica raccomandabile.
La PSD2 richiede invece una autenticazione forte ed è chiaro che lo screen scraping non dovrebbe più essere consentito. A questo proposito le aziende FinTech si erano organizzate per respingere questa clausola, affermando che nessun incidente conosciuto o violazione che riguardasse questa tecnica era accaduta. Alcune settimane prima del 14 settembre, giorno dell’implementazione della PSD2, le autorità hanno annunciato un rinvio della piena applicazione delle misure di sicurezza e delle sanzioni, per concedere più tempo ai fornitori di servizi per adeguarsi.
Possibili rischi in seguito all’implementazione della PSD2
Il nuovo paradigma bancario, che richiede API aperte e con accesso ai dati bancari, crea nuove opportunità di attacco.
Di seguito alcuni possibili scenari:
- Attacchi diretti alle API più probabili: le API costituiranno un bersaglio più interessante, perché devono necessariamente essere pubbliche. Chiaramente qualsiasi disservizio potrebbe bloccare operazioni e transazioni bancarie, con ripercussioni sostanziali sul resto della “catena” dei servizi ad esse collegati
- Attacchi diretti alle aziende FinTech: non tutte le aziende FinTech avranno gli stessi livelli di sicurezza ed esperienza delle banche. Start up e aziende nascenti sono di piccole dimensioni e non ha personale dedicato ad attività di sicurezza. Pertanto i server di queste aziende possono diventare un bersaglio facile e decisamente di valore, dal momento che contengono dati finanziari (e talvolta credenziali, vedi nel caso di screen scraping) dei propri clienti
- Attacchi diretti agli utenti finali: le classiche tecniche di social engineering e phishing troveranno terreno più fertile presso gli utenti, che saranno sempre più abituati a gestire online le proprie risorse finanziarie, e quindi a ricevere comunicazioni “automatiche” da parte dei vari servizi usufruiti. Inoltre, la responsabilità dimostrativa potrebbe essere più complicata nei casi di transazioni fraudolente
Conclusione e raccomandazioni di sicurezza
Gli obiettivi delle aziende FinTech—alla ricerca di innovazione e servizi per il pubblico—opposti a quelli delle banche, che provano a proteggere la loro posizione consolidata, dovrebbero allinearsi, per evitare eccessivi ritardi nell’effettiva corretta implementazione della PSD2, con conseguenze che poi ricadrebbero sugli utenti finali.
Una raccomandazione per le aziende FinTech è quella di adottare protocolli sicuri e smettere di utilizzare tecniche rischiose e sorpassate. La mancanza di incidenti documentati non significa che metodi come lo screen scraping siano sicuri. Gli sviluppatori dovrebbero adottare una filosofia di “security by design,” creando applicazioni sicure anche quando adottate in un ambiente ostile o compromesso.
Banche e istituzioni finanziarie dovrebbero rivedere le loro attuali API. Informazioni sensibili e dati personali dei clienti non dovrebbero mai apparire nei percorsi URL delle API, dal momento che questo indebolirebbe o renderebbe le misure di sicurezza inutili.