Skip to content

Defesas Anti-Reversing do Android

Visão Geral

Aviso Geral:

A ausência de qualquer uma dessas medidas não causa uma vulnerabilidade - em vez disso, elas visam aumentar a resiliência do aplicativo contra engenharia reversa e ataques específicos do lado do cliente.

Nenhuma dessas medidas pode garantir 100% de eficácia, pois o engenheiro reverso sempre terá acesso total ao dispositivo e, portanto, sempre vencerá (dado tempo e recursos suficientes)!

Por exemplo, impedir a depuração é virtualmente impossível. Se o aplicativo estiver publicamente disponível, ele pode ser executado em um dispositivo não confiável que está sob controle total do atacante. Um atacante muito determinado eventualmente conseguirá contornar todos os controles anti-debugging do aplicativo por meio de patching no binário do aplicativo ou modificando dinamicamente o comportamento do aplicativo em tempo de execução com ferramentas como Frida.

Você pode aprender mais sobre os princípios e riscos técnicos de engenharia reversa e modificação de código nestes documentos da OWASP:

Knowledge Articles

ID Name Platform
MASTG-KNOW-0031 Detecção de Emuladores platform:android
MASTG-KNOW-0034 Vinculação de Dispositivo platform:android
MASTG-KNOW-0030 Detecção de Ferramentas de Reverse Engineering platform:android
MASTG-KNOW-0035 API de Integridade do Google Play platform:android
MASTG-KNOW-0028 Anti-Debugging platform:android
MASTG-KNOW-0027 Detecção de Root platform:android
MASTG-KNOW-0033 Ofuscação platform:android
MASTG-KNOW-0032 Verificação de Integridade em Runtime platform:android
MASTG-KNOW-0029 Verificações de Integridade de Arquivos platform:android