02 - Porqué caen nuestras passwords - 13/09/2002


Autor: Lic. Cristian F. Borghello

http://www.segu-info.com.ar

Un viejo "chiste" reza: ¿Cuál es el eslabón más débil de la cadena de seguridad en sistemas informáticos?.

El usuario final.

Si usted se sintio afectado, por favor preguntase si la clave para acceder a su sistema tiene algo que lo relacione con usted mismo. Por ejemplo: si usted se llama Alberto y tiene 42 años de edad, esta casado con Alicia y su hija se llama Rosana, ¿su password es "alber_42" o "AAR" o "alalro"?

En sistemas informáticos, mantener una buena politica de seguridad de creación, mantenimiento y recambio de claves es un punto crítico para resguardar la seguridad y privacidad.

Comencemos por ver la forma en que nuestras claves pueden caer en manos de personas non-sanctas, mediante un antiguo método denominado "Fuerza Bruta" donde el atacante simplemente prueba distintas combinaciones de palabras hasta dar con la clave del usuario.

Muchas passwords de acceso son obtenidas fácilmente porque involucran el nombre u otro dato familiar del usuario y, además, esta nunca (o rara vez) se cambia. En esta caso el ataque se simplifica e involucra algún tiempo de prueba y error. Otras veces se realizan ataques sistemáticos (incluso con varias computadoras a la vez) con la ayuda de programas especiales y "diccionarios" que prueban millones de posibles claves, en tiempos muy breves, hasta encontrar la password correcta.

Los diccionarios son archivos con millones de palabras, las cuales pueden ser posibles passwords de los usuarios. Este archivo es utilizado para descubrir dicha password en pruebas de fuerza bruta. Actualmente es posible encontrar diccionarios de gran tamaño orientados, incluso, a un área específica de acuerdo al tipo de organización que se este atacando.

A contiuación podemos observar el tiempo de búsqueda de una clave de acuerdo a su longitud y tipo de caracteres utilizados. La velocidad de búsqueda se supone en 100.000 passwords por segundo, aunque este número suele ser mucho mayor dependiendo del programa utilizado.

Cantidad de Caracteres 26 - Letras Minúsculas 36 - Letras y Dígitos 52 - Mayúsculas y Minúsculas 96 - Todos los Caracteres

6

51 minutos

6 horas

2,3 días

3 meses

7

22,3 horas

9 días

4 meses

24 años

8

24 días

10,5 meses

17 años

2.288 años

9

21 meses

32,6 años

890 años

219.601 años

10

54 años

1.160 años

45.840 años

21.081.705 años

Aquí puede observarse que si se utilizara una clave de 8 caracteres de longitud, con los 96 caracteres posibles, puede tardarse 2.288 años en descifrarla. Esto se obtiene a partir de las 968 (7.213.895.789.838.340) claves posibles de generar con esos caracteres.

Partiendo de la premisa en que no se disponen de esa cantidad de años para analizarlas por fuerza bruta, se deberá comenzar a probar con las claves más posibles, comúnmente llamadas Claves Débiles.

Según demuestra un análisis realizado sobre 2.134 cuentas y probando 227.000 palabras por segundo:

  • Con un diccionario 2.030 palabras, se obtuvieron 36 cuentas en solo 19 segundos (1,77%).
  • Con un diccionario de 250.000 palabras, se obtuvieron 64 cuentas en 36:18 minutos (3,15%).

Otro estudio muestra el resultado obtenido al aplicar un ataque, mediante un diccionario de 62.727 palabras, a 13.794 cuentas:

  • En un año se obtuvieron 3.340 contraseñas (24,22%).
  • En la primera semana se descubrieron 3.000 claves (21,74%).
  • En los primeros 15 minutos se descubrieron 368 palabras claves (2,66%).

Según lo observado en la tabla, sería válido afirmar que: es imposible encontrar ¡36 cuentas en 19 segundos!. También debe observarse, en el segundo estudio, que el porcentaje de hallazgos casi no varía entre un año y una semana.

Esto sucedió porque existían claves nulas; que corresponde al nombre del usuario; a secuencias alfabéticas tipo 'abcd'; a secuencias numéricas tipo '1234'; a secuencias observadas en el teclado tipo 'qwer'; a palabras que existen en un diccionario del lenguaje del usuario; a que el usuario se llama Alberto y su clave es 'Alber'.

Este simple estudio confirma nuestra mala elección de contraseñas, y el riesgo se incrementa si el atacante conoce algo sobre la víctima, ya que podrá probar palabras relacionadas a su persona o diccionarios orientados.

Normas de Elección de Claves

Se debe tener en cuenta los siguientes consejos:

  1. No utilizar contraseñas que sean palabras (aunque sean extranjeras), o nombres (el del usuario, personajes de ficción, miembros de la familia, mascotas, marcas, ciudades, lugares, u otro relacionado).
  2. No usar contraseñas completamente numéricas con algún significado (teléfono, D.N.I., fecha de nacimiento, patente del automóvil, etc.).
  3. No utilizar terminología técnica conocida.
  4. Elegir una contraseña que mezcle caracteres alfabéticos (mayúsculas y minúsculas) y numéricos.
  5. Deben ser largas, de 8 caracteres o más.
  6. Tener contraseñas diferentes en máquinas diferentes y sistemas diferentes. Es posible usar una contraseña base y ciertas variaciones lógicas de la misma para distintas máquinas. Esto permite que si una password de un sistema cae no caigan todos los demás sistemas por utilizar la misma password.
  7. Deben ser fáciles de recordar para no verse obligado a escribirlas. Algunos ejemplos son:
    • Combinar palabras cortas con algún número o carácter de puntuación: soy2_yo3
    • Usar un acrónimo de alguna frase fácil de recordar: A río Revuelto Ganancia de Pescadores: ArRGdP
    • Añadir un número al acrónimo para mayor seguridad: A9r7R5G3d1P
    • Mejor incluso si la frase no es conocida: Hasta Ahora no he Olvidado mi Contraseña: aHoelIo
    • Elegir una palabra sin sentido, aunque pronunciable: taChunda72, AtajulH, Wen2Mar
    • Realizar reemplazos de letras por signos o números: En Seguridad Más Vale Prevenir que Curar: 35M\/Pq<

Normas para proteger una password

La protección de la contraseña recae tanto sobre el administrador del sistema como sobre el usuario, ya que al comprometer una cuenta se puede estar comprometiendo todo el sistema.

RECORDAR:

"Un password debe ser como un cepillo de dientes. Úsalo cada día; cámbialo regularmente; y NO lo compartas con tus amigos".

Algunos consejos a seguir:

  1. No permitir ninguna cuenta sin contraseña. Si se es administrador del sistema, repasar este hecho periódicamente (auditoría).
  2. No mantener las contraseñas por defecto del sistema. Por ejemplo, cambiar las cuentas de Administrador, Root, System, Test, Demo, Guest, InetUser, etc.
  3. Nunca compartir con nadie la contraseña. Si se hace, cambiarla inmediatamente.
  4. No escribir la contraseña en ningún sitio. Si se escribe, no debe identificarse como tal y no debe identificarse al propietario en el mismo lugar.
  5. No teclear la contraseña si hay alguien observando. Es una norma tácita de buen usuario no mirar el teclado mientras alguien teclea su contraseña.
  6. No enviar la contraseña por correo electrónico ni mencionarla en una conversación. Si se debe mencionar no hacerlo explícitamente diciendo: "mi clave es...".
  7. No mantener una contraseña indefinidamente. Cambiarla regularmente. Disponer de una lista de contraseñas que puedan usarse cíclicamente (por lo menos 5).

Passwords en los sistemas

Muchos sistemas incorporan ya algunas medidas de gestión y protección, que obliga al cambio periódico y chequea su nivel de dificultad. Entre ellas podemos citar las siguientes:

  1. Número de intentos limitado. Tras un número de intentos fallidos, pueden tomarse distintas medidas:
    • Obligar a reescribir el nombre de usuario (lo más común).
    • Bloquear el acceso durante un tiempo.
    • Enviar un mensaje al administrador y/o mantener un registro especial.
  2. Longitud mínima. Las contraseñas deben tener un número mínimo de caracteres (se recomienda 7 u 8 como mínimo).
  3. Restricciones de formato. Las contraseñas deben combinar un mínimo de letras y números, no pueden contener el nombre del usuario ni ser un blanco.
  4. Envejecimiento y expiración de contraseñas. Cada cierto tiempo se fuerza a cambiar la contraseña. Se obliga a no repetir ciertas cantidad de las anterior. Se mantiene un periodo forzoso entre cambios, para evitar que se vuelva a cambiar inmediatamente y se repita la anterior.
  5. Ataque preventivo. Muchos administradores utilizan crackeadores para intentar atacar las contraseñas de su propio sistema en busca de debilidades.

Passwords en la BIOS

Esta utilidad resulta de extremado interés en entornos multiusuario, pero tambien puede resultar un arma de doble filo que induce una falsa sensación de seguridad. Digo esto ya que muchos fabricantes de BIOS suelen utilizar puertas traseras, que aunque teóricamente sólo deberían conocer ellos, terminan saliendo a la luz. Por ejemplo: AWARD BIOS, utiliza/aba "AWARD_SW" o "AWARD_PW".

Otras opciones válidas para franquear esta barrera es resetear la memoria de la BIOS quitando la pila de la placa base y volviéndola a conectar, cambiar un jumper de lugar o utilizar programas para saltar/descubrir la clave.

Auditoria de passwords

En el mercado existen múltiples herramientas que nos informan sobre la complejidad de las claves elegidas.

Estas herramientas pueden ser ejecutadas cada ciertos períodos de tiempo, analizando las claves existentes y su complejidad, o bien ser incorporadas a los sistemas de forma que no se permita la existencia de passwords débiles.

Conclusión

Una parte fundamental de nosotros mismos y de nuestro trabajo depende de las passwords elegidas y de su complejidad.

La implementación de passwords seguras deberia ser el principal objetivo cuando decidimos ("nos damos cuenta") que lo que somos y hacemos es importante.

Esta implemntación depende de la educación que cada usuario recibe, de las políticas de seguridad aplicadas y de auditorias permanentes.

La seguridad existe... simplemente depende de la imaginación que tengamos a la hora de elegir nuestras claves.

Bibliografía consultada

- Capítulos 6 y 7 - Tesis de Seguridad Informática . BORGHELLO, Cristian F. Noviembre de 2001.

- CERN Security Handbook on Passwords. CERN. Noviembre de 1998.

- FAQ de alt.2600 versión .014

- Tabla de Tiempos del John the Ripper 1.4 by +NetBul. SET N°15-0x07. Junio de 1998.

- Foiling the Cracker: A Survey of, and Improvement to, Password Security. KLEIN, Daniel.

Buenos Aires, 13 de septiembre de 2002

Con más de 24 años de experiencia compartiendo la mejor información de Seguridad

Contacto