Cuando se creó WPA se removieron todas las vulnerabilidades relacionadas con la transferencia de paquetes, haciendo que ningún método estadístico pueda agilizar el crackeo. Así que la única manera de obtener un password protegido por WPA es adivinándolo, pero no de uno en uno, el método más famoso es el llamado dictionary attack el cual consiste en utilizar diccionarios que incluyen miles de palabras y passwords comunes, para tratar de comprobar si alguna de esas combinaciones es el password buscado. Sin embargo, es obvio que un password como h1dK:l87u-z jamas podrá ser encontrado por medio de dictionary attack Así que la única manera de obtenerlo es por la técnica de brute force, es decir, por fuerza bruta; lo que quiere decir que la computadora trataría de probar todas las combinaciones posibles.
La clave del protocolo WPA puede contener letras mayúsculas y minúsculas ( $ 26 + 26 $ posibilidades) los diez dígitos ( $ 10 $ posibilidades) y $ 32 $ símbolos especiales, es decir $ 26 + 26 + 10 + 32 = 94 $ posibilidades por cada posición. Supongamos que deseamos obtener un password de $ 10 $ caracteres por medio de brute force, esto equivaldría a $ 94 \cdot 94 \cdot 94 \cdot 94 \cdot 94 \cdot 94 \cdot 94 \cdot 94 \cdot 94 \cdot 94 = 94 ^{10} $ posibles passwords.
Una computadora personal promedio puede probar hasta 500 passwords por segundo, pero suponiendo que hemos ahorrado todo el año para armar nuestra super computadora y compramos un procesador Intel Core i7 a 4.1 ghz y una tarjetas de gráficos NVidia GeForce GTX 295 (480 CUDA Cores), entonces podríamos probar hasta 25,000 passwords por segundo. Haciendo los cálculos $ \frac{94^{10}}{25,000} = 2.154 x 10^{15} $ segundos que equivalen a $ 6.83 x 10^7 $ años, nadie planea vivir tantos años.
Las corporaciones y la mayoría de los negocios contratan compañías especializadas en auditorias, estas compañías se dedican a asegurar los datos, passwords, etc. de los negocios; cuando se trata de asegurar las redes de Wi-Fi estas compañías siempre recomiendan utilizar el protocolo WPA utilizando passwords que no se encuentren en diccionarios y con una longitud de al menos 10 caracteres (como pudimos observar anteriormente, no es nada practico atacar estos passwords por medio de brute force).
Supongamos que una persona que no sabe absolutamente nada de protocolos de seguridad, ni de longitud de password, etc. instala en su departamento su módem con un password con protocolo WPA de 8 caracteres utilizando sólo números (lo mínimo que se puede son 8 caracteres). Entonces, nosotros programaríamos nuestra computadora para que sólo trate de adivinar la contraseña utilizando números, con lo que sólo tendríamos que probar $ 10 \cdot 10 \cdot 10 \cdot 10 \cdot 10 \cdot 10 \cdot 10 \cdot 10 = 10^8 $ posibilidades, con una computadora promedio (500 passwords por segundo) tardaríamos $ \frac{10^8}{500} = 200,000 $ segundos $ = 2.314 $ días (una tarea no tan complicada), si utilizamos la super computadora que armamos (25,000 passwords por segundo) tardaríamos $ \frac{10^8}{25000} = 4000 $ segundos que equivales a $ 1.1 $ horas (algo fácil)
Sin embargo, si somos realistas, es poco probable encontrar un módem con un password que sólo utiliza números y de longitud igual a 8 caracteres. Así que para hacer efectivo el ataque a WPA por medio de brute force necesitamos una super computadora (pero una verdadera super computadora). Así que supongamos que nos han prestado la computadora más poderosa del mundo, la K Computer , capas de procesar 10.51 petaflops por segundo, es decir 10,510,000,000,000 passwords por segundo (nada mal para ser un hardware de 1.25 mil millones de dolares) Así que el password de 10 dígitos utilizando los 94 caracteres tardaría $ \frac{94^{10}}{1.051 x 10^{13}} = 5.125 x 10^6 $ segundos, que equivalen a $ 59.317 $ días (algo bastante razonable para ser la mejor computadora del mundo).
A pesar de una clave de 10 dígitos es vulnerable a la computadora mas potente del mundo, una clave de 63 dígitos no lo es (WPA soporta claves de hasta 63 caracteres). Supongamos que se pone a nuestra disposición las 10 computadoras más poderosas del mundo:
Sin embargo, si somos realistas, es poco probable encontrar un módem con un password que sólo utiliza números y de longitud igual a 8 caracteres. Así que para hacer efectivo el ataque a WPA por medio de brute force necesitamos una super computadora (pero una verdadera super computadora). Así que supongamos que nos han prestado la computadora más poderosa del mundo, la K Computer , capas de procesar 10.51 petaflops por segundo, es decir 10,510,000,000,000 passwords por segundo (nada mal para ser un hardware de 1.25 mil millones de dolares) Así que el password de 10 dígitos utilizando los 94 caracteres tardaría $ \frac{94^{10}}{1.051 x 10^{13}} = 5.125 x 10^6 $ segundos, que equivalen a $ 59.317 $ días (algo bastante razonable para ser la mejor computadora del mundo).
A pesar de una clave de 10 dígitos es vulnerable a la computadora mas potente del mundo, una clave de 63 dígitos no lo es (WPA soporta claves de hasta 63 caracteres). Supongamos que se pone a nuestra disposición las 10 computadoras más poderosas del mundo:
Rank
|
Computer/Year Vendor
|
Rmax
|
1
|
K computer, SPARC64 VIIIfx 2.0GHz, Tofu interconnect / 2011 Fujitsu
|
10510
|
2
|
NUDT YH MPP, Xeon X5670 6C 2.93 GHz, NVIDIA 2050 / 2010 NUDT
|
2566
|
3
|
Cray XT5-HE Opteron 6-core 2.6 GHz / 2009 Cray Inc.
|
1759
|
4
|
Dawning TC3600 Blade System, Xeon X5650 6C 2.66GHz, Infiniband QDR, NVIDIA 2050 / 2010 Dawning
|
1271
|
5
|
HP ProLiant SL390s G7 Xeon 6C X5670, Nvidia GPU, Linux/Windows / 2010 NEC/HP
|
1192
|
6
|
Cray XE6, Opteron 6136 8C 2.40GHz, Custom / 2011 Cray Inc.
|
1110
|
7
|
SGI Altix ICE 8200EX/8400EX, Xeon HT QC 3.0/Xeon 5570/5670 2.93 Ghz, Infiniband / 2011 SGI
|
1088
|
8
|
Cray XE6, Opteron 6172 12C 2.10GHz, Custom / 2010 Cray Inc.
|
1054
|
9
|
Bull bullx super-node S6010/S6030 / 2010 Bull
|
1050
|
10
|
BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz, Voltaire Infiniband / 2009 IBM
|
1042
|
TOTAL
|
22642
|
Entonces podríamos procesar un total de 22,642,000,000,000 passwords por segundo, ahora supongamos que es un password de 12 digitos. Entonces tardaríamos $ \frac{94^{12}}{2.2642 x 10^{13}} = 2.101 x 10^{10} $ segundos, equivalente a 666.22 años (un numero del demonio, no?). Ahora supongamos que la supervivencia de la raza humana depende de descifrar dicho código, así que se pone a nuestra disposición las 100 computadoras más poderosas del mundo, eso equivale a 47009.87 petaflops por segundo, es decir a 47,009,870,000,000 passwords por segundo. Así que para obtener el password de 12 dígitos tardaríamos $ \frac{94^{12}}{4.7009 x 10^{13}} = 1.012 x 10^{10} $ segundos, equivalente a $ 320.9 $ años (la humanidad estaría perdida).
Como hemos podido observar, crackear una contraseña con algoritmo de seguridad WPA/WPA2 (No hay ninguna diferencia en atacar una contraseña WPA a una de WPA2 por brute force) no es tarea sencilla ni para las mejores computadoras del mundo. Así que si el ataque no es por medio de diccionarios, lo mejor es no intentar hacer un brute force pues llevaría años completar el ataque (si es que el mundo sigue existiendo).
No hay comentarios:
Publicar un comentario