Nesta etapa, o objetivo é validar se os controles de segurança implementados estão funcionando como esperado. Vamos aplicar diferentes tipos de testes, focando tanto no código quanto no comportamento do sistema em execução.
Ferramentas e estratégias de testes utilizados:
DAST (Dynamic Application Security Testing):
Simula ataques reais enquanto a aplicação está rodando (por exemplo, injeção de SQL ou XSS).
Identifica vulnerabilidades que não são visíveis somente no código, como falhas na autenticação, permissões ou exposições de dados.
Exemplo:
Durante um teste DAST, é feita uma tentativa de acesso ao histórico escolar de outra aluna alterando o parâmetro alunaId na URL.
GET /alunas/123/historico
Mesmo autenticada como aluna 456, a requisição retorna os dados da aluna 123, isso indica uma falha grave de controle de acesso, detectada somente em tempo de execução, pois o endpoint não validou corretamente o ID do token JWT.
Code Review com foco em segurança:
Revisão manual ou assistida (com ferramentas como Horusec) para detectar más práticas de codificação, como uso de funções inseguras, falta de validações, exposição de dados sensíveis.
Fundamental para identificar lógicas de negócio inseguras que passam despercebidas em testes automatizados.
Exemplo:
Ao revisar o código, encontra-se um trecho onde a professora pode editar dados pessoais da aluna, mesmo sendo algo que ela não deveria ter permissão:
if (usuario.role === 'professora') {
atualizarDadosPessoais(alunaId, novosDados);
}
O code review ajuda a identificar essa lógica insegura de negócio, que permite a edição de dados sensíveis por quem não tem essa permissão.
Top comments (0)