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:
- Princípios Arquiteturais da OWASP que Previnem Modificação de Código ou Engenharia Reversa
- Riscos Técnicos da OWASP de Engenharia Reversa e Modificação Não Autorizada de Código
Knowledge Articles¶
| ID | Name | Platform |
|---|---|---|
| MASTG-KNOW-0031 | Detecção de Emuladores | |
| MASTG-KNOW-0034 | Vinculação de Dispositivo | |
| MASTG-KNOW-0030 | Detecção de Ferramentas de Reverse Engineering | |
| MASTG-KNOW-0035 | API de Integridade do Google Play | |
| MASTG-KNOW-0028 | Anti-Debugging | |
| MASTG-KNOW-0027 | Detecção de Root | |
| MASTG-KNOW-0033 | Ofuscação | |
| MASTG-KNOW-0032 | Verificação de Integridade em Runtime | |
| MASTG-KNOW-0029 | Verificações de Integridade de Arquivos |