La razón por la que se le solicita una contraseña segura es porque se puede adivinar una insegura a través de “ataques de diccionario”, “ataque de fuerza bruta” o “ataque de la mesa del arco iris”.
Cuando los sitios se ven comprometidos, los atacantes extraerán su información personal junto con su contraseña de la base de datos. Si bien hoy en día casi todos los sitios almacenan su contraseña en forma hash (no en texto plano) que le ofrece cierta protección, los atacantes ejecutarán un craqueador de contraseñas contra las contraseñas hash.
La única forma de adivinar su contraseña cuando se almacena como un hash es hacer un hash de una contraseña candidata y ver si el valor de hash resultante coincide. (Hash es a la vez un verbo y un sustantivo). Con las GPU modernas diseñadas para realizar cálculos de coma flotante muy rápido y en paralelo, un atacante puede probar miles de millones de hashes por segundo , por lo que adivinar una contraseña corta puede llevar segundos o minutos.
- Cómo comenzar con la ciberseguridad
- ¿Alguien puede hackear mi correo electrónico? Si es así, ¿cómo se puede prevenir?
- Cómo validar Google Recaptcha V2 en el lado del servidor ASP.NET
- ¿Es generalmente más fácil o más difícil hackear software de código abierto? ¿Digamos, por ejemplo, un sitio de WordPress?
- ¿Es posible que el malware mueva su ubicación para evitar un escaneo AV?
Por lo tanto, desea una contraseña que sea fácil de recordar pero difícil de adivinar.
Para que su contraseña sea difícil de adivinar, debe ser larga y tener mucha entropía al incluir diferentes clases de caracteres. “Todo en minúsculas” es una clase de caracteres. “Todo en mayúsculas” es otra clase de caracteres. Los atacantes de fuerza bruta a menudo ejecutan conjeturas de hasta 10 caracteres, marque todas las minúsculas. Algunos agregan mayúsculas, pero eso lleva mucho más tiempo (agregando 26 combinaciones más diferentes por personaje), y la fuerza bruta usando números y símbolos es muy difícil porque eso agrega aún más entropía.
Si su contraseña contiene palabras en el diccionario, es mucho más fácil adivinar incluso si es una contraseña larga. Los atacantes generarán diferentes conjeturas aleatorias utilizando palabras del diccionario. Finalmente, si su contraseña es de 8 caracteres o menos, un atacante puede tener tablas de arco iris pregeneradas (tablas de hashes, estas son tablas de múltiples TB de tamaño). Verán si la contraseña cifrada que robaron coincide con un valor pregenerado. Por ejemplo, por $ 1000 puede comprar una tabla de arco iris que tiene la combinación de los 95 caracteres en un teclado de EE. UU. Con una longitud de 8. Pero generar una tabla de arco iris para una longitud de 9 (con 95 caracteres) es demasiado costoso ya que es una tecla exponencialmente más grande espacio. Por lo tanto, elija una longitud de contraseña mayor que 8.
Para darle una idea de qué tan grande es el espacio clave para la longitud 7-9:
- Longitud 7 con 95 caracteres posibles por pos = 70,576,641,626,495 (19 horas para hacer cada suposición a 1 billón de suposiciones / segundo)
- Longitud 8 con 95 caracteres posibles por pos = 6,704,780,954,517,12 (7 días para hacer cada conjetura a 1 billón de conjeturas / segundo)
- Longitud 9 con 95 caracteres posibles por pos = 636,954,190,679,126,500 (20 años para hacer todas las suposiciones a 1 billón de conjeturas / segundo)
PD: El tiempo promedio para adivinar una contraseña es la mitad del espacio clave, por lo que “en promedio” tomaría la mitad del tiempo mencionado anteriormente, solo depende de la suerte.
PPS Hay defensas contra un ataque de la tabla del arco iris, pero requiere que el desarrollador de la aplicación implemente el almacenamiento de contraseñas con “sal”.