Aunque Apple nunca lo confirmó ofi­cia­l­me­n­te, se asume que en 2014 el gigante te­c­no­ló­gi­co fue víctima de un pequeño, pero de­sas­tro­so, fallo de seguridad en su servicio de al­ma­ce­na­mie­n­to iCloud. Hay razones para suponer que la falta de pro­te­c­ción contra ataques de fuerza bruta permitió el robo de fotos privadas de varias ce­le­bri­da­des, hecho que fue su­fi­cie­n­te para que Apple, poco después de que se pro­du­je­ran los ataques, pusiera en práctica medidas de pro­te­c­ción. El mecanismo de seguridad consiste, desde entonces, en que los usuarios tienen un máximo de diez intentos para in­tro­du­cir su co­n­tra­se­ña; de no ser así, la cuenta se bloquea y se notifica al titular de la cuenta. Antes de la fi­l­tra­ción de las fotos, no había un límite para in­tro­du­cir co­n­tra­se­ñas in­co­rre­c­tas, por lo que diseñar un ataque de fuerza bruta fue solo cuestión de tiempo.

¿Qué es exac­ta­me­n­te brute force?

El término brute force se traduce como fuerza bruta y hace re­fe­re­n­cia a un método de re­so­lu­ción de problemas en los campos de la in­fo­r­má­ti­ca, la cri­p­to­gra­fía y la teoría de juegos. El método de fuerza bruta recibe este nombre porque está basado en probar todas las so­lu­cio­nes posibles o muchas de ellas, siendo conocido también como búsqueda exhau­s­ti­va y utilizado, es­pe­cia­l­me­n­te, cuando no hay otros al­go­ri­t­mos di­s­po­ni­bles. Esta técnica es utilizada por hackers para descifrar co­n­tra­se­ñas y, de este modo, obtener acceso a datos externos. Para ello se utiliza un software con un algoritmo simple que realiza la sucesión de varias co­m­bi­na­cio­nes de ca­ra­c­te­res co­m­pue­s­tos por dígitos, espacios y letras hasta una longitud máxima definida.

Cuanto más cortas sean las co­n­tra­se­ñas, más rápido serán de­s­cu­bie­r­tas por el método de fuerza bruta. Es por esto que, por lo general, siempre se re­co­mie­n­da utilizar co­n­tra­se­ñas que incluyan di­fe­re­n­tes ca­ra­c­te­res y por lo que la mayoría de sistemas de cifrado de co­n­tra­se­ñas utilizan claves muy largas. Debido a que los re­que­ri­mie­n­tos técnicos para los ataques de fuerza bruta son cada vez más fáciles de conseguir, es posible realizar un mayor número de intentos por unidad de tiempo, lo que hace de un sistema de pro­te­c­ción contra los llamados brute force attacks una necesidad.

¿Por qué no debes tomarte los ataques de fuerza bruta a la ligera?

Dada la na­tu­ra­le­za primitiva del método, se esperaría que se aplicaran medidas de seguridad apro­pia­das, des­afo­r­tu­na­da­me­n­te no siempre es así. Po­te­n­cia­l­me­n­te, cualquier sistema conectado a Internet puede verse co­m­pro­me­ti­do por estos ataques. Una vez un hacker ha pasado des­ape­r­ci­bi­do y se ha en­ga­n­cha­do a un sistema (algo que puede suceder más rápido de lo que se cree) descifrar sus co­n­tra­se­ñas no será co­m­pli­ca­do. La mayoría de los sistemas ope­ra­ti­vos ejecutan archivos y bases de datos donde se almacenan los ide­n­ti­fi­ca­do­res y las co­n­tra­se­ñas de sus usuarios. Por ejemplo, en los sistemas Windows, las co­n­tra­se­ñas se en­cue­n­tran en el archivo .sam y en los sistemas unixoides en el archivo .psswd o .shadow.

Aunque las co­n­tra­se­ñas en estos archivos no están en formato de texto, pues han sido co­di­fi­ca­das pre­via­me­n­te uti­li­za­n­do al­go­ri­t­mos cri­p­to­grá­fi­cos, el atacante puede acceder a los archivos si estos no están pro­te­gi­dos contra accesos no au­to­ri­za­dos. Este puede crear una copia del archivo y ejecutar en ella di­fe­re­n­tes ataques de fuerza bruta sin tener que mantener la conexión con el sistema. Ac­tua­l­me­n­te, en principio, solo existen tres variables que facilitan que el atacante cumpla su cometido:

  • La duración de cada paso de la ve­ri­fi­ca­ción
  • La longitud de la co­n­tra­se­ña
  • La co­m­ple­ji­dad de la co­n­tra­se­ña

La duración de cada paso de ve­ri­fi­ca­ción, es decir, el tiempo utilizado para el intento con cada posible co­n­tra­se­ña, depende de la potencia de cálculo que el atacante tenga a su di­s­po­si­ción. A más potencia, mayor velocidad de sucesión de los intentos. La longitud y la co­m­ple­ji­dad de­te­r­mi­nan el número de posibles co­m­bi­na­cio­nes de ca­ra­c­te­res que pueden componer una co­n­tra­se­ña y, por lo tanto, el número de opciones que deben ser uti­li­za­das durante el ataque de fuerza bruta. A co­n­ti­nua­ción, eje­m­pli­fi­ca­mos cómo afecta la longitud y la co­m­ple­ji­dad de las co­n­tra­se­ñas a la duración:

Número de ca­ra­c­te­res 26 ca­ra­c­te­res 72 ca­ra­c­te­res
Tipo de ca­ra­c­te­res Mi­nú­s­cu­las Mi­nú­s­cu­las y ma­yú­s­cu­las, ca­ra­c­te­res es­pe­cia­les, números
Longitud máxima de la co­n­tra­se­Ã±a 8 ca­ra­c­te­res 8 ca­ra­c­te­res
Posibles co­m­bi­na­cio­nes Aprox. 209 millones Aprox. 722 billones
Potencia de cálculo Aprox. 100 millones de funciones hash por segundo Aprox. 100 millones de funciones hash por segundo
Duración de la búsqueda exhau­s­ti­va Aprox. 35 minutos Aprox. 83 días

La tabla muestra que, con una co­n­tra­se­ña simple y uti­li­za­n­do 26 ca­ra­c­te­res, un PC moderno co­m­pro­ba­ría todas las co­m­bi­na­cio­nes posibles en tan solo 35 minutos. Si la secuencia se extiende a 72 ca­ra­c­te­res, con la misma potencia de cálculo, el método brute force tardaría unos 83 días en co­m­ple­tar­se. Sin embargo, no conviene confiarse, pues métodos de cracking como el ataque de di­c­cio­na­rio (co­m­bi­na­cio­nes de palabras) o el uso de tablas arcoíris (se­cue­n­cias contiguas de co­n­tra­se­ñas) puede acelerar la duración de un ataque de fuerza bruta.

¿Cómo pro­te­ge­r­se de estos ataques?

In­de­pe­n­die­n­te­me­n­te de si un ataque de fuerza bruta tiene como objetivo el archivo central de co­n­tra­se­ñas de un sistema o, como en el caso de iCloud, el atacante cuenta con el Apple ID de la víctima, los pre­ce­de­n­tes prueban la im­po­r­ta­n­cia de pro­te­ge­r­se de este pe­ne­tra­n­te método para descifrar co­n­tra­se­ñas. Por lo general, la mayoría de usuarios conoce los pri­n­ci­pios básicos para crear co­n­tra­se­ñas seguras: se deben utilizar co­m­bi­na­cio­nes co­m­pue­s­tas por di­fe­re­n­tes tipos de ca­ra­c­te­res; en el mejor de los casos, se usan ma­yú­s­cu­las y mi­nú­s­cu­las, así como también números y ca­ra­c­te­res es­pe­cia­les. Y, por supuesto, cuanto más larga sea la co­n­tra­se­ña, más difícil será hackearla.

El panorama para la creación de co­n­tra­se­ñas para servicios online es un poco más co­m­pli­ca­do, pues está sujeto a las co­n­di­cio­nes di­s­pue­s­tas por el proveedor. Los re­qui­si­tos típicos son una longitud máxima de entre ocho y diez ca­ra­c­te­res y, con fre­cue­n­cia, un número limitado de números y letras, algo que sin las medidas de seguridad adi­cio­na­les no resulta muy sa­ti­s­fa­c­to­rio. En estos casos es necesario que estés al tanto de las pre­cau­cio­nes y medidas de los ope­ra­do­res del proyecto web en lo que respecta a los ataques de fuerza bruta. Si eres el ad­mi­ni­s­tra­dor de una página web con un mecanismo de inicio de sesión, toda esta re­s­po­n­sa­bi­li­dad recaerá sobre tus hombros. Para ello cuentas con dos posibles enfoques:

  • Ga­ra­n­ti­zar la pro­te­c­ción del mecanismo de co­n­tra­se­ñas
  • Es­ta­ble­cer un método de au­te­n­ti­ca­ción mu­l­ti­fa­c­tor

Proteger el mecanismo de co­n­tra­se­ñas debería ser un co­m­po­ne­n­te estándar en las máscaras de acceso, sin embargo, como lo demuestra el ya me­n­cio­na­do escándalo de iCloud, este no siempre es el caso. Este proceso de pro­te­c­ción hace re­fe­re­n­cia a im­ple­me­n­tar es­tra­te­gias que di­fi­cu­l­ten el trabajo al software de brute force. Así, en caso de que el usuario o atacante in­tro­du­z­ca una co­n­tra­se­ña in­co­rre­c­ta, la opción para in­tro­du­cir otra co­n­tra­se­ña aparecerá solo después de un corto periodo de tiempo. También es posible aumentar el lapso de tiempo de espera a medida que aumentan los intentos fallidos. Para ir un paso más allá, como lo hizo Apple después del ataque, es posible bloquear la cuenta del usuario co­m­ple­ta­me­n­te después de un cierto número de intentos de registro.

A menudo, los métodos de au­te­n­ti­ca­ción mu­l­ti­fa­c­tor son ofrecidos de manera opcional por muchos pro­vee­do­res. Con estos, estás di­fi­cu­l­ta­n­do un poco más el proceso de registro, pues además de la co­n­tra­se­ña, es necesario que el usuario in­tro­du­z­ca un co­m­po­ne­n­te adicional. Este co­m­po­ne­n­te puede ser la respuesta a una pregunta secreta, un PIN o el llamado captcha. Estos últimos son pequeñas pruebas que pe­r­mi­ti­rán a la autoridad no­ti­fi­ca­n­te de­te­r­mi­nar si se trata de un usuario humano o, como es típico en los ataques de fuerza bruta, de un robot.

Unir fuerzas para combatir a la fuerza bruta

Además de las medidas an­te­rio­r­me­n­te me­n­cio­na­das, existen algunos trucos adi­cio­na­les para prevenir ataques de fuerza bruta. Por lo general, todo software de brute force trabaja con di­fe­re­n­tes patrones de ide­n­ti­fi­ca­ción, lo que se convierte en un obstáculo, por ejemplo, cuando los mensajes de error estándar no son enviados de vuelta al navegador, sino desviados a un sistema externo (p. ej., a otra página web). Otro factor que puede re­pre­se­n­tar problemas a algunas he­rra­mie­n­tas de hacking es utilizar di­fe­re­n­tes nombres para los campos y textos que aparecen después de un intento fallido de inicio de sesión. En cualquier caso, si quieres aumentar la seguridad de tu web y de tus co­n­tra­se­ñas siempre es re­co­me­n­da­ble im­ple­me­n­tar, a la vez, varias medidas de pro­te­c­ción contra ataques de fuerza bruta. Para algunas pla­ta­fo­r­mas y apli­ca­cio­nes existen plugins o ex­te­n­sio­nes es­pe­cí­fi­cas para prevenir ataques de fuerza bruta. El add on Jetpack, que, en principio, facilita la ad­mi­ni­s­tra­ción de páginas web en WordPress, tiene integrado, por ejemplo, un módulo para prevenir ataques pe­li­gro­sos que se basa en una lista de di­re­c­cio­nes IP blo­quea­das. Las di­re­c­cio­nes IP recogidas en esta lista están re­la­cio­na­das de alguna forma con todos los ataques de fuerza bruta rea­li­za­dos a webs de WordPress.

Ir al menú principal