Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Criando Sistemas de Autenticação Seguros

Criando Sistemas de Autenticação Seguros

Palestra apresentada na Cryptorave 2017

Dann Luciano

May 06, 2017
Tweet

More Decks by Dann Luciano

Other Decks in Technology

Transcript

  1. 2

  2. 4

  3. 18

  4. Senhas • Tamanho da Senha • Complexidade da Senha •

    Armazenamento de Senhas • Recuperação de Senhas • Envio de Senhas 25
  5. Tamanho da Senha • Um tamanho Mínimo deve ser forçado

    pela aplicação • Senhas < 10 caracteres são consideradas fracas • Um tamanho Maximo não deve ser muito pequeno • 128 caracteres está de bom tamanho
  6. Complexidade da Senha • Pelo menos 1 letra Maiúscula (A-Z)

    • Pelo menos 1 letra Minúscula (a-z) • Pelo menos 1 Digito (0-9) • Pelo menos 1 caracter Special (!@#$%ˆ&*_- ‘“…)
  7. Complexidade da Senha • Certifique-se que cada caractere digitado seja

    incluido na senha • Informe para o seu Usuário a importância de um "Boa Senha”
  8. Armazenamento de Senhas • Use SALTs • Gere salts únicos

    para cada senha criada • Não apenas por usuário ou sistema • Use dados aleatórios seguros
  9. Recuperação de Senhas • Obtenha dados de Identidade • e-mail,

    celular, perguntas de segurança, códigos secretos • Envie um Token em outro canal de comunicação • Permita que o usuário mude a senha em uma sessão ja existente • Pedindo os dados da senha antiga e da nova
  10. Envio de Senhas • As telas de autenticação devem transportar

    os dados através de TLS • HTTPS = HTTP + SSL/TLS • Navegadores Modernos vão “obrigar” que formulários com senhas usem HTTPS
  11. Outros Dados • ID (UUID) • Nome • CPF •

    IP • Ultimo Login • Cartão de Crédito
  12. Mensagens de Erro • Exemplos Incorretos de Mensagens de Erro

    • “Login para Usuario smith: senha invalida” • “Login falhou, usuario invalido” • “Login falhou; conta desativada” • “Login falhou; esse usuário não estar ativo”
  13. Mensagens de Erro • Exemplo Correto de Mensagem de Erro

    • “Login falhou; Usuario ou Senha Invalidos”
  14. Ataques de Força Bruta • Crie bloqueios de acesso curtos

    (20 min) • quando sucessivas falhas de autenticação ocorrerem
  15. Monitoração • Falhas devem ser logadas e revisadas: • Falhas

    de Senha • Contas Bloqueadas • Recuperação de Senhas
  16. Autenticação em Duas Etapas • Evite usar SMS • Prefira

    usar Time-based One-Time Password (TOTP)
  17. OWASP • OWASP Authentication Cheat Sheet • OWASP Forgot Password

    Cheat Sheet • OWASP Password Storage Cheat Sheet • OWASP Session Management Cheat Sheet 63