Skip to content

MASWE-0067: Sinalizador Depurável Não Desativado

Content in BETA

This content is in beta and still under active development, so it is subject to change any time (e.g. structure, IDs, content, URLs, etc.).

Send Feedback

Visão Geral

Aplicativos móveis geralmente incluem uma flag de configuração que determina se o app é depurável. Embora essa flag seja essencial durante o desenvolvimento, deixá-la ativada em produção pode introduzir sérios riscos de segurança. Um app depurável permite que atacantes conectem depuradores, inspecionem a memória, manipulem o fluxo de execução e contornem controles do lado do cliente, mesmo em dispositivos não rooted ou não jailbroken. Também pode expor informações sensíveis por meio de logs verbosos ou ferramentas de desenvolvimento que, de outra forma, seriam inacessíveis.

Impacto

  • Ler e Modificar Memória: Atacantes podem ler e modificar o espaço de memória do app, o que pode levar à exposição de informações sensíveis, como chaves de criptografia, chaves de API, credenciais de usuário ou tokens que, de outra forma, seriam inacessíveis, já que não estão presentes no código do app ou armazenados em disco.
  • Contornar Controles de Segurança: Atacantes podem contornar controles de segurança, como mecanismos de autenticação e autorização, manipulando o fluxo de execução do app.
  • Executar Código Não Autorizado: Atacantes podem injetar e executar código arbitrário no contexto do app, levando a uma exploração adicional do dispositivo ou dos dados do app. Por exemplo, atacantes podem injetar ferramentas de engenharia reversa como Frida no app, mesmo em dispositivos não rooted ou não jailbroken.
  • Acesso a Logs Sensíveis: Atacantes podem acessar logs que podem conter informações sensíveis, como credenciais de usuário, chaves de API ou outros dados sensíveis que, de outra forma, seriam inacessíveis. Isso pode levar a uma exploração adicional do app ou do dispositivo.

Modo de Introdução

  • Configurações de Build Mal Configuradas: Configurações de build mal configuradas podem acidentalmente deixar um app em um estado depurável, expondo-o a vulnerabilidades de segurança. Isso pode resultar da seleção inadequada de variantes de build, erros em configurações de CI/CD ou da aplicação inadvertida de configurações de debug em ambientes de produção.

Mitigações

  • Garanta que a flag depurável no arquivo de configuração do app não esteja ativada para builds de produção. Por exemplo, usando variantes de build ou flavours para separar configurações de debug e release, assegure que a flag depurável esteja ativada apenas para builds de debug.

Tests

MASTG-TEST-0226: Flag Debuggable Habilitada no AndroidManifest MASTG-TEST-0227: Depuração Ativada para WebViews MASTG-TEST-0261: Debugable Entitlement habilitado no entitlements.plist