PDA

Ver la versión completa : Factor humano y contraseñas



LUK
16-11-2008, 14:22
¿Cómo de segura es la contraseña que usas para proteger tu información privada?

Elegir la contraseña adecuada es fundamental para conseguir proteger nuestros datos. Para explicar qué se entiende por "contraseña adecuada" tal vez tenemos que mirar la otra cara de la moneda: los métodos que se utilizan para poder romper las contraseñas.

Destacan dos, el ataque por fuerza bruta (http://es.wikipedia.org/wiki/Ataque_de_fuerza_bruta) y el ataque por diccionario (http://es.wikipedia.org/wiki/Ataque_de_diccionario).

El ataque por fuerza bruta consiste en probar todas las combinaciones de password posibles hasta encontrar aquella que permite el acceso. Los ataques por fuerza bruta, dado que utilizan el método de prueba y error, son muy costosos en tiempo computacional.

Los ataques de diccionario consisten en intentar averiguar una contraseña probando todas las palabras del diccionario (palabras con sentido, o también combinaciones de letras/números que se usan como contraseña habitualmente: 123abc, etc.). Este tipo de ataque suele ser más eficiente que un ataque de fuerza bruta ya que muchos usuarios suelen utilizar una palabra existente en su lengua como contraseña para que la clave sea fácil de recordar, lo cual no es una práctica recomendable.

Así pues, visto lo visto, en un principio nos quedamos con la idea de que nuestra contraseña debe tener, por un lado una longitud considerable (contraseñas de menos de 8 caracteres se pueden considerar débiles), y por otro, a ser posible, no deben de estar basadas en palabras de diccionario. ¿Es esto suficiente?. Pues no, también hay que tener en cuenta el "factor humano".

Y digo esto, debido a una reciente discusión que hemos mantenido entre los compañeros de trabajo aquí en S21sec. Pongamos, que yo, elijo una canción en euskera (para complicarlo un poco, je,je) al azar, y decido utilizar una estrofa de esta canción como clave. En un principio, podría parecer que mi clave puede ser vulnerable frente a ataques por diccionario. Además, el "factor humano" interviene: he apuntado mi contraseña en un papel que está en mi escritorio, de esta manera, cualquiera puede leer mi clave. ¿Sería la gente capaz de entreveer que la contraseña está escrita en ese papel? Y, lo que finalmente motivó el debate entre nosotros, ¿usar estrofas de canciones en euskera es una buena elección como clave?.

Por un lado son claves lo suficientemente largas como para que ataques por fuerza bruta sean inviables. Por otro, si tenemos en cuenta que dentro del euskera hay 5 dialectos (sin contar el euskera unificado, mas conocido como euskera batua), que cada una de las canciones puede transcribirse en uno de esos 5 dialectos y que no todas las canciones que existen en euskera están transcritas, a primera vista parece que un ataque por diccionario tampoco es factible. Además, al ser una canción, es fácilmente memorizable. ¿Es entonces una contraseña de este tipo adecuada? (el caso del euskera, dadas las particularidades de ese idioma da mucho juego, aunque la pregunta puede ser extensible para cualquier idioma).

No os podéis ni imaginar el debate que ha surgido a partir de esta cuestión. A partir de aquí, espero vuestras opiniones, y ya de paso, os dejo una pequeña guía de buenas prácticas para la gestión de contraseñas seguras (gracias Montse ;-)), que por supuesto no es una lista cerrada:


Contraseñas alfanuméricas de 10 a 12 caracteres. Que tengan parámetros de no coincidencia con el ID, y el histórico de contraseñas utilizadas, y limitación de utilización de palabras preseleccionadas Ej. Nº DNI usuario, nombre empresa, meses, años, equipos de fútbol, grupos musicales, etc.
Cambio periódico cada 90 días por ejemplo (aunque el empleo de una contraseña robusta con todos estos requerimientos podría hacer posible que la contraseña se cambiase con una periodicidad incluso mayor).
Bloqueo de la cuenta con necesidad de que intervenga el administrador (no bloqueo temporal de la cuenta) al 3 ó 5 intento.
Histórico de 8 a 14 contraseñas.
Bloqueo de la cuenta por inactividad durante por ejemplo 1 mes (15 días o menos para sistemas muy críticos Ej. Cuentas de administración de sistemas).
Cambio obligatorio de la contraseña en la primera autenticación del usuario.
Exclusión del uso de ID genéricos o compartidos.
Y por supuesto, tratar de minimizar el "factor humano"; si apuntáis vuestra contraseña en algún papel, guardarlo en un sitio seguro (ah! y nunca le digáis la contraseña a nadie).


Nota: Si tenéis curiosidad de saber cuanto tiempo costaría sacar por fuerza bruta vuestra contraseña, no dudéis en visitar esta página.

Asier Marruedo
S21sec e-crime (http://blog.s21sec.com/2008/11/factor-humano-y-contraseas.html)