Hacks de Internet: ataques de fuerza bruta y cómo detenerlos

[ware_item id=33][/ware_item]

Hacks de internet


Un ataque de fuerza bruta, también llamado búsqueda exhaustiva de claves, es esencialmente un juego de adivinanzas y puede ejecutarse contra cualquier tipo de sistema de autenticación.

Las claves de cifrado son particularmente vulnerables a los ataques de fuerza bruta, ya que no hay una manera fácil de limitar el número de conjeturas que un atacante puede hacer para descifrarlo. Por lo tanto, es posible seguir ingresando todas las contraseñas posibles hasta que se encuentre la correcta.

Contraseñas numéricas simples

La longitud y la complejidad de una contraseña nos permiten calcular cuántas conjeturas se necesitarían para descifrarla.

Por ejemplo, un código de puerta típico de cuatro dígitos tendría 10,000 combinaciones diferentes, de 0000 a 9999. Es fácil calcular que si las contraseñas se ingresan al azar, el código de puerta correcto tiene un 50% de posibilidades de ser adivinado en 5,000 intentos.

Si bien puede ser triste ingresar tantas claves diferentes para un humano, podríamos construir un pequeño brazo de robot para que lo haga por nosotros, o incluso encontrar una manera de ingresar los códigos electrónicamente. Si nuestro pequeño brazo robot tarda un segundo en ingresar un código, podríamos abrir cualquiera de esas puertas en 167 minutos, menos de tres horas.

proteger contra la fuerza brutaLimitar el número de conjeturas permitidas para una contraseña.

Hacer los sistemas más seguros limitando el número de conjeturas

Hay algunas maneras de hacer que la puerta mencionada sea más segura. Podríamos, por ejemplo, solo permitir tres suposiciones antes de que el lector de código de la puerta esté bloqueado dentro de una caja que requiere una llave física para abrir. La posibilidad de adivinar correctamente el código de la puerta correcta se reduciría a 0.3%, un número lo suficientemente pequeño como para desanimar a un atacante.

Las tarjetas bancarias a menudo usan este mecanismo; después de un cierto número de intentos fallidos, el cajero automático retendrá la tarjeta del usuario.

Las tarjetas SIM del teléfono a menudo solo permiten un número limitado de intentos de contraseña, después de lo cual se necesita una clave de desbloqueo PIN (PUK) mucho más larga para acceder a la tarjeta nuevamente.

La desventaja de esto es el inconveniente. Un sistema de contraseña secundario hará que una cerradura de la puerta, una tarjeta bancaria o un teléfono no se puedan usar por un cierto período de tiempo. Además, si el PUK no se almacena de forma segura, podría presentar un riesgo de seguridad completamente nuevo.

Un sistema alternativo es permitir solo una cierta cantidad de contraseñas por minuto. Si solo puede intentar desbloquear la puerta mencionada anteriormente una vez por minuto, por ejemplo, tomaría hasta 167 horas abrir la puerta. Eso es casi exactamente una semana, y lo más probable es que un atacante no se moleste en intentarlo, o el tiempo suficiente para que los propietarios legítimos detecten el ataque..

Nada puede limitar el número de conjeturas para las claves de cifrado

Sin embargo, limitar los intentos de contraseña solo es viable para un dispositivo o servicio en línea. Si el atacante tiene acceso a un archivo encriptado, o si el atacante ha interceptado sus comunicaciones encriptadas, no hay nada que pueda limitar el número de conjeturas que puede hacer..

La única opción en tales casos es aumentar la longitud del código de acceso, haciéndolo más seguro. Por cada dígito agregado a una contraseña, se vuelve diez veces más lento de adivinar. Un código de puerta de seis dígitos, por ejemplo, tardaría casi 12 días en descifrar a una conjetura por segundo.

Sin embargo, crear códigos de acceso más largos tiene un costo, ya que se vuelven cada vez más difíciles de recordar. Y cuando se trata de adivinanzas puras, las computadoras pueden adivinar fácilmente mil millones de números por segundo, por lo que las contraseñas deben ser extremadamente largas. Un código de acceso de 18 dígitos tomaría más de un año para que una computadora adivine, pero ¿podría recordar un código tan largo??

La complejidad es tan importante como la longitud.

Permitir códigos de acceso más complejos mejora en gran medida la seguridad. Si solo permitimos números, solo hay diez entradas posibles por dígito (0-9). Además, permitir letras minúsculas aumenta esto a 36 entradas por dígito (0-9, a-z). Agregar letras mayúsculas aumentará a 62 entradas por dígito (0-9, a-z, A-Z).

El uso de la tabla Unicode original (el conjunto de caracteres latinos) aumentaría aún más cada dígito a 95 entradas posibles. Permitir otros scripts, como el árabe o el griego, aumenta rápidamente este número aún más.

Hay más de 120,000 caracteres, símbolos y emojis en el conjunto Unicode actual, todos los cuales se pueden usar para una buena contraseña. El simple uso de dos de esos caracteres juntos produce una contraseña con más de 14 mil millones de posibilidades diferentes. Agregar un tercero lo convierte en un billón de posibilidades.

Si suponemos que una computadora puede adivinar mil millones de contraseñas por segundo, llevaría más de un millón de segundos encontrar una contraseña de tres caracteres utilizando el conjunto Unicode, aproximadamente 12 días. Hacer las contraseñas más complejas es tan poderoso como alargarlas, pero en general son mucho más fáciles de recordar.

usar un administrador de contraseñasLos humanos son incapaces de ser al azar.

El azar es importante, pero los humanos son malos al azar

En realidad, las contraseñas rara vez son aleatorias. Los humanos fallan sistemáticamente en encontrar contraseñas verdaderamente aleatorias, haciendo factibles algunas variaciones del ataque de fuerza bruta.

Por ejemplo, podemos elegir palabras populares únicas cuando se nos pide que creemos una contraseña, lo que reduce en gran medida la complejidad de nuestras contraseñas. Si bien hay 300 millones de combinaciones posibles para una contraseña de seis letras, incluso si solo permitimos letras minúsculas, los atacantes comenzarán con las palabras en inglés más utilizadas, lo que a menudo produce resultados. Tal ataque se llama un Ataque de diccionario.

Un ataque de diccionario a menudo se combina con el conocimiento de las contraseñas más utilizadas. Conocemos la popularidad de ciertas contraseñas de violaciones anteriores de contraseñas. La contraseña 1234, por ejemplo, desbloquea más del 10% de todos los teléfonos. Las contraseñas 1111 y 0000, otro 8%.

Dados tres intentos de descifrar una contraseña, en teoría, hay un 0.3% de descifrar la contraseña, pero en la práctica, está más cerca del 18%.

Debería aumentar considerablemente la complejidad de una contraseña cuando ciertas letras se reemplazan con caracteres especiales, como "Pa $$ w0rd". Sin embargo, la forma en que los humanos reemplazan estas letras es bastante predecible y no agrega mucha aleatoriedad. Es fácil adivinar reemplazos populares, como e -> 3, un -> @, o -> 0 o s -> $, luego verifique estos. Esto a menudo se conoce como sustitución de caracteres.

Si una computadora o un atacante tiene la oportunidad de conocer al usuario, puede reducir en gran medida el número de intentos necesarios para descifrar su contraseña. Muchas personas agregan sus fechas de nacimiento o años de nacimiento a las contraseñas. Otros usan el nombre de su cónyuge, hijo o mascota. Algunos pueden poner en mayúscula ciertos caracteres o simplemente incluir la URL del sitio para el que usan esa contraseña, cosas que un atacante puede adivinar fácilmente.

Una fórmula común para una contraseña es una palabra que comienza con una letra mayúscula, seguida de un número y termina con un carácter especial, por ejemplo, Word1111 !. Si un atacante obtiene algún conocimiento de su objetivo, podría usar este patrón pero reemplazar el contenido con información pertinente a la víctima. Se llama comprobación de patrones.

La mejor protección es una contraseña segura y aleatoria

Limitar el número de conjeturas por segundo, o el número total de conjeturas antes de que una cuenta se bloquee, ayuda mucho a protegerlo de los ataques de fuerza bruta.

Con las claves de cifrado, tales limitaciones no son posibles, por lo que la mejor manera de defenderse contra un ataque de fuerza bruta es usar un generador de contraseñas aleatorias, ya sea como una herramienta independiente o como parte de un administrador de contraseñas. También puedes usar la técnica Diceware.

Hacks de Internet: ataques de fuerza bruta y cómo detenerlos
admin Author
Sorry! The Author has not filled his profile.