Uber Data Breach: come prevenire incidenti come questi nella tua app

Pubblicato: 2017-11-28

Nel 2016, Uber ha perso 57 milioni di informazioni su utenti e conducenti a causa di hacker, che hanno poi pagato $ 1.00.000 per eliminare i dati.

L'incidente è emerso qualche giorno fa, quando il loro CEO Dara Khosrowshahi ha pubblicato un post per fare luce sulla violazione dei dati . E da allora, il caso della sicurezza delle app è diventato al centro dell'attenzione.

Uber non è il primo caso di violazione dei dati, ci sono un certo numero di volte in cui i dati personali degli utenti sono stati compromessi: un evento che ha messo le persone diffidenti nei confronti dell'utilizzo di app mobili che richiedono le loro informazioni.

Ecco un'immagine per mostrare la posizione degli utenti di app mobili alla luce dei problemi di sicurezza delle app:

Problemi di sicurezza delle app

Vedi quanto è raccapricciante?

Tuttavia, puoi impedire che la tua app diventi il ​​prossimo case study che avverte i marchi di mettere in pratica il loro gioco di sicurezza delle app.

Ecco come -

1. Proteggi la tua app da zero

Esistono numerose vulnerabilità nel codice sorgente dell'app, ma la maggior parte delle società di app si concentra solo sulla parte di rete mentre si concentra sull'implementazione delle migliori pratiche di sicurezza delle app mobili . Ci sono così tanti posti che possono essere la base di violazioni dei dati: errori di codifica, test del codice, ecc.

Ecco le cose che puoi fare per salvaguardare la tua app dal giorno della sua esistenza:

  • Proteggi il codice della tua app con la crittografia. Ci sono due modi per farlo: minimizzazione e offuscamento, ma non sono sufficienti. Si consiglia di attenersi ad algoritmi ben supportati che sono combinati con la crittografia API.
  • Esegui la scansione del codice sorgente sui tuoi codici, frequentemente

Il segno di un codice sicuro è che rimane sicuro anche dopo essere stato trasferito tra sistemi operativi e dispositivi. La creazione di un codice agile aiuta immensamente su questo fronte.

2. Proteggi la connessione di rete dal backend

lungo

I server cloud a cui accede l'API della tua app devono disporre di adeguate misure di sicurezza per impedire l'accesso non autorizzato e proteggere i dati degli utenti. La verifica dell'API deve essere tale che zero informazioni riservate passino dal client al database o al server dell'app.

Per rendere questo passaggio un successo, è fondamentale che il processo di sviluppo del back-end sia solido .

Ecco come proteggere la connessione di rete

  • Crea contenitori crittografati per archiviare documenti e dati
  • Conduci una serie di valutazioni delle vulnerabilità e test di penetrazione della tua rete per assicurarti che i dati siano protetti.
  • Crittografa database e connessioni con SSL, VPN e TLS per una maggiore sicurezza
  • Applica federazione: la misura che distribuisce le risorse tra i server in modo che non siano tutte in un unico posto, separando le risorse chiave dagli utenti.

3. Avere un processo di autenticazione, identificazione e autorizzazione in atto

Ecco come rendere la tua app identificata, autenticata e autorizzata

  • Assicurati che le API utilizzate dalla tua app siano solo quelle necessarie per funzionare e consenta l'accesso solo alle parti che sono a fuoco, invece di tutte le funzionalità dell'app.
  • Esistono numerosi strumenti e protocolli che puoi utilizzare e che assicurati di seguire quando la tua app è in fase di sviluppo. Eccoli -
    • Token Web JSON: lo strumento leggero viene utilizzato per crittografare lo scambio di dati, la sua implementazione semplice lo rende ideale per le app mobili.
    • OpenID Connect – È un protocollo che consente agli utenti di riutilizzare le proprie credenziali su domini diversi con l'aiuto di un token ID, per risparmiare tempo nella registrazione e nella registrazione con le stesse informazioni ogni volta.
    • OAuth2: il protocollo viene utilizzato per gestire la connessione sicura tramite un token specifico dell'utente una tantum. Dopo aver installato il framework nel server di autorizzazione, ti consentirà di concedere ai tuoi utenti l'autorizzazione tra gli utenti finali e il client raccogliendo credenziali come domande SMS a 2 fattori.

4. Eseguire una serie completa di test

A differenza di un'app Web, la maggior parte dei dati delle app mobili viene salvata localmente e, poiché i dati si trovano su un dispositivo la cui larghezza di banda, prestazioni e qualità varia, il rischio che venga violata è molto maggiore.
Insieme al fattore di instabilità nei dispositivi, ci sono anche alcune app che tendono a rilasciare dati all'insaputa degli utenti, come sesso, età, utilizzo del dispositivo, ecc.

Modi per garantire che i dati dei clienti siano al sicuro sull'app:

  • Con l'aiuto della crittografia a livello di file, puoi proteggere i dati file per file. È uno dei modi per crittografare i dati inattivi in ​​modo che non vengano letti quando intercettati.
  • Strumenti come la piattaforma Appcelator assicurano che i dati mobili archiviati localmente siano al sicuro.

La gestione delle chiavi dovrebbe essere la tua priorità. La base di un algoritmo forte è il suo certificato e le sue chiavi altrettanto più forti.

5. Strategia di sicurezza API pianificata

Poiché lo sviluppo mobile è strettamente legato alle API, una parte importante della sicurezza di un'app dipende dalla sicurezza della sua API. Le API trasmettono dati tra le applicazioni, il cloud e tra un numero di utenti. Tutte le parti coinvolte devono essere identificate e autorizzate al fine di visualizzare e utilizzare i dati. Le API sono la pietra angolare di funzionalità, contenuto e dati, quindi garantire che siano protette può richiedere molto tempo.

api

Ci sono tre fasi nell'API di cui dovrai occuparti, vale a dire: identificazione, autenticazione e autorizzazione.

Diamo un'occhiata agli elementi di tutti e tre di seguito:

Identificazione

La prima parte del processo, gli hack di identificazione possono essere prevenuti implementando le chiavi API. Queste chiavi sono identificatori casuali e univoci che eliminano la necessità di password.
Sebbene tu possa salvaguardare quando i dati vengono visualizzati utilizzando le chiavi API, non puoi decidere che vengano visti da qualcuno che avrebbe dovuto vederli.

Autenticazione

È il processo che garantisce che le informazioni siano viste da qualcuno che avrebbe dovuto visualizzarle. In questa fase, imposti nomi utente e password per garantire che il sistema ottenga un ulteriore livello di sicurezza.

Autorizzazione

Questo passaggio risponde alla domanda: cosa si può fare con l'API. I passaggi per proteggere questo processo includono autorizzazione a 2 fattori, token e password monouso.

6. Testare l'app

Indipendentemente dal fatto che la tua app sia ibrida, nativa o Web, dovrebbe essere testata non solo dall'aspetto di usabilità e funzionalità, ma anche dalla sicurezza. Ci sono una serie di passaggi che devi seguire per assicurarti che la tua app sia di qualità garantita per assicurarti che sia sicura.

Ecco i modi in cui puoi assicurarti che la tua app sia testata per la sicurezza:

  • Test di penetrazione: significa sondare la rete e il sistema per trovare i punti deboli.
  • Usa gli emulatori per testare le prestazioni dell'app in un ambiente simulato.
  • Testare in dettaglio i problemi di autorizzazione e autenticazione, gestione delle sessioni e sicurezza dei dati.

Quindi questi erano i 6 modi che potresti utilizzare nel processo di sviluppo dell'app per assicurarti che il tuo non sia quello sotto i riflettori.

Assicurati di incorporare bene in tempo, finché hai tempo.