En primer lugar, decir que es desalentador el tono con el que algunos lectores de este blog hacen llegar sus comentarios. Les insto a que moderen sus formas ya que este pretende ser un foro de discusión técnica, donde argumentos y datos se superpongan a insultos y ofensas, que no tienen cabida. Dicho esto, me gustaría contestar uno a uno los comentarios realizados durante este fin de semana sobre el post de seguridad WPA anterior que ha aparecido recientemente en menéame.net.
Por lo que respecta al usuario Anónimo que afirma que el cálculo ha sido realizado para el caso peor, es decir aquel en el que la “Primary Master Key” (PMK) se encuentra al final de nuestro diccionario, estoy totalmente de acuerdo: se debería considerar el caso medio. Los cálculos reflejan el coste de computar las “Rainbow Tables” (tablas hash precomputadas) para un ESSID y una PSK concreta, obteniendo un ratio mas desalentador (300 p/s) del propuesto inicialmente en el post (400 p/s, y ya dije que fui benévolo) según el estudio realizado en el proyecto final de carrera adjunto [Seguridad en Redes 802.11, PDF, 5MB]. Para ello se compararon los dos algoritmos que actualmente pueden realizar ataques de fuerza bruta a WPA/WPA2: Cowpatty y Aircrack-ng, utilizando para ello diversos procesadores.
Los resultados obtenidos fueron que en un Intel 3 Ghz Core Duo se llegaron a computar un ratio máximo de 300 palabras por segundo, por lo que recalculando tendríamos que para el caso medio, utilizando un alfabeto de 100 caracteres (mayúsculas, minúsculas, números y símbolos) y una PSK de 8 caracteres, un espectro de (100)^8 = 10.000.000.000.000.000 posibles palabras del lenguaje. Multiplicando por 100 la capacidad de cálculo anteriormente comentada (300 palabras/seg.), según dice el fabricante del software:
“With the latest version of Elcomsoft Distributed Password Recovery, it is now possible to crack WPA and WPA2 protection on Wi-Fi networks up to 100 times quicker with the use of massively parallel computational power of the newest NVIDIA chips. Elcomsoft Distributed Password Recovery only needs a few packets intercepted (with any network sniffer that can export data in tcpdump format) in order to perform the attack.” [Referencia]
tardaríamos 10569,930661255 años en el peor de los casos y 5284,965330627 años en el caso medio. Como se puede ver los resultados todavía son mas desalentadores que los comentados en el post inicial.
Ahora supongamos que tenemos una granja de 1000 tarjetas NVIDIA GFORCE y que dividimos el espacio de palabras a calcular repartido en todas ellas. Se tardaría 10,5 años en el peor de los casos y 5,2 años en el caso medio, lo que parece acercarse a valores temporales manejables. No obstante, todos estos cálculos se habían realizado para el mejor de los casos, es decir que el usuario hubiera utilizado una PSK de 8 caracteres. Aumentar tan sólo en 1 la longitud de la contraseña multiplica por un factor de 100 el tiempo necesario para la recuperación, por lo que con sólo 12 caracteres el tiempo necesario tanto en el peor como en el caso medio se dispara de nuevo. Ni cabe tiene que decir que si seguimos aumentando el tamaño de la PSK obtenemos tiempos de recuperación inmanejables.
Por lo que respecta a los comentarios de ValaV afirmado que consigue un incremento “de unas 5000 – 1000 tests por segundo, a 50 millones”, pueden ocurrir dos cosas: que estés confundiendo de protocolo de seguridad (esos cálculos se asemejan más a ataques estadísticos WEP), o que estés utilizando tablas precomputadas, las cuales dudo que lleguen a 50 millones como afirmas. A eso hay que añadir que esas tablas solo son válidas para un ESSID concreto, por lo que no sirven para un ataque genérico.
“Pobrecito Hablador” comenta “deja de pensar en ataques de fuerza bruta que ya no se usan desde hace 20 años”. No voy a comentar tal afirmación, pero sí que me gustaría que comentara cómo realizar un ataque criptológico a RC4 (WPA) o AES (WPA2) sin el uso de la fuerza bruta; quizá estemos ante un nuevo “Bruce Schneier”. Es relevante indicar que con unos simples paquetes capturados de la red no es posible obtener la PSK, dado que lo único que se consigue es la PTK temporal, que no te serviría de mucho ya que que se regenera para cada sesión (se necesita el Handshake). Te aconsejo pegues un vistazo a la serie de posts sobre WPA.
Por lo que respecta a los comentarios de Heffeque, que dice que se aplican datos falsos e ignoran detalles, respeto su opinión pero en ningún momento presenta información que contradiga lo analizado en el post. El calculo CPU:GPU que indicado está basado en la información que la empresa fabricante del software ha dado, para mí “Phising Comercial”, término que parece que ha levantado ampollas.
En relación con este aspecto, cuando una empresa realiza afirmaciones demasiado aventuradas, desde mi punto de vista, sobre una tecnología ampliamente extendida tirando por tierra al grupo de trabajo de IEEE 802.11i, para mi es un Phising en toda regla. Tratando de vender un producto que permite reducir en tiempo de recuperación de la PSK de WPA/WPA2 pero que dista mucho de las afirmaciones que algunas publicaciones han reflejado “WiFi encryption cracked by Russians using Nvidia graphics cards“, me parece apropiado utilizar este término cuando lo que se pretende es “Pescar Clientes”.
Por último, agradezco a todos los comentaristas sus intervenciones (a pesar, en algunos casos, de las formas utilizadas), e insto a los lectores a que tras leer la serie de entradas sobre seguridad en WPA publicados en este mismo blog, aporten argumentos de peso que permitan mostrar que estoy equivocado, o que al contrario estoy en lo cierto y esto no es más que una estrategia comercial apoyada (no intencionadamente, en cualquier caso) por varios medios de comunicación.