Quali test possono essere eseguiti sulle app mobili per determinare se sono sicuri?

0

La mia azienda sta cercando di collaborare con un potenziale fornitore di back-end al fine di creare un'app per loro. Per fare ciò, dobbiamo usare la loro API. Abbiamo parlato con questa azienda e sono preoccupati per la sicurezza e quindi abbiamo detto che ci lasceranno avviare l'app solo se la penetrazione verrà testata da una terza parte.

L'app consentirà agli utenti di accedere e accedere alle loro informazioni finanziarie, quindi ha senso che vogliano assicurarsi che tutto sia sicuro ma, a quanto mi risulta, il "test di penetrazione" non ha molto senso per un'app mobile. È corretto? Cosa possiamo fare per soddisfare il fatto che l'app è sicura? Esiste un nome per un tipo di test di sicurezza delle app standard che potrebbe essere eseguito da una terza parte?

    
posta D Roberts 16.09.2018 - 21:58
fonte

2 risposte

4

Parlando come ex consulente di sicurezza che eseguiva regolarmente test di penetrazione di app mobili di terze parti, è assolutamente logico. In pratica, le app per dispositivi mobili sono un po 'meno suscettibili al pentesting di black-box rispetto ad altri tipi di app (come app web o driver in modalità kernel), ma c'è molto che puoi fare anche black-box (e più con white- box, anche se la retroingegnerizzazione della maggior parte delle app per Android è così semplice che sono praticamente sempre white-box).

Alcuni problemi di sicurezza comuni che abbiamo riscontrato:

  • Le app non eseguono correttamente la convalida TLS (ad esempio, consentendo certificati autofirmati o anche certificati non validi arbitrari).
  • App con punti di ingresso vulnerabili (associazioni di file, schemi URI, contratti di condivisione o altri modi per richiamarli a livello di codice e quindi fare in modo che facciano qualcosa che non dovrebbero).
  • App che utilizzavano librerie o SDK obsoleti con vulnerabilità note.
  • App che utilizzavano le visualizzazioni web con bridge JavaScript non sicuri.
  • Applicazioni che a volte utilizzavano HTTP anziché HTTPS.
  • App che utilizzano le visualizzazioni Web ma non bloccano i percorsi o l'esecuzione di JS e sono vulnerabili alle vulnerabilità delle applicazioni web e / o al phishing.
  • App che memorizzano segreti (credenziali, token, dati privati, ecc.) in testo semplice e / o in posizioni leggibili.
  • App che archiviano chiavi o altri segreti (ad esempio, una chiave API per un servizio Web) nei loro binari, come se un utente malintenzionato non potesse eseguire il reverse engineering dell'app per trovarla.
  • App che utilizzavano codice nativo in modo non sicuro e presentavano bug di danneggiamento della memoria.
  • App che utilizzavano la crittografia in modo errato e quindi non sicuro.

Ce ne sono molte altre che possono emergere, anche se sono alcune delle più comuni e / o gravi. Le app mobili sono sicuramente in grado di avere problemi di sicurezza e dovrebbero essere sottoposte a revisioni di sicurezza, inclusi test di penetrazione.

    
risposta data 17.09.2018 - 00:32
fonte
0

Oltre ai test di penetrazione menzionati sopra, potresti avere una terza parte che esegue una revisione sicura del codice o che entrambi hanno eseguito la stessa organizzazione. Se disponi di strumenti di analisi statica, potresti fornire i risultati e un elenco di vulnerabilità che lo strumento verifica.

Nel mio ruolo di solito tendo le applicazioni a parte e trovo il codice che può essere sfruttato in determinate circostanze a causa di decisioni di progettazione.

    
risposta data 17.09.2018 - 04:34
fonte

Leggi altre domande sui tag