Sto lavorando per garantire la sicurezza del prodotto della mia azienda. Abbiamo una versione mobile del prodotto. Questa domanda riguarda la versione Android
Background: il nostro prodotto è un prodotto basato su SaaS e l'app è pensata per essere utilizzata da diversi venditori dell'organizzazione degli inquilini. Abbiamo implementato diversi livelli di controllo per garantire un ambiente sicuro (o più simile a un ambiente sicuro) per la nostra app -
- Controlliamo la presenza di root - (controllo a livello di sistema operativo)
- Implementato Blocco SSL: (controllo del livello del livello di trasporto)
- Memorizzazione dei segreti nella catena chiave Android
- Archiviazione locale dei dati minima. Crittografa i dati locali (che devono essere archiviati)
e l'elenco continua. In breve, dal dispositivo al livello di comunicazione al livello del server siamo in procinto di coprire ogni angolo.
Il problema è che abbiamo ricevuto un problema segnalato da uno dei ricercatori di sicurezza che dice che come la nostra app può essere scaricata dal Play Store di Android, quindi può essere eseguita su un emulatore e su un emulatore è possibile bypassare il rilevamento dei root. Quindi aggiunge un'enorme minaccia e dovrebbe essere risolta immediatamente.
Ho cercato, ma non riesco a trovare implicazioni sulla sicurezza che potrebbero essere possibili se l'app può essere installata sull'emulatore. Inoltre ho controllato se potevo doverlo riparare, quale potrebbe essere la possibile soluzione. Ci sono controlli come cercare se l'ambiente in esecuzione è un SDK, controllare se funzioni come la fotocamera o i sensori funzionano, ma tutti questi controlli possono essere bypassati anche nell'emulatore.
È un po 'critico per me perché se Accetto questo problema, il nostro cliente lo vedrà nel rapporto e insisterà per farlo riparare. Rimango in bianco per le implicazioni che dovrei spiegare alla direzione e agli sviluppatori (se accetto) e correggere (che potrebbe essere richiesto in seguito)
Aggiornamento -
- Desidero chiarire una cosa che non sosteniamo mai il rilevamento dei root o altri controlli di sicurezza lato client come punto di forza della nostra app perché riteniamo che tutta la protezione lato client possa essere aggirata in un punto o nell'altro
- Continuiamo a cercare di costruire un'architettura più sicura a livello di server. Ma dal momento che anche il lato client fa parte dell'ecosistema, non possiamo lasciarlo incustodito.
- Cerchiamo persino di implementare i controlli a livello di comunicazione (diverso da TLS) per garantire che semplicemente toccando non si possa ottenere tutto
L'idea è che se non possiamo controllare alcune cose possiamo almeno renderlo difficile per i malintenzionati. Il nostro obiettivo principale è proteggere i dati dei nostri utenti e i controlli sono in atto e in corso.
Aggiornamento anche da Pentester - Dopo aver discusso con lui, ha affermato di non comprendere i requisiti di sicurezza dell'applicazione. Secondo lui tutte le app dovrebbero avere il rilevamento dei root. Gli abbiamo spiegato che queste cose sono secondarie per noi, ma se i dati specifici del cliente sono in bella vista o possono essere compromessi a causa di una configurazione errata nell'app o di qualsiasi vulnerabilità nell'app (come i segreti hardcoded), allora è primario.
Sulla base dei suggerimenti forniti, ragazzi, sono stato in grado di chiarire questa distinzione e di aiutarvi a risolvere il problema. In precedenza era tutto rumore a causa di questo problema. Grazie a tutti