12 pontos por GN⁺ 2023-08-19 | 1 comentários | Compartilhar no WhatsApp
  • Aplicações web geralmente expiram sessões após um período fixo de tempo ou de inatividade do usuário, e a orientação de segurança atual sugere tempos curtos de expiração de sessão
  • No entanto, muitas aplicações web populares, como Gmail e GitHub, não seguem essa prática, o que levanta dúvidas sobre se tempos curtos de expiração de sessão realmente são eficazes para reforçar a segurança
  • O modelo de ameaça considerado inclui atacantes que obtêm acesso não autorizado à sessão ativa do usuário de várias formas, como roubar cookies de sessão, explorar vulnerabilidades de fixação de sessão ou usar o mesmo dispositivo da vítima
  • Ao discutir cenários em que tempos curtos de expiração de sessão poderiam ser benéficos, costuma-se citar casos como o de atacantes que encontram tokens de sessão antigos em logs ou em computadores roubados, mas isso é um argumento para expiração de sessão em geral, e não necessariamente para expiração curta
  • O problema de computadores públicos compartilhados não é realista para a maioria das aplicações web, e um atacante com acesso a um dispositivo desbloqueado pode contornar isso criando uma nova sessão, sem precisar de uma sessão ativa
  • Em outras palavras, sessões curtas podem ter desvantagens tanto para a experiência do usuário quanto para a segurança, e exigir reautenticação frequente pode levar os usuários a adotar práticas menos seguras
  • A conclusão é que tokens de sessão geralmente são seguros, e que ataques que podem ser impedidos por tempos curtos de expiração de sessão são raros. Outras medidas, como criptografia de disco e bloqueio do computador, podem oferecer uma segurança mais eficaz
  • Grandes empresas como Facebook, Google, Amazon e GitHub mantêm sessões que não expiram, o que sugere que consideram esse risco aceitável

1 comentários

 
GN⁺ 2023-08-19
Comentários do Hacker News
  • Em apps bancários e financeiros, sessões curtas são comuns e podem ser justificáveis por causa de uma base de usuários ampla, da atratividade para atacantes oportunistas e do uso em situações de estresse ou fora do normal.
  • Quando não há um backchannel confiável e o provedor de identidade não consegue informar ao serviço que a sessão expirou, sessões curtas costumam ser usadas para contornar padrões de autenticação insuficientes.
  • A ameaça do uso de aplicativos em dispositivos compartilhados é real e, especialmente em ambientes em que o aparelho é compartilhado, como entre familiares, a expiração da sessão deveria ser específica por aplicativo.
  • Alguns usuários defendem que sessões curtas são usadas como medida de segurança às custas da usabilidade, citando como exemplo sistemas de autoatendimento para pagamento.
  • Computadores compartilhados sem separação de usuários existem na prática e muitas vezes são usados para acessar aplicações web com informações sensíveis.
  • O artigo é criticado por fazer suposições sem fundamento e por descartar sessões curtas como controle de segurança com base em cenários imaginários de usuários finais.
  • Alguns usuários afirmam que a decisão do Google de não usar sessões curtas pode vir mais do desejo de coletar mais dados dos usuários para publicidade do que de preocupações com segurança.
  • Sessões curtas podem ser hostis ao usuário e inconvenientes, especialmente quando interrompem o fluxo de trabalho e exigem reautenticação sem aviso.
  • Alguns usuários preferem limites de sessão mais longos e argumentam que limites curtos são ineficazes e servem apenas para satisfazer testes de checklist feitos por auditores e pentesters.
  • Há diferença entre limites de sessão soft, que são renovados com base na atividade do usuário, e limites de sessão hard, que encerram a sessão após um período fixo independentemente da atividade do usuário.