1
resposta

Tentativa de não vazar que a conta existe gerou problema de segurança

A abordagem usada para não vazar que a conta já existe acabou gerando um problema maior: o invasor fica tentando senhas erradas e recebe uma mesma mensagem. Mas quando ele acertar a senha, mesmo com a conta bloqueada, ele vai saber que acertou! Aí é só esperar 5 minutos e se logar.

1 resposta

Olá, Adriano.

Obrigado pela contribuição. Sua observação faz muito sentido.

Com nossa implementação, o invasor ainda não pode listar os email cadastrados em nosso sistema. Para conseguir isto, será necessário descobrir email e senha - um obstáculo consideravelmente complexo.

A prevenção contra a listagem de emails continua válida. Mas, existem abordagens mais seguras neste cenário:

  • Enviar um email ao usuário informando o lockout e somente através do email desfazer o lockout;
  • Guardar os IPs das máquinas que tentam consecutivos signins sem sucesso e bloquear;
  • Guardar os IPs das máquinas de nossos usuários e não permitir o login vindo de um IP desconhecido;
  • Habilitar autenticação de dois fatores (tema da parte 4);

Estas são algumas alternativas mais seguras, existem várias outras.

O desafio foi dar um feedback ao usuário genuíno que errou sua senha e durante o curso usamos esta abordagem para mostrar o uso do CheckPassword (as abordagens acima saem do escopo do curso).

Mas, como observado por você, existem abordagens mais seguras!