12 dicas para proteger seu aplicativo móvel PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

12 dicas para proteger seu aplicativo móvel

Ataques cibernéticos e roubo de dados tornaram-se tão comuns nos dias de hoje, especialmente quando se trata de aplicativos móveis. Como resultado, os aplicativos móveis que sofrem violações de segurança podem sofrer perdas financeiras. Com muitos hackers querendo roubar dados de clientes, proteger esses aplicativos se tornou a prioridade número um para as organizações e um sério desafio para os desenvolvedores. De acordo com uma pesquisa recente do Gartner, Ciclo de hype para segurança de aplicativos, o investimento em segurança de aplicativos aumentará mais de duas vezes nos próximos anos, de US$ 6 bilhões este ano para US$ 13.7 bilhões até 2026. Além disso, o relatório afirmou: profissionais, e a ênfase agora está se voltando para aplicativos hospedados em nuvens públicas”, é crucial que os componentes fundamentais da segurança do DevOps estejam corretos. Aqui estão as 12 dicas para proteger seu aplicativo móvel: 

1. Instale aplicativos de fontes confiáveis:

É comum ter aplicativos Android republicados em mercados alternativos ou seus APKs e IPAs disponibilizados para download. Tanto o APK quanto o IPA podem ser baixados e instalados de vários lugares, incluindo sites, serviços em nuvem, drives, mídias sociais e redes sociais. Apenas a Play Store e a App Store devem ter permissão para instalar arquivos APK e IPA confiáveis. Para evitar o uso desses aplicativos, devemos ter uma detecção de verificação de origem (Play Store ou App Store) no início do aplicativo.

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

2. Detecção de raiz:

Android: um invasor pode iniciar um aplicativo móvel em um dispositivo com root e acessar a memória local ou chamar atividades ou intenções específicas para realizar atividades maliciosas no aplicativo. 

iOS: os aplicativos em um dispositivo desbloqueado são executados como root fora da sandbox do iOS. Isso pode permitir que os aplicativos acessem dados confidenciais armazenados em outros aplicativos ou instalem software malicioso negando a funcionalidade de sandboxing. 

Mais sobre Detecção de Raiz- https://owasp.org/www-project-mobile-top-10/2016-risks/m8-code-tampering

3. Armazenamento de dados:

Os desenvolvedores usam Preferências Compartilhadas e Padrões do Usuário para armazenar pares de valores-chave como tokens, números de celular, e-mail, valores booleanos etc. Além disso, ao criar aplicativos, os desenvolvedores preferem bancos de dados SQLite para dados estruturados. Recomenda-se armazenar quaisquer dados no formato de criptografia para que seja difícil extrair as informações por hackers.

4. Chaves secretas seguras:

Chaves de API, senhas e tokens não devem ser codificados no código. Recomenda-se usar diferentes técnicas para armazenar esses valores para que os hackers não possam escapar rapidamente adulterando o aplicativo. 

Segue um link de referência: https://guides.codepath.com/android/Storing-Secret-Keys-in-Android

5. Ofuscação de código

Um invasor pode descompilar o arquivo APK e extrair o código-fonte do aplicativo. Isso pode expor informações confidenciais armazenadas no código-fonte do aplicativo ao invasor, que podem ser usadas para realizar ataques personalizados. 

É melhor ofuscar o código-fonte para evitar todas as informações confidenciais contidas no código-fonte.

6. Comunicação Segura:

Um invasor pode realizar atividades maliciosas para alavancar o nível de ataques, pois toda a comunicação está acontecendo em canais não criptografados. Portanto, sempre use URLs HTTPS em vez de URLs HTTP.

7. Fixação SSL:

A fixação de certificados permite que os aplicativos móveis restrinjam a comunicação apenas a servidores com um certificado válido que corresponda ao valor esperado (pin). A fixação garante que nenhum dado de rede é comprometido, mesmo que um usuário seja induzido a instalar um certificado raiz malicioso em seu dispositivo móvel. Qualquer aplicativo que fixe seus certificados impediria essas tentativas de phishing, recusando-se a transmitir dados por uma conexão comprometida

Por favor, consulte: 

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

8. Dados de solicitação e resposta de API seguros

A prática padrão é usar HTTPS para a proteção de linha de base das chamadas da API REST. As informações enviadas ao servidor ou recebidas do servidor podem ser criptografadas ainda mais com AES, etc. Por exemplo, se houver conteúdos confidenciais, você pode optar por selecionar aqueles a serem criptografados para que, mesmo que o HTTPS esteja de alguma forma quebrado ou configurado incorretamente, você tenha outra camada de proteção contra sua criptografia.

9. Autenticação segura do aplicativo móvel:

Caso um aplicativo não atribua tokens de sessão distintos e complexos após o login de um usuário, um invasor pode realizar phishing para atrair a vítima a usar um token gerado personalizado fornecido pelo invasor e ignorar facilmente a página de login com a sessão capturada usando um ataque MiTM.

i) Atribua um token de sessão distinto e complexo a um usuário sempre que ele efetuar logon com sucesso no aplicativo. 

ii) Encerre a vida útil da sessão imediatamente após o logout. 

iii) Não use o mesmo token de sessão para dois ou mais endereços IP. 

iv) Limite o tempo de expiração para cada token de sessão.

10. Permitir Backup 

Não permita que os usuários façam backup de um aplicativo se ele contiver dados confidenciais. Tendo acesso a arquivos de backup (ou seja, quando android:allowBackup=”true”), é possível modificar/ler o conteúdo de um aplicativo mesmo em um dispositivo sem root. Portanto, é recomendável tornar o backup falso. 

11. Restringir o acesso a telas de aplicativos Android de outros aplicativos

Idealmente, suas atividades não devem prever a abertura de outros serviços ou aplicativos. Torne-o verdadeiro apenas quando você tiver um requisito específico para acessar suas telas de vibração de outros aplicativos, caso contrário, mude para andróide:exportado= ”falso”

12. Restrinja a instalação de pacotes do aplicativo Android

REQUEST_INSTALL_PACKAGES permissão permite que os aplicativos instalar novos pacotes no dispositivo de um usuário. Temos o compromisso de evitar abusos na plataforma Android e proteger os usuários de aplicativos que se atualizam automaticamente usando qualquer método que não seja o mecanismo de atualização do Google Play ou baixam APKs prejudiciais.

Conclusão: 

Os aplicativos móveis tornaram-se mais personalizados do que nunca, com montes de dados pessoais dos clientes armazenados neles todos os dias. Para construir confiança e lealdade entre os usuários e evitar perdas financeiras e de credenciais significativas para as empresas, agora é crucial garantir que o aplicativo seja seguro para o usuário. Seguir as listas de verificação de segurança de aplicativos móveis mencionadas acima definitivamente ajudará a impedir que hackers invadam o aplicativo.

Sobre o autor:

Raviteja Aketi é engenheiro de software sênior no Mantra Labs. Possui vasta experiência em projetos B2B. Raviteja adora explorar novas tecnologias, assistir filmes e passar tempo com a família e amigos.

Leia nosso último blog: Implementando uma arquitetura limpa com Nest.JS

Conhecimento que vale a pena ser entregue em sua caixa de entrada

Carimbo de hora:

Mais de Laboratórios de mantras