Las contraseñas continúan siendo, todavía hoy, el principal mecanismo
para el control de acceso. ¿Conocemos la fortaleza de las contraseñas que
utilizamos?
Hispasec - Las contraseñas, de un tipo u otro, se han convertido en un
elemento cotidiano de nuestras vidas. Las utilizamos en la alarma de nuestro
domicilio, para sacar dinero del cajero automático, para acceder a la red, en
la conexión a Internet y en el acceso a nuestro correo electrónico... Y así
en una infinidad de acciones de nuestra vida cotidiana. Todavía en la
actualidad la protección mediante contraseña continua siendo la principal (y
en muchas ocasiones, la única) medida para el control de acceso a servicios.
Cuando utilizamos la expresión
"fortaleza de la contraseña" estamos
expresando cual es la dificultad que ofrece ésta ante alguien (o algo) que
está intentando descubrirla. Una contraseña será más fuerte cuando ofrezca
mayores dificultades para que el atacante la identifique. Por el contrario,
será más débil cuando sea relativamente simple descubrirla.
Una buena forma de demostrar la necesidad de utilizar contraseñas fuertes es
mostrar la facilidad con que las contraseñas débiles pueden ser
identificadas. La mayoría de los usuarios no tienen ni idea de la existencia
de herramientas para descubrir contraseñas, ni de lo realmente fáciles y
eficientes que son (y en muchos casos, incluso totalmente gratuitas). Es
realmente un ejercicio muy aleccionador obtener una copia de la SAM de un
dominio de Windows, pasarla por una herramienta de análisis y ver como,
instantáneamente, obtenemos la contraseña de una gran cantidad de usuarios.
Pongamos como ejemplo a LC4 (antiguamente conocido como L0pthcrack). En primer
lugar realiza estas verificaciones: ¿está la contraseña en blanco? ¿Es
igual al identificador del usuario? ¿Es una palabra que se encuentra en el
diccionario o una secuencia fácilmente identificable?
Estas tres simples pruebas se revelan como un buen mecanismo para identificar,
de forma instantánea, las contraseñas más débiles. A continuación,
intenta determinar las contraseñas aplicando la fuerza bruta: probar todas
las combinaciones posibles de caracteres.
Este último método puede requerir un determinado tiempo para identificar las
contraseñas. Desde minutos a días o semanas.
Todas las contraseñas son susceptibles de ser identificadas. Otra cosa es cuántos
recursos y tiempo son necesarios para que sea revelada.
Los resultados que genera LC4 pueden ser difícilmente interpretables. En este
aspecto, me permito recomendar la utilidad L0stat que genera unos excelentes
informes sobre la calidad de las contraseñas analizadas por LC4.
Evidentemente el problema de la calidad de las contraseñas no es exclusivo de
Windows, sino que puede aplicarse a cualquier entorno en donde se utilice este
tipo de autenticación.
En el mundo Unix (y derivados) la principal herramienta para el análisis
de las contraseñas es "John the Ripper".
Mejorar la calidad de las contraseñas
La política de seguridad existente en cada organización debe fijar los
requerimientos para que una contraseña se considere aceptable dentro del ámbito
de la misma. No obstante, me permito sugerir una serie de valores que son comúnmente
aplicados:
* Todas las cuentas de usuario, sin excepción, deben de tener asociada una
contraseña.
* El usuario, en su primera conexión a la red, debe ser forzado a cambiar de
contraseña.
* La longitud de las contraseñas no debe ser inferior a los siete caracteres.
* Las contraseñas deben estar formadas por una mezcla de caracteres alfabéticos
(donde se combinen las mayúsculas y las minúsculas) y números.
* La contraseña no debe contener el identificador o el nombre del usuario.
* Las contraseñas deben caducar, como máximo, cada noventa días. El período
mínimo de validez de una contraseña debe ser un día.
* Cuando se realice un cambio de contraseña, esta debe ser diferente de las
utilizadas anteriormente por el mismo usuario.
* Periódicamente debe realizarse una auditoría para verificar que se cumple
con los requerimientos de la política de seguridad.
Un recordatorio final...
Nunca debe utilizarse un programa de identificación de contraseñas, incluso
contra los sistemas en los que se dispone de privilegio de administración,
sin la autorización explícita y por escrito de la empresa propietaria de la
computadora.
Más de un administrador de sistemas, actuando con la más benevolente de sus
intenciones, ha sido despedido sencillamente por haber utilizado uno de estos
programas sin la correspondiente autorización.