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 sintió afectado, por favor pregúntese 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 política 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,
ésta nunca (o rara vez) se cambia. En este 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 correcta.
Los diccionarios son archivos con millones de palabras, las
cuales pueden ser posibles passwords de 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 continuació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 dias |
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 |
45 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 utilizar 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
rio 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, IUSR, 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 también 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/ba
"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 debería ser el
principal objetivo cuando decidimos ("nos damos
cuenta") que lo que somos y hacemos es importante.
Esta implementació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.
Bibliografia
|