Com o aumento da utilização dos dispositivos mobile, a demanda por aplicativos para eles também cresceu. Então, a concorrência nessa área está aumentando também e o fator que definirá o sucesso ou o fracasso de um aplicativo mobile é a sua qualidade, aqui entra a segurança em aplicativos mobile.
Para atingir um nível alto de qualidade nesse ramo, é preciso ter certeza de que seu aplicativo mobile é funcional e seguro. Para isso, gerentes de TI desenvolveram processos de desenvolvimento de software para garantirem essa qualidade, e, dentre os processos, a execução de testes é de extrema importância.
Neste artigo, vamos apresentar os guidelines para testes de segurança em aplicativos mobile. Acompanhe:
Desafios da segurança em aplicativos mobile
Para ser possível pensar em casos de testes para os aplicativos mobile, é necessário refletir antes a respeito do comportamento tanto dos dispositivos quanto dos aplicativos. Identificar as diferenças para os testes comuns de invasão e observar as características específicas, como as vulnerabilidades provenientes dos dispositivos ou os diferentes tipos de ataques, como através da internet, por meio de outros aplicativos, etc.
Esses desafios acabam por gerar algumas dicas ou guias de como devemos construir os testes de segurança.
Análise de inteligência
Em um primeiro momento, é imprescindível que você obtenha o máximo possível de informações a respeito do aplicativo. Para isso, existem dois tipos de análises: a Análise de Ambiente e a Análise da Arquitetura.
Análise de ambiente
Essa análise foca em estudar a empresa por trás do desenvolvimento do aplicativo e suas parceiras, analisando os processos e estruturas internos.
Análise de arquitetura
Nessa análise, deve-se estudar a estrutura do aplicativo mobile, como as interfaces de rede, os dados usados, o gerenciamento de sessão e a comunicação com outros recursos; o ambiente de execução do aplicativo, como a versão do sistema operacional; e os serviços backend, como as bases de dados, servidor e firewall.
Modelagem de ameaças
Baseado nas informações coletadas na etapa anterior, é possível imaginar como a segurança do aplicativo pode ser ameaçada. Feito isso, deve-se modelar casos de teste para verificar se existe realmente uma “brecha” para as ameaças identificadas, calcular os riscos causados por elas e desenvolver contramedidas eficientes para evitar, por exemplo, prejuízos causados por invasões.
Análise das vulnerabilidades
Baseado nos casos criados na última etapa, execute uma rotina de testes para verificar a segurança do aplicativo mobile. Essa rotina deve seguir técnicas de 3 diferentes categorias: Métodos Estáticos, Métodos Dinâmicos e Métodos Forenses.
Métodos estáticos
Baseiam-se em técnicas de análise de vulnerabilidade por meio de engenharia reversa e verificação manual ou automática do código-fonte.
Métodos dinâmicos
Consistem em técnicas de análise de vulnerabilidade em 3 monitoramentos:
- Monitoramento de rede: avalia o tráfego da rede em diferentes pontos, como no gateway do dispositivo, e verifica manipulação da rede ativa, como Wi-Fi ou 3G.
- Monitoramento da Execução: avalia as comunicações entre os processos internos do aplicativo mobile, como as Intents no Android, e verifica a manipulação de suas funções. Além disso, monitora as mudanças que ocorrem com os arquivos durante a execução do aplicativo.
Métodos forenses
Baseiam-se em técnicas de avaliação das informações armazenadas durante a execução do aplicativo, como as credenciais salvas ou os arquivos que são modificados.
Ainda tem dúvidas sobre os testes de segurança em aplicativos mobile? Para receber outras dicas como essas, assine nossa newsletter e fique por dentro!