12 suggerimenti per proteggere la tua applicazione mobile PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

12 suggerimenti per proteggere la tua applicazione mobile

Gli attacchi informatici e il furto di dati sono diventati così comuni in questi giorni, soprattutto quando si tratta di applicazioni mobili. Di conseguenza, le app mobili che subiscono violazioni della sicurezza potrebbero subire perdite finanziarie. Con molti hacker che cercano di rubare i dati dei clienti, la protezione di queste applicazioni è diventata la priorità numero uno per le organizzazioni e una seria sfida per gli sviluppatori. Secondo una recente ricerca di Gartner, Hype Cycle per la sicurezza delle applicazioni, l'investimento nella sicurezza delle applicazioni aumenterà di oltre il doppio nei prossimi anni, da 6 miliardi di dollari quest'anno a 13.7 miliardi di dollari entro il 2026. Inoltre, il rapporto afferma: "La sicurezza delle applicazioni è ora al primo posto per gli sviluppatori e la sicurezza professionisti e ora l'enfasi è rivolta alle app ospitate nei cloud pubblici", è fondamentale che i componenti fondamentali della sicurezza DevOps siano corretti. Ecco i 12 suggerimenti per proteggere la tua applicazione mobile: 

1. Installa app da fonti attendibili:

È normale che le applicazioni Android vengano ripubblicate su mercati alternativi o che i relativi APK e IPA siano resi disponibili per il download. Sia l'APK che l'IPA possono essere scaricati e installati da una varietà di luoghi, inclusi siti Web, servizi cloud, unità, social media e social network. Solo il Play Store e l'App Store dovrebbero essere autorizzati a installare file APK e IPA affidabili. Per impedire l'utilizzo di queste app, dovremmo avere un rilevamento del controllo della fonte (Play Store o App Store) all'avvio dell'app.

Leggi anche, https://andresand.medium.com/add-method-to-check-which-app-store-the-android-app-is-installed-from-or-if-its-sideloaded-c9f450a3d069

2. Rilevamento della radice:

Android: un utente malintenzionato può avviare un'applicazione mobile su un dispositivo rooted e accedere alla memoria locale o chiamare attività o intenti specifici per eseguire attività dannose nell'applicazione. 

iOS: le applicazioni su un dispositivo jailbroken vengono eseguite come root al di fuori della sandbox iOS. Ciò può consentire alle applicazioni di accedere a dati sensibili archiviati in altre app o installare software dannoso che nega la funzionalità di sandboxing. 

Ulteriori informazioni sul rilevamento delle radici- https://owasp.org/www-project-mobile-top-10/2016-risks/m8-code-tampering

3. Memorizzazione dei dati:

Gli sviluppatori utilizzano le preferenze condivise e i valori predefiniti dell'utente per archiviare coppie chiave-valore come token, numeri di cellulare, e-mail, valori booleani, ecc. Inoltre, durante la creazione di app, gli sviluppatori preferiscono i database SQLite per i dati strutturati. Si consiglia di archiviare tutti i dati in formato crittografato in modo che sia difficile estrarre le informazioni da parte degli hacker.

4. Chiavi segrete sicure:

Le chiavi API, le password e i token non devono essere codificati nel codice. Si consiglia di utilizzare tecniche diverse per memorizzare questi valori in modo che gli hacker non possano scappare rapidamente manomettendo l'applicazione. 

Ecco un link di riferimento: https://guides.codepath.com/android/Storing-Secret-Keys-in-Android

5. Offuscamento del codice

Un utente malintenzionato può decompilare il file APK ed estrarre il codice sorgente dell'applicazione. Ciò può esporre all'autore dell'attacco le informazioni riservate memorizzate nel codice sorgente dell'applicazione che possono essere utilizzate per eseguire attacchi personalizzati. 

È meglio offuscare il codice sorgente per impedire tutte le informazioni sensibili contenute nel codice sorgente.

6. Comunicazione sicura:

Un utente malintenzionato può eseguire attività dannose per sfruttare il livello degli attacchi poiché tutte le comunicazioni avvengono su canali non crittografati. Quindi usa sempre URL HTTPS su URL HTTP.

7. Bloccaggio SSL:

Il blocco del certificato consente alle applicazioni mobili di limitare la comunicazione solo ai server con un certificato valido corrispondente al valore previsto (pin). Il blocco lo assicura nessun dato di rete viene compromesso anche se un utente viene indotto con l'inganno a installare un certificato radice dannoso sul proprio dispositivo mobile. Qualsiasi app che applichi i propri certificati vanificherebbe tali tentativi di phishing rifiutandosi di trasmettere dati su una connessione compromessa

Per favore, riferisci: 

https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning

8. Proteggi i dati di richiesta e risposta dell'API

La pratica standard consiste nell'utilizzare HTTPS per la protezione di base delle chiamate API REST. Le informazioni inviate al server o ricevute dal server possono essere ulteriormente crittografate con AES, ecc. Ad esempio, se sono presenti contenuti sensibili, potresti scegliere di selezionare quelli da crittografare in modo che, anche se HTTPS è in qualche modo rotto o configurato in modo errato, avere un altro livello di protezione dalla tua crittografia.

9. Autenticazione sicura dell'app mobile:

Nel caso in cui un'applicazione non assegni token di sessione distinti e complessi dopo l'accesso a un utente, un utente malintenzionato può condurre attività di phishing per indurre la vittima a utilizzare un token generato dall'utente fornito dall'attaccante e bypassare facilmente la pagina di accesso con la sessione acquisita utilizzando un attacco MiTM.

i) Assegnare un token di sessione distinto e complesso a un utente ogni volta che accede correttamente all'applicazione. 

ii) Terminare la durata della sessione immediatamente dopo il logout. 

iii) Non utilizzare lo stesso token di sessione per due o più indirizzi IP. 

iv) Limitare il tempo di scadenza per ogni token di sessione.

10. Consenti backup 

Non consentire agli utenti di eseguire il backup di un'app se contiene dati sensibili. Avendo accesso ai file di backup (cioè quando android:allowBackup="true"), è possibile modificare/leggere il contenuto di un'app anche su un dispositivo non rootato. Quindi si consiglia di fare in modo che il backup sia falso. 

11. Limita l'accesso alle schermate delle applicazioni Android da altre app

Idealmente, le tue attività non dovrebbero prevedere l'apertura di altri servizi o applicazioni. Rendilo vero solo quando hai un requisito specifico per accedere alle tue schermate svolazzanti da altre app altrimenti cambia androide:export= ”falso”

12. Limita l'installazione di pacchetti dall'applicazione Android

RICHIEDI_PACCHETTI_INSTALLAZIONE l'autorizzazione consente alle app di installare nuovi pacchetti sul dispositivo di un utente. Ci impegniamo a prevenire gli abusi sulla piattaforma Android e a proteggere gli utenti dalle app che si aggiornano automaticamente utilizzando qualsiasi metodo diverso dal meccanismo di aggiornamento di Google Play o scaricano APK dannosi.

Conclusione: 

Le app mobili sono diventate più personalizzate che mai con un sacco di dati personali dei clienti archiviati ogni giorno. Al fine di creare fiducia e lealtà tra gli utenti e prevenire perdite finanziarie e di credenziali significative per le aziende, è ora fondamentale assicurarsi che l'applicazione sia sicura per l'utente. Seguire gli elenchi di controllo di sicurezza delle app mobili sopra menzionati aiuterà sicuramente a impedire agli hacker di hackerare l'app.

Circa l'autore:

Raviteja Aketi è Senior Software Engineer presso Mantra Labs. Ha una vasta esperienza con progetti B2B. Raviteja ama esplorare nuove tecnologie, guardare film e trascorrere del tempo con la famiglia e gli amici.

Leggi il nostro ultimo blog: Implementazione di un'architettura pulita con Nest.JS

Conoscenza che vale la pena consegnare nella tua casella di posta

Timestamp:

Di più da Laboratori di mantra