Sviluppo sicuro dell'app Android [chiuso]

4

Sto iniziando con lo sviluppo di app per Android e voglio essere certo di adottare le opportune precauzioni di sicurezza poiché la maggior parte delle app gestirà dati riservati.

Quali precauzioni di sicurezza dovrebbero essere prese affinché la mia app e i dati che gestisce siano sicuri? (per l'esattezza, il mio modello di thread di scenario peggiore sarebbe un aggressore ben finanziato che sta tentando di accedere ai dati gestiti dall'app in qualsiasi modo possibile)

Lo so,

  • La chiave di firma deve rimanere protetta
  • I dati devono essere archiviati nella sandbox delle applicazioni (preferibilmente crittografati)
  • I dati devono essere crittografati end-to-end

Ma dovrei, ad esempio, usare Windows come piattaforma di sviluppo o Linux è più consigliabile in questo caso.

Il tipo di app che sto pianificando di fare saranno principalmente le applicazioni di trasferimento dati e di comunicazione.

Ogni pensiero è apprezzato!

    
posta Jasper Weiss 24.01.2016 - 19:28
fonte

2 risposte

4

La piattaforma di sviluppo non ha quasi nulla a che fare con la sicurezza della tua app. Potrebbe, se il tuo computer di sviluppo non è adeguatamente protetto o indirizzato direttamente.

La regola numero uno da seguire è quella di non implementare la propria crittografia. Utilizza librerie ben note e testate.

    
risposta data 24.01.2016 - 19:35
fonte
3

Alcune cose vengono in mente.

Evita di conservare cose localmente che non dovrebbero essere esposte. Dati come sessioni, cookie, password, dettagli dell'account, qualsiasi cosa. Ci sono stati numerosi e vari modi in cui i dati vengono ricavati dalle app mobili e riutilizzati. Come regola generale, se si tratta di dati specifici per quell'utente (la sessione dell'utente, l'ID dell'utente, il numero di account dell'utente) è più adatto per la memorizzazione nella cache sul dispositivo rispetto a qualcosa che è uguale per tutti. Immagina di avere una chiave di licenza per lo streaming multimediale da una CDN, o una chiave API per un servizio web (o OAuth), o qualcosa del genere. Questi tipi di segreti condivisi non dovrebbero essere incorporati nell'app o memorizzati nella memoria locale dell'app. Ecco un esempio di errore.

Ricorda che ogni componente lato server deve autenticare e autorizzare tutte le chiamate API ad esso. È comune creare microservizi come la visualizzazione di ordini aperti, il controllo di file disponibili o qualsiasi altra cosa, e fare in modo che non richiedano una sessione valida. È anche comune che tali microservizi accolgano QUALSIASI richiesta, purché ci sia QUALSIASI sessione valida. Assicurati quindi di non fare affidamento sull'app mobile per determinare cosa l'utente dovrebbe e non dovrebbe vedere. Deve essere applicato lato server.

Sono due biggies che mi vengono in mente. C'è di più, ma non possiamo darti un libro in risposta.

    
risposta data 24.01.2016 - 21:58
fonte

Leggi altre domande sui tag