Manager

Mobile banking sicuro? IKS esamina 10 applicazioni – Parte seconda

Analizzate 10 applicazione bancarie di App Store Apple

Per verificare il livello di sicurezza IKS ha analizzato 10 applicazioni di mobile banking rilasciate da altrettanti importanti istituti bancari italiani e disponibili nell’App Store Apple nel periodo di settembre 2013. E' stato scelto di effettuare le verifiche solo sulla versione iOS delle app considerando che:

  • iOS viene considerato il sistema operativo mobile più sicuro; risulta quindi interessante verificare se effettivamente il livello di sicurezza è garantito;
  • Spesso le app analizzate sono state sviluppate prima per iOS, facendo presupporre quindi un maggiore livello di maturità.
  • Alcune funzionalità sono presenti solo in iOS.

Per ogni applicazione nello studio sono state verificate le informazioni contenute nell’eseguibile oggetto dell’attività di assessment. Le app considerate nell’assessment sono state analizzate sulla base di metodologie e best practices di riferimento in ambito security per il mondo mobile. Infine, per aumentare la chiarezza dei risultati, l’esito dei controlli sono stati profilati in base ad uan specifica tassonomia.

Consideriamo i criteri seguiti per l'analisi e i risultati ottenuti per i punti considerati da IKS i più salienti e significativi.

Resistenza ad attacco dall’interno del sistema operativo: Nell’analisi nessuna app ha mostrato di implementare contromisure all’abuso e/o analisi run-time. In un device compromesso, utilizzando un kit jailbreak, è possibile accedere al sistema come utente root e utilizzare strumenti software utili ad analizzare e modificare il comportamento dell’app durante l’esecuzione. Il livello di attenzione all’aspetto della sicurezza runtime è mediamente ancora molto basso. Delle app considerate, una sola ha mostrato di valutare questo tipo di rischio, senza però prevedere contromisure efficaci e limitandosi a mostrare un messaggio all’utente sulla pericolosità dell’utilizzo. In generale si evidenzia che le verifiche fatte per determinare la presenza ad esempio di jailbreak sono molto rudimentali e facilmente aggirabili. 

Elementi architetturali che possano generare vulnerabilità: Le app analizzate si sono dimostrate poco sensibili a questa problematica: eccezion fatta per qualche rudimentale pratica di offuscamento, non sono stati rilevati esempi che utilizzassero linguaggi di basso livello e/o pratiche di offuscamento avanzato per complicare l’analisi delle componenti applicative critiche.

Robustezza delle comunicazioni verso il back-end: A dimostrazione della maggiore attenzione e consapevolezza delle problematiche di sicurezza legate alle comunicazioni di rete, nelle APP oggetto del test si rileva il corretto utilizzo delle classi messe a disposizione dallo SDK di Apple nella quasi totalità dei casi. Tutte le applicazioni, ad eccezione di una, verificano l’origine del certificato SSL utilizzato nelle comunicazioni HTTPS con il backend. Una sola applicazione accetta la comunicazione con il back-end anche in mancanza di un certificato attendibile.

Presenza di cache e file sensibili su disco dopo l’esecuzione dell’app: Su questo tema lo studio ha rilevato una certa sensibilità: quasi tutte le app evitano la generazione di cache, tranne quella di sistema legata alle classi per gestire la connessione. Riguardo al salvataggio delle informazioni sensibili non si sono riscontrate informazioni in chiaro su disco. 

Conclusioni

Le conclusioni che IKS ha tratto dopo aver effettuato l'analisi sono svariate. Se da un lato si rileva un’attenzione soddisfacente alle tematiche di sicurezza legate alla trasmissione dei dati su rete, risulta però evidente una forte disattenzione verso le problematiche di compromissione dei dispositivi. In pratica, le vulnerabilità specifiche dei sistemi operativi mobili sono il terreno di battaglia più facilmente approcciabile da aspiranti fraudatori, determinati a prendere il controllo di un’applicazione mobile.

La soluzione, da un lato, consiste nell'utilizzare linee guida di sviluppo mobile e verificare in fase di pre-rilascio il livello di sicurezza dell’app con un assessment di sicurezza completo. Tuttavia la sicurezza dell’app non può esimersi dal considerare anche l’ambiente di esecuzione e cioè il dispositivo mobile e il suo stato di eventuale compromissione. Garantire la sicurezza runtime delle app comporta in ogni caso mettere in atto processi di monitoraggio e contromisure complesse, capaci sia di permettere una user-experience ottimale che di intercettare e gestire correttamente situazioni pericolose per i servizi esposti.

"Riteniamo sia fondamentale correggere innanzitutto le situazioni di rischio, perché, man mano che il tempo passa, crescono le possibilità che le vulnerabilità attuali siano oggetto di attacco da parte dei cyber criminali. Inoltre, occorre utilizzare linee guida di sviluppo mobile, verificare, in fase di pre-rilascio, il livello di sicurezza dell’app con un assessment di sicurezza completo, considerando nell’analisi anche l’ambiente di esecuzione", suggerisce Guido Ronchetti, Team Leader 4Mobile in IKS.