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 seguridad de la información,
mantener una buena política 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 este caso el ataque se simplifica e
involucra algún tiempo de prueba y error. Otras veces se
realizan ataques sistemáticos (incluso con procesamiento en
paralelo) 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
idioma o área específica de acuerdo al tipo de organización que
se esté 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. Estos
tiempos pueden considerarse anecdóticos dependiendo del programa
utilizado y de la capacidad de procesamiento utilizado por los
sistemas actuales, pero dan una idea clara sobre la diferencia
en cada caso:
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.
Claves débiles
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 corresponden al nombre del usuario; a
secuencias alfabéticas tipo 'abcd'; a secuencias numéricas tipo
'1234'; a secuencias observadas en el teclado tipo 'qwerty'; a
palabras que existen en un diccionario del lenguaje del usuario;
a que el usuario se llama Alberto y su clave es 'Alber'.
Estos simples estudios
confirman 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:
- 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).
- No usar contraseñas
completamente numéricas con algún significado
(teléfono, DNI., fecha de nacimiento, patente del automóvil,
etc.).
- No utilizar
terminología conocida en cualquier materia
(tecnología, medicina, abogacía, etc.).
- Elegir una
contraseña que mezcle caracteres alfabéticos
(mayúsculas y minúsculas) y numéricos.
- Deben contener al
menos 6 caracteres o más.
- Tener contraseñas
diferentes en máquinas diferentes, sistemas diferentes y en
aplicaciones 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.
- No utilizar las
mismas contraseñas en sistemas con distinto grado de
confidencialidad (por ejemplo el chat y el home-banking).
- Deben ser fáciles de
recordar (pero difícil de descifrar) para no verse
obligado a almacenarlas o 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<.
- Crear la regla
mnemoténica que se prefiera, pero que solo sea conocida por
nosotros.
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 y lo que es peor aún, toda la organización.
Recordar: "Un password debe ser
como un cepillo de dientes. Úsalo cada día; cámbialo
regularmente; y no lo compartas con tus amigos".
Las buenas prácticas a seguir para la selección de passwords,
hacen referencia a la longitud, ancho (universo de caracteres
posibles) y profundidad de las mismas (esfuerzo necesario para
descifrarla):
- No permitir ninguna
cuenta sin contraseña. Si se es administrador del
sistema, repasar este hecho periódicamente (auditoria).
- No mantener las
contraseñas por defecto del sistema. Por ejemplo,
cambiar o inhabilitar las cuentas de Administrador, Root,
SA, System, Test, Demo, Guest, InetUser, etc.
- Inhabilitar las
cuentas no utilizadas o las de aquellos usuarios que hayan
abandonado la organización.
- Nunca compartir con
nadie la contraseña. Si se hace, cambiarla inmediatamente.
- 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.
- 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.
- 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...".
- No mantener una
contraseña indefinidamente. Cambiarla regularmente.
Disponer de una lista de contraseñas que puedan usarse
cíclicamente.
Passwords en los sistemas
Muchos aplicativos incorporan medidas de gestión
y protección de contraseñas, 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; bloquear el acceso durante
un tiempo; y 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 6 a 8 como mínimo).
- 3. Restricciones de
formato. Las contraseñas deben combinar un mínimo
de letras, números y caracteres especiales permitidos, 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
cierta cantidad de las anteriores. Se mantiene un período
forzoso entre cambios, para evitar que se vuelva a cambiar
inmediatamente y se repita la anterior.
- 5. Ataque preventivo.
Se utilizan crackeadores a modo de auditoria para atacar las
contraseñas de su propio sistema en busca de debilidades
Auditoria de passwords
En el mercado existen múltiples herramientas que
informan sobre la complejidad de las claves elegidas.
Estas herramientas pueden ser ejecutadas cada cierto período 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, lo que hacemos, lo que implica
alinearse y proteger los objetivos del negocio depende de ellas.
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.
Lic. Cristian Borghello, CISSP, director de www.segu-info.com.ar
(©) iProfesional.com