bugsDetecção de Debugger / Java Debugger

A depuração por meio de Debuggers, como o Java Debugger JDB, é uma funcionalidade legítima utilizada por desenvolvedores para análise e correção de erros (bugs) em aplicações Java.

No entanto, quando empregada de forma maliciosa, essa técnica pode ser explorada para interromper a execução da aplicação, inspecionar o conteúdo da memória em tempo real, acessar variáveis sensíveis como senhas, chaves criptográficas e tokens, além de permitir a alteração do fluxo de execução passo a passo. Esse tipo de análise dinâmica facilita ataques de engenharia reversa, bypass de validações de segurança e manipulação de lógicas críticas do aplicativo.

Mecanismo Técnico: O MAD monitora continuamente a aplicação em tempo de execução para identificar a presença de mecanismos de depuração ativos no dispositivo ou acoplados ao processo da aplicação. Isso inclui a verificação de flags de depuração, estados de conexão com depuradores, chamadas suspeitas a APIs de debugging e alterações anômalas no controle de execução das threads.

Ao detectar a incorporação ou uso de um debugger, o RASP classifica o ambiente como comprometido e aciona automaticamente a política de resposta configurada. Dependendo do nível de severidade definido, o MAD pode realizar o crash controlado da aplicação, interrompendo imediatamente a execução para preservar a confidencialidade e a integridade dos dados. Esse crash pode ser seguido da exibição de uma mensagem genérica ao usuário final, informando sobre um problema de segurança ou de integridade do ambiente, sem expor detalhes técnicos que possam auxiliar atacantes, como por exemplo: “Identificamos um problema de segurança no ambiente do dispositivo e, por isso, a aplicação foi encerrada.”

<antiDebugging> 
    <enabled>true</enabled> 
</antiDebugging>

Atualizado