Quattro modi per migliorare la sicurezza delle applicazioni mobile

applicazioni mobile
Per Darryn Campbell, Software Architect di Zebra Technologies, proteggere i dispositivi e dati utilizzati in prima linea è la prima regola degli sviluppatori per avere la fiducia dei clienti

“Offrire un’esperienza coinvolgente agli utenti di dispositivi mobile può essere un aspetto allettante in fase di sviluppo di nuove soluzioni, ma non la priorità: è la sicurezza, piuttosto, che dovrebbe essere il punto focale nello sviluppo di qualsiasi applicazione e per ogni successivo aggiornamento. Non considerare prioritaria la sicurezza dei dati e dei dispositivi, può rendere innanzitutto i clienti vulnerabili sotto diversi punti di vista, e ciò può tradursi nella loro perdita di fiducia o scarsa fidelizzazione, oltre a comportare conseguenze economiche per gli sviluppatori, i clienti stessi, i partner e, non ultimo, gli utenti finali, a seconda del tipo di utilizzo dell’applicazione”.

Inizia così la riflessione di Darryn Campbell, Software Architect di Zebra Technologies, sulla sicurezza delle applicazioni mobile. Secondo Campbell è essenziale che gli sviluppatori tengano a mente quattro considerazioni quando verificano la capacità delle funzionalità di sicurezza delle loro applicazioni mobile. Eccole nel dettaglio.

Sicurezza prima di convenienza

Tutti i codici delle API (interfaccia di programmazione delle applicazioni) utilizzati per comunicare con servizi di terze parti inclusi all’interno dell’applicazione binaria sono per natura insicuri. Per quanto gli sviluppatori provino a rendere invisibili le key all’interno delle loro applicazioni utilizzando ProGuard o qualche sistema proprietario, ogni tentativo può essere reso vano con un minimo sforzo.

È importante dunque garantire che l’uso di qualsiasi API key sia soggetto alle restrizioni adeguate. Per esempio, se si sta creando una Web App, è utile poter gestire solo le richieste che arrivano da determinati domini o indirizzi IP; mentre per le App native si possono stabilire delle restrizioni alle key in base all’identità del gruppo o in base al nome del pacchetto di ogni applicazione e al suo certificato di firma, assicurandosi che solo le applicazioni firmate dallo sviluppatore siano in grado di usare quelle API Key. Si possono inoltre restringere le key in base all’identificativo del pacchetto o al nome del pacchetto di ciascuna domanda e al certificato di firma, assicurandosi che solo le app opportunamente firmate siano in grado di usare le rispettive API key.

Nel caso i servizi di terze parti non offrano restrizioni sufficienti sulle API key, lo sviluppatore dovrebbe considerare le chiamate proxy avvalendosi di uno tra i più importanti provider cloud sul mercato. Mai, comunque, implementare un sistema di identificazione proprio. Infatti, se può essere allettante creare un nome generico e un sistema di password per i propri utenti, concretamente è molto difficile renderlo sicuro. Se poi si ha bisogno di autenticare gli utenti della App proprietaria, è necessario optare per uno tra i gestori di Identità Digitale sicura, per esempio l’Active Directory (AD) se si tratta di un ambiente di lavoro oppure Gmail o Apple ID per gli utenti delle applicazioni mobile.

Proteggere le chiavi di firma e l’infrastruttura di sviluppo

Qualsiasi chiave o credenziale usata dalla propria App (anche quelle necessarie per pubblicarla e firmarla) non dovrebbe mai essere aggiunta ad un repository di codici sorgente pubblici. Perfino aggiungere key a un repository di archiviazione privato è rischioso, dato che si potrebbe decidere di rendere open source la propria applicazione in futuro. È inoltre possibile che il codice venga svelato o accidentalmente condiviso da uno sviluppatore.

sviluppo low-code

I codici di production dovrebbero essere accessibili soltanto ai responsabili della produzione dell’App. Quando si forniscono agli sviluppatori le test key, è dunque importante assicurarsi che siano limitate alle sole funzionalità richieste. Inoltre, le key dovrebbero essere sempre tenute in file separati e cambiate periodicamente. Da ricordare infine che molte key per applicazioni di terze parti saranno connesse alle informazioni di fatturazione; potrebbero quindi esserci delle implicazioni monetarie pur senza perdita di dati.

Analisi statica per identificare potenziali problemi con le applicazioni

Idealmente, tutte le applicazioni dovrebbero essere sottoposte a Penetration Testing prima del rilascio per minimizzare problemi di codice che possono portare a violazioni della sicurezza. Attorno al Penetration testing si è sviluppata una offerta molto ampia, ma la maggior parte degli sviluppatori non ha il budget per testare ciascun rilascio.

Esistono strumenti di Open-source creati per analizzare staticamente i codici alla ricerca di qualunque problema legato alla sicurezza che potrebbe venire individuato ed essere perciò incluso nel processo di sviluppo e di rilascio dell’applicazione. Diffondere cultura intorno alle best practice di sicurezza è fondamentale perchè nessuno sviluppatore, persino i più esperti, sarà mai in grado di produrre perfettamente un codice di sicurezza ogni volta che questo sia necessario.

Prevenire la perdita di dati

Il login a un’App contiene una quantità incredibile di informazioni, alcune delle quali potrebbero aiutare un hacker a individuare i punti deboli dell’applicazione. Ovviamente, non dovrebbero mai riuscire ad accedere alle informazioni sicure; ma anche informazioni ritenute apparentemente non rilevanti potrebbero rivelare l’architettura dell’App o le librerie utilizzate, che a loro volta potrebbero contenere vulnerabilità.

L’archiviazione di file è un’altra modalità attraverso la quale una App può accidentalmente condividere dati. Se l’applicazione scrive o legge file in una cartella accessibile ad altre applicazioni, i file che vengono scritti sono di conseguenza accessibili ad altri e i file che vengono letti da quelle cartelle condivise sono soggetti a manipolazione da parte di applicazioni dannose.

È importante ricordare sempre che, come sviluppatore, si è il primo tassello nella creazione di applicazioni mobile sicure. Creare e mantenere questa filosofia di sicurezza nel corso dell’intero processo di sviluppo e rilascio è essenziale per realizzare applicazioni affidabili e sicure per i clienti.

Condividi:
 

I dipendenti preferiscono WhatsApp alla mail… A scapito della sicurezza

whatsapp
Quella di messaggiare tramite WhatsApp è ormai diventata una vera e propria mania anche per scambiarsi ogni genere di comunicazioni di lavoro, ma si pensa poco alle implicazioni che ciò porta a livello di sicurezza.

Quella di messaggiare tramite WhatsApp è ormai diventata una vera e propria mania e non più solo per tenersi in contatto con gli amici e i propri cari, ma anche per scambiarsi ogni genere di comunicazioni di lavoro. Veritas Technologies, azienda specializzata nella produzione di soluzioni tecnologiche per la protezione dei dati, ha intervistato 12.500 colletti bianchi di quattro continenti per un sondaggio che ha rivelato come il 75% dei dipendenti usi WhatsApp o altre app di messaggistica e software di videoconferenza online per condividere dati sensibili, mentre il 71% di essi confessa di usare queste applicazioni per inviare informazioni critiche dell’azienda per cui lavora.

A completare il quadro è un sondaggio condotto da Federprivacy su un campione di circa mille professionisti e manager d’impresa italiani, dal quale è emerso che la metà degli intervistati (52%) utilizza più o meno spesso il proprio smartphone per fotografare documenti di lavoro riservati e spedirli tramite WhatsApp o un’altra app simile.

Peccato che circa uno su quattro di essi (24%) ammetta anche che ogni tanto sbaglia destinatario e a preoccupare maggiormente è il fatto che tra le informazioni scambiate tramite queste applicazioni vi siano password aziendali, dettagli delle carte di credito, dati dei clienti, piani strategici, informazioni bancarie e salariali, e persino risultati dei test Covid-19 dei dipendenti con relativi dettagli medici.

pagamenti con whatsapp

Fiumi di informazioni confidenziali che scorrono quindi attraverso le app di micro chat che vengono preferite dal 54% degli utenti professionali perché le trovano più pratiche rispetto alla tradizionale posta elettronica, anche se in questi casi la rapidità dello strumento presta il fianco a notevoli rischi per le aziende.

E anche se è durante la pandemia che si è riscontrato il maggior aumento dell’uso di WhatsApp e delle varie piattaforme online per motivi di lavoro, a quanto pare non siamo di fronte a un fenomeno passeggero, dato che nello studio di Veritas il 79% degli intervistati ha affermato che in futuro si troverà di nuovo ad usare tali app per condividere informazioni aziendali e dati sensibili, nonostante quasi un terzo (30%) degli impiegati sia stato già ammonito dai propri responsabili per aver inviato dati confidenziali tramite canali vietati dalle procedure interne.

“Se da una parte le aziende investono risorse e denaro per mantenere un adeguato livello di conformità generale al GDPR, la realtà è che in molti casi esse hanno perso il controllo dei propri dati personali a causa del fatto che molti dipendenti si sono abituati a ricorrere spesso alla scorciatoia dell’app per trasmettere informazioni riservate ignorando le policy aziendali” spiega Nicola Bernardi, presidente di Federprivacy. “Se le imprese non correranno presto ai ripari, sarà inevitabile assistere a una progressiva crescita di contenziosi e violazioni derivanti dall’uso irresponsabile di tali applicazioni”.

Secondo il sondaggio di Federprivacy, nel 60% delle imprese intervistate esiste già una policy che disciplina le app di messaggistica e sono previste anche sanzioni disciplinari per chi infrange le regole, ma evidentemente le misure organizzative finora adottate non sono sufficienti ad arginare il problema.

Condividi: