Pentest em aplicações Android e iOS

Os testes em aplicações móveis visam avaliar a segurança da aplicação no dispositivo, das comunicações com o backend (APIs) e dos controles de negócio que regem o funcionamento real do app.

O objetivo é identificar vetores que permitam a um atacante comprometer dados sensíveis, manipular fluxos de autorização, burlar controles de integridade e confidencialidade, ou obter acesso indevido a recursos do usuário e do servidor. Esses testes consideram o ecossistema completo: binário da aplicação, runtime no dispositivo (emulador vs. hardware), armazenamento local, comunicações de rede e as APIs que suportam a lógica de negócio.

Testes na aplicação (client-side)

Nos testes em aplicações móveis, avalia-se se o app pode ser enganado em dispositivos alterados (root/jailbreak), se as proteções de conexão permitem ou não escutar a comunicação com o servidor, se dados sensíveis são armazenados de forma segura no celular e se é possível forçar acessos ou funções indevidas. Além disso, todo o processo é guiado por boas práticas reconhecidas internacionalmente, como as recomendações do OWASP para aplicativos móveis.

Segue alguns focos típicos nesta fase de teste:

  • Avaliação de detecção e bypass de root/jailbreak, emuladores e mecanismos anti-debug/anti-tamper.
  • Testes de quebra de TLS pinning e mTLS para verificar se é possível interceptar comunicações entre app e backend.
  • Verificação de armazenamento seguro (Keychain/Keystore, logs, arquivos locais) e proteção de credenciais/segredos.
  • Checagem de autenticação e autorização client-side, prevenindo manipulação local de privilégios.
  • Mapeamento de achados com base no OWASP Mobile Testing Guide e OWASP Mobile Top 10.
tincidunt
tincidunt

Testes na API (server-side / business logic)

Nos testes voltados para a API, o foco é verificar se as regras de funcionamento do sistema — como autenticação, autorização e controle de transações — estão bem protegidas. Isso é importante porque, mesmo que o aplicativo em si esteja seguro, uma falha na API pode permitir acesso a informações de outros usuários, movimentações não autorizadas ou manipulação de dados sensíveis.

Segue alguns focos típicos nesta fase de teste:

  • Verificação de acesso indevido a dados de outros usuários.
  • Testes em transações críticas (ex.: transferências ou alterações de cadastro).
  • Checagem de falhas em autenticação e controle de permissões.
  • Avaliação de exposição desnecessária de informações pela API.