12 puntos por GN⁺ 2023-08-19 | 1 comentarios | Compartir por WhatsApp
  • Las aplicaciones web normalmente expiran las sesiones después de un tiempo fijo o tras un periodo de inactividad del usuario, y el consejo de seguridad actual sugiere tiempos de espera de sesión cortos (short session expiration)
  • Sin embargo, muchas aplicaciones web populares como Gmail o GitHub no siguen esta práctica, lo que plantea dudas sobre si los tiempos de espera de sesión cortos realmente son efectivos para reforzar la seguridad
  • El modelo de amenazas considerado incluye atacantes que obtienen acceso no autorizado a la sesión activa de un usuario de varias formas, como robar cookies de sesión, explotar vulnerabilidades de fijación de sesión o usar el mismo dispositivo que la víctima
  • Cuando se habla de escenarios en los que los tiempos de espera de sesión cortos podrían ser útiles, se suele poner como ejemplo el caso de un atacante que encuentra tokens de sesión antiguos en registros o en una computadora robada, pero este es un argumento a favor de la expiración de sesiones en general, no necesariamente de una expiración corta
  • El problema de las computadoras públicas compartidas en su mayoría no es realista para la mayoría de las aplicaciones web, y un atacante con acceso a un dispositivo desbloqueado puede eludirlo creando una nueva sesión sin necesidad de una sesión activa
  • En otras palabras, las sesiones cortas pueden tener desventajas tanto para la experiencia de usuario como para la seguridad, y pedir una reautenticación frecuente puede llevar a que los usuarios adopten prácticas menos seguras
  • La conclusión es que los tokens de sesión por lo general son seguros, y que los ataques que pueden prevenirse con tiempos de espera de sesión cortos son poco frecuentes. Otras medidas, como el cifrado de disco y el bloqueo de la computadora, pueden ofrecer una seguridad más efectiva
  • Grandes empresas como Facebook, Google, Amazon y GitHub tienen sesiones que no expiran, lo que sugiere que consideran aceptable este riesgo

1 comentarios

 
GN⁺ 2023-08-19
Opinión de Hacker News
  • En las apps bancarias y financieras, las expiraciones de sesión cortas son comunes, y pueden justificarse por la amplia base de usuarios, el atractivo para atacantes oportunistas y el hecho de que se usan en situaciones de estrés o anormales.
  • Cuando no existe un backchannel confiable y es imposible que el proveedor de identidad notifique a un servicio la expiración de una sesión, las expiraciones cortas suelen usarse para compensar estándares de autenticación insuficientes.
  • La amenaza del uso de aplicaciones en dispositivos compartidos es un problema y, especialmente en entornos donde el dispositivo se comparte, como en una familia, la expiración de sesión debería ser específica de cada aplicación.
  • Algunos usuarios sostienen que las expiraciones de sesión cortas se usan como medida de seguridad a costa de la usabilidad, y ponen como ejemplo los sistemas de autopago.
  • Las computadoras compartidas sin separación de usuarios existen en la vida real, y a menudo se usan para acceder a aplicaciones web con información sensible.
  • Se critica a este artículo por hacer suposiciones sin fundamento y por descartar las sesiones cortas como control de seguridad basándose en una configuración imaginaria del usuario final.
  • Algunos usuarios afirman que la decisión de Google de no usar sesiones cortas podría deberse menos a preocupaciones de seguridad y más al deseo de recopilar más datos de los usuarios con fines publicitarios.
  • Las sesiones cortas pueden ser hostiles e inconvenientes para el usuario, especialmente cuando interrumpen el flujo de trabajo y exigen reautenticación sin advertencia.
  • Algunos usuarios prefieren límites de tiempo de sesión más largos y afirman que los límites cortos son ineficaces y solo sirven para satisfacer pruebas de checklist por parte de auditores y pentesters.
  • Existe una diferencia entre los límites de tiempo de sesión suaves, que se restablecen según la actividad del usuario, y los límites de tiempo de sesión duros, que cierran la sesión después de un período determinado sin importar la actividad del usuario.