Se atribuye a Bernard Shaw la frase de que los políticos y los pañales deben cambiarse a menudo… y por las mismas razones. Pero… ¿Y las contraseñas? Hasta ahora, la mayoría ha dado por hecho que también deben modificarse periódicamente, pero cada vez son más las voces en contra de este movimiento hasta que Microsoft ha eliminado esta política como “base” para la seguridad de Windows.Ha tenido la osadía de romper con años de tradición y no solo eso, sino que literalmente califica la medida de “obsoleta” y “sin ningún valor”. ¿Dejamos de cambiar las contraseñas periódicamente? Como siempre, el mensaje de Microsoft (y otras tantas voces) es tan matizable, que puede llevar a su vez a más confusión que beneficio si no se entienden sus consecuencias. Veamos.
Pero entonces, en primer lugar, ¿por qué se pedía el cambio de contraseña?
Suena a buena idea en teoría, pero no tanto en la práctica. Sí, sabemos que un humano obligado a cambiar su contraseña a menudo, fundamentalmente tenderá a repetir un patrón, donde con alta probabilidad se añada un número al final de una palabra y se vuelva totalmente predecibles si dispones de algún valor de la secuencia. Si se le obliga a cambiarla por completo, no podrá recordar sus contraseñas y acabará por escribirlas, cosa que trae más daño que beneficio. Por supuesto, una de las soluciones es un gestor de contraseñas, pero cuando la contraseña es la de “log in” en el propio Windows (o en todo un directorio activo), resulta más complejo. Tu gestor de contraseñas estará “detrás” de la contraseña que necesitas para abrirlo. ¿Y un gestor en el móvil? Estaría bien, pero tendrías que teclear la contraseña compleja mirando al móvil. ¿Otras soluciones? Sí, pero son tokens o lectores más caros. No es cómodo. Al final es necesario memorizar alguna contraseña.
La idea de modificar una contraseña (en concreto las de Windows) cada cierto tiempo, tenía sentido porque en teoría, debía permanecer vigente siempre menos tiempo del que emplearía un potencial atacante en crackearla. Imaginemos una de las muchas técnicas para robar la SAM o volcar la memoria. Estos valores serán atacados por diccionario o fuerza bruta. Si la contraseña es compleja, para cuando la averiguase, el usuario ya la habría modificado. Pero si nos vamos a la práctica, es cierto que hay muchos factores por los que esta argumentación se puede cuestionar hoy por hoy:
- Ya no se usa LM por defecto y además la potencia de cálculo para realizar crack hoy en día acorta los tiempos, gracias a precálculos como las rainbow tables, etc. ¿Debemos cambiarla cada pocos días entonces? No suena demasiado práctico.
- Existen otras técnicas que no necesitan de la contraseña en claro. A no ser que pretendas impresionar en un informe de red team, podría usarse pass the hash, por ejemplo.
- Existen ya sistemas como el Multi Factor Authentication en Azure que permite una integración fácil con el directorio activo.
- Si finalmente se crackea “contraseña1” y no le funciona al atacante porque ya la cambió la víctima, hay una altas probabilidades de que sea “contraseña2” o sucesivas si el usuario la modifica a menudo.
- Hoy por hoy, los segundos factores de autenticación son más comunes… Aunque de nuevo, no tanto en los entornos Windows corporativos.
- Si el atacante llega a controlar un equipo, realmente tendría acceso a la contraseña prácticamente en texto claro si quisiera gracias a varios programas que permiten recuperarla directamente de la memoria.
¿Y esta nueva tendencia?
Microsoft lo deja claro: Siempre podrás imponer tu política de cambio, pero deja de requerirlo en sus plantillas de “seguridad básica”, para que si el administrador está obligado a cumplirlas, se libre de este “check point” al menos.
Argumenta que cambiarla solo sirve si fuesen robadas durante su vigencia. Y claro, si no son robadas porque están protegidas gracias a una política de seguridad robusta, cambiarlas no es necesario. Y si no has implementado política de seguridad alguna, cambiarlas no alterará en nada tu fatal destino, así que menor no intentarlo. ¿o es este un argumento circular realmente vacío?¿Tenemos que recordar que implementar más y mejores medidas no garantiza la seguridad absoluta? Además esta afirmación viola los fundamentos de la seguridad en profundidad, confiando en una capa de protección superior que desmerece a una mitigación preventiva como es el cambio de contraseña. Tendríamos que valorar hasta qué punto esta medida entorpece en cada ámbito, y si no es así, no vemos por qué puede resultar obsoleta o sin valor. Más bien dependerá de cada usuario, y no deben mandarse mensajes tan tajantes a la ligera.
¿Entonces ya no cambiamos las contraseñas?
Aquí haría una enorme distinción entre usuarios de Windows corporativos (para los que se ha modificado la política) y el resto de servicios protegidos por contraseñas. Un usuario de Windows corporativo es un tipo muy particular de usuario, su contraseña tiene un valor “limitado” dependiendo de sus permisos, y se encuentra en un entorno donde se espera que un administrador vele por su seguridad. Aunque cueste creerlo, para el malware la contraseña de usuario de Windows tiene muy poco valor y no tantas muestras intentan robarla. Mucho malware se asienta en el sistema con todos los privilegios y pocas veces envía la SAM o vuelca la memoria para el atacante. Sin embargo, cualquier otra fórmula de acceso a servicios de terceros (desde espacio en la nube hasta el correo pasando obviamente por los bancos) son un claro objetivo del malware y las muestras que roban esas contraseñas son innumerables.
Pero las contraseñas Windows sí tienen valor en entornos corporativos susceptibles de ser atacados. Es más, hoy por hoy, en la época de los APT, de las intrusiones pacientes y dirigidas donde los atacantes campan a sus anchas en los entornos durante meses antes de ser detectados, en los que quizás sean precisamente eventos como un cambio de contraseñan los que alerten de la presencia de un intruso (y no al revés)… parece que es en este momento cuando cambiar la contraseña es una medida incómoda pero necesaria. Pero nunca por sí misma, por supuesto. Además de las medidas que sugiere Microsoft para mitigar el robo, sería necesario añadir la educación al usuario (uso de reglas mnemotécnicas, contraseñas sencillas pero largas en vez de cortas y complejas…) como pilar fundamental. Ni que decir tiene que es necesario considerar seriamente incluir doble autenticación, registro y análisis exhaustivo de logs, etc.
Pero sí, las contraseñas deben morir cada cierto tiempo. Imaginamos otro escenario. La contraseña privada de un certificado web se encuentra muy protegida en un entorno donde es altamente improbable que sea robada. Renovar el certificado periódicamente añade complejidad para el administrador y si bien obviamente no se eligen patrones predecibles de claves privadas de certificados, quizás haga más daño que bien su cambio (pensemos en la caducidad de certificados de cliente en el DNI, y toda la infraestructura necesaria para que haya que renovarlos cada cierto tiempo). Así que podríamos considerar eliminar esta recomendación de restringir la vida de los certificados a algunos años. ¿No sería una justificación parecida? Ahora bien, cambiar los certificados no es gratis habitualmente, y todo un negocio depende de su renovación… algo que no pasa con las contraseñas de Windows.
¡Y no solo Windows!
Pero es que Microsoft no ha sido el primero en sembrar la duda sobre la utilidad de la rotación de contraseñas. Ya desde 2017, en el párrafo 9 de las Digital Identity Guidelines del NIST, se dice A-B5: SP 800-63B sección 5.1.1.2 :
“Verifiers SHOULD NOT require memorized secrets to be changed arbitrarily (e.g., periodically). However, verifiers SHALL force a change if there is evidence of compromise of the authenticator.”
Donde básicamente se premia la reacción a la prevención. Si estas recomendaciones se amplían a todo el ámbito de la identidad digital (sistemas locales, en la nube, etc), no parece una buena idea. En el ámbito web, es importante cambiar la contraseña. La “evidencia” de compromiso no está tan clara. Aparecen leaks de bases de datos de webs y compromisos de portales constantemente, cuando para los usuarios es quizás demasiado tarde. Y por supuesto, un usuario no es consciente de si un malware le ha robado la contraseña de un servicio si no han saltado sus sistemas preventivos. Así que esto hay que tomarlo como una recomendación que no hay que malinterpretar, porque otros estándares muy importantes como PCI, todavía recomiendan un cambio cada 90 días.
Conclusiones
En 2012 se inauguró el “change your password day”, donde se animaba a atodo el mundo a cambiar la contraseña el 1 de febrero. El 2 de mayo es también el “WordPassWordDay” para recordar la importancia de proteger las contraseñas. Algunos prefieren el “strong password day” . Pero no es necesario elegir. Pueden ser fuertes, estar arropados por otras tecnologías y además expirar periódicamente. Es bueno replantear paradigmas arraigados, pero habría que sopesar ese supuesto coste de cambio de las contraseñas en cada entorno. En general, son más los escenarios donde parce que deberían rotar periódicamente a un coste mínimo, acorde con la protección del sistema o el valor del activo protegido. Hay que diferenciar en particular entre la recomendación en entorno Windows, y cualquier otro servicio. Contraseñas fuertes, y cambiadas regularmente (tan a menudo como pueda uno sentirse cómodo) y sobre todo adaptada a las circunstancias de cada contraseña (no es lo mismo un usuario de Windows que el sistema de banca online) parece la medida más prudente.
Lo interesante sería atacar al uso de las contraseñas en sí, no a su formato. Las contraseñas siempre tendrán un componente de debilidad, y debemos elar por que no sea aún más débil de lo que ya son. Proponer sistemas con mayor seguridad a su alrededor, segundos factores, gestor de identidades, promocionar los TOTP… es una solución. Entre tanto, nuestras contraseñas deben ser fuertes, muy vigiladas, respaldadas por otros factores y… por qué no, volátiles como los pañales (siempre que merezca la pena el pequeño esfuerzo).
The post Y tú, ¿has dejado ya de cambiar las contraseñas periódicamente? appeared first on Think Big.