Todo lo que deberías saber sobre contraseñas

Hola muy buenas a todos los amantes de la seguridad informática. En esta ocasión voy a hablar de uno de los motivos por el cual nos silban los oídos a todos los informáticos que intentamos proteger una empresa. Ese motivo no es otro que esas contraseñas imposibles de recordar que exigimos implantar.

¿Realmente una contraseña tiene que ser tan rebuscada?

 

Seguro que a muchos esta viñeta os ha recordado todas esas ocasiones en las que los requisitos de una contraseña nos han sacado de quicio y os habéis preguntado: ¿es realmente necesario que una contraseña sea tan rebuscada?

La respuesta es un rotundo si, ya continuación voy a intentar explicaros porque las contraseñas deben de ser tan rebuscadas.

¿Qué es lo que determina la resistencia de una contraseña contra un ataque?

Para determinar la resistencia de una contraseña debemos de ponernos en la piel de un hacker que intenta averiguar una contraseña y para eso existen dos tipos principales de ataques: ataque por fuerza bruta, ataque por diccionario.
  • Fuerza bruta: se basa en probar una a una todas las posibles combinaciones de caracteres hasta que coincide con la contraseña.
  • Ataque por diccionario:  se basa en ir probando una a una todas las posibles contraseñas que se encuentran en un fichero de texto.
Como acabamos de ver,los ataques se basan en ir probando contraseñas de una en una hasta que tengamos la suerte de adivinarla.

Simplemente es solo una cuestión de tiempo y precisamente eso es a lo que debemos prestar atención.

Entonces podemos decir que: la integridad de una contraseña se puede medir por el tiempo y los recursos (número de ordenadores y potencia de estos) que llevaría adivinar la contraseña probando una a una todas las posibles contraseñas.

¿Cómo podemos prolongar el tiempo que llevaría adivinar nuestra contraseña?

Primero vamos a ver cuáles son los dos elementos que conforman una contraseña:
  • Longitud: es el número de caracteres por el cual está formada una contraseña.
  • Caracteres: son los símbolos o gráficos que se utilizan para componer los diferentes alfabetos.
Los caracteres se subdividen en los siguientes grupos:
  • Consonantes y vocales en minúscula formado por 27 caracteres diferentes.
  • Consonantes y vocales en mayúscula formado por 27 caracteres diferentes.
  • Números formado por 10 caracteres diferentes.
  • Caracteres especiales (puntos, guiones, símbolos).
Entonces para formar una contraseña robusta es sencillo solo pongo caracteres que estén en diferentes grupos o alargo mi contraseña pero ¿qué es más seguro? Una contraseña corta pero formada por distintos grupos caracteres o una larga que solo utiliza un grupo.

Para que lo veáis con vuestros propios ojos a continuación vamos a comparar 3 combinaciones diferentes de caracteres y longitud para sacar conclusiones.

Para los siguientes ejemplos he utilizado la herramienta Crunch que es un generador de diccionarios que viene de forma nativa en kali Linux, su versión actual es la 3.5 y se distribuye bajo una licencia GPLv2.

Primer ejemplo: contraseña formada por números, algunos caracteres especiales y todas las letras en minúsculas y mayúsculas con una longitud de 4 caracteres.


Lo cual nos genera 20151121 posibles contraseñas, parece mucho pero  un ordenador normal puede comprobar unas 600 contraseñas por segundo y si suponemos que la contraseña está en el punto intermedio de todas las posibles contraseñas nos sale poco más de 4,5 horas.

Segundo ejemplo: contraseña formada por todas  las letras en con una longitud de 8 caracteres.


Lo cual nos genera 282429536481 posibles contraseñas si suponemos que la contraseña está en un punto intermedio de todas las posibles contraseñas nos sale a unos siete años y medio.

Tercer ejemplo: contraseña formada por números, algunos caracteres especiales y todas  las letras en minúsculas y mayúsculas con una longitud de 8 caracteres.


Lo cual nos genera 457163239653376 combinaciones y si suponemos que la contraseña está en un punto intermedio de todas las posibles contraseñas nos sale a unos doce mil años.

Como conclusión vemos que es mucho más importante la longitud que los grupos de caracteres.

¿Cómo podemos calcular la complejidad de una contraseña?

La complejidad de una contraseña reside en una sencilla fórmula matemática:


X es la suma de todos los posibles caracteres.
n es la longitud de la contraseña.
El resultado es el número de posibles contraseñas por lo tanto, a mayor sea el resultado más segura será nuestra contraseña.

Ejemplos:

Letras minúsculas (27) + números (10) con una longitud de 5 dígitos
(27+10)^5= 69343957 posibles contraseñas
Letras minúsculas (27) + letras mayúsculas (27) con una longitud de 4 a 5 dígitos
((27+27) ^ 4) + ((27+27)^5)=467668080 posibles contraseñas

Intentar que nadie vea ninguna parte de nuestra contraseña:

Imaginemos una situación común en la que estamos escribiendo nuestra contraseña con un compañero curioso delante, el cual se ha dado cuenta de los dos primeros caracteres de nuestra contraseña y que además, simplemente ha contado los asteriscos para saber la longitud de nuestra contraseña, ¿cómo nos afecta esto?

Primero, supongamos que un atacante ajeno a nuestra empresa genera un diccionario con todas las letras minúscula, mayúsculas, números y los símbolos más comunes con una longitud de entre 4 y 6 caracteres.Eso nos da un total de 100342797568 posibles contraseñas.

Ahora nuestro compañero curioso sabiendo la longitud y los dos primeros caracteres genera un diccionario con un resultado de17576 posibles contraseñas es decir, se han reducido las posibles contraseñas en más de 5.700.000 veces la original.

Motivo más que suficiente para pedirle amablemente a cualquier persona que aparte la mirada.

Sustituir las vocales por números:

He leído en más de una ocasión que recomienda sustituir las vocales por números. Pero como vosotros ahora ya sabéis que si tu contraseña ya contiene un número, sustituir sus vocales por números contra un  ataque de fuerza bruta es exactamente igual las dos y si pensáis que de ese modo es más difícil que vuestra contraseña se encuentre en un diccionario, siento tener malas noticias pero hoy en día existe multitud de herramientas que en un ataque convierten las vocales en números o herramientas pensada solo para estos casos como Mutator.

Como conclusión si tu contraseña tiene algún número no la vas a hacer más segura por sustituir las vocales por números.

El futuro y nuestras contraseñas:

La tecnología avanza y eso en este caso no quiere decir que sea para bien con ella también debería avanzar nuestras contraseñas.

Como hemos visto la robustez de nuestra contraseña se puede medir por el tiempo y los recursos (ordenadores y potencia de estos). Por tanto lo que hoy consideramos una contraseña robusta dentro de algunos años no lo será por eso deberíamos no solo cambiarla, sino aumentar su longitud ya que como hemos visto esto aumenta las posibles contraseñas de forma exponencial.

Recomendaciones para que nuestra contraseña siga siendo segura:

  • No escribir la contraseña en un posit y pegarlo al monitor.
  • Nunca marcar la casilla de recordar contraseña.
  • No usar la misma contraseña para todo.
  • No decir nunca nuestra contraseña.
  • No usar contraseñas comunes.
Artículo cortesía de:  Ruben Marquez Fajardo

Si también quieres publicar tu artículo, no lo dudes y mándanos tu contribución a hackplayers_at_ymail.com o ponte en contacto con nosotros a través de cualquier canal disponible en las redes sociales (Twitter, Facebook o Telegram).

Via: www.hackplayers.com
Todo lo que deberías saber sobre contraseñas Todo lo que deberías saber sobre contraseñas Reviewed by Zion3R on 13:10 Rating: 5