Configurar un router inalámbrico correctamente puede convertirse en una tarea que está fuera del alcance del usuario promedio, pero bien vale la pena el esfuerzo de leer guías y tutoriales para hacerlo uno mismo. Como alternativa, los fabricantes han aplicado en muchos de sus modelos la certificación WPS (WiFi Protected Setup), que reduce en gran medida la complejidad de dicha configuración. Lamentablemente, lo que parece haberse ganado en sencillez se habría perdido en seguridad, ya que se ha descubierto una seria vulnerabilidad que contribuye al rápido descubrimiento del número PIN asociado al router.
A pesar de que se ha publicado mucha información al respecto, tanto aquí en NeoTeo como en otros sitios especializados, todavía es relativamente común encontrar una red WiFi abierta que no esté asociada a un restaurante, establecimiento de comida rápida, tienda y/o centro comercial. Activar un protocolo de seguridad requiere de pocos pasos, pero la idea de ingresar a la configuración interna del router, escoger un protocolo, establecer la contraseña (y no olvidarse de ella) y aplicarla a todos los dispositivos que se conecten a la red tiende a ser mucho más de lo que un usuario está dispuesto a aceptar. Ante esta negativa, muchos fabricantes han adoptado la certificación WPS para sus dispositivos. El WiFi Protected Setup permite que un usuario pueda configurar su conexión inalámbrica fácilmente, y en general, lo único que se necesita es presionar un botón e ingresar un número PIN de ocho dígitos (no caracteres), con algunas variantes entre modelo y modelo.
Hasta aquí todo parece normal, pero un reciente descubrimiento realizado por un investigador de seguridad de nombre Stefan Viehböck, ha colocado a todo el sistema WPS en jaque. Los detalles han sido publicados a través de su sitio oficial y liberados al público en un documento PDF titulado “Brute Forcing WiFi Protected Setup”. Básicamente, se trata de una vulnerabilidad de diseño a través de la cual un router entrega mucha más información de la necesaria al “supuesto” cliente cuando el número PIN es incorrecto. En algunos modelos, el PIN es generado por software, pero lo más común es encontrarlo impreso en la etiqueta del router. Si al ingresar el cuarto dígito, los primeros cuatro que forman el PIN son incorrectos, el router envía un mensaje. Y si al ingresar el sexto dígito, los valores 5 y 6 son incorrectos, se envía un nuevo mensaje. El hecho de que el router “reporte” si los dígitos son incorrectos permite que un atacante pueda refinar la aplicación de fuerza bruta, a un punto tal que en vez de explorar cien millones de combinaciones, sean necesarios apenas veinte mil intentos.
Pero eso no es todo: El octavo dígito del PIN cumple el rol de “checksum” para los siete anteriores, y es entregado por el mismo router durante el intercambio de datos. Esto hace que los veinte mil intentos se reduzcan a aproximadamente once mil. El documento explica que muchos routers cuentan con un “tiempo de bloqueo” que rechaza cualquier negociación de PIN si recibe demasiados números incorrectos, pero este bloqueo dura poco tiempo. Un router sin este bloqueo (se estiman casi 50 ataques por minuto) podría entregar su PIN en menos de cuatro horas, aunque una pausa lo suficientemente larga podría convertir a este tipo de ataque en algo tedioso. Viehböck ha reportado esto al CERT de los Estados Unidos, y la recomendación inmediata a los usuarios es que desactiven el WPS y reconfiguren manualmente sus dispositivos. Los involucrados deberán intercambiar mucha información con los fabricantes para determinar los modelos afectados (algunas actualizaciones de firmware serán necesarias), pero se habla de millones de dispositivos compatibles con WPS en riesgo. Viehböck publicará en poco tiempo una “herramienta de fuerza bruta” para experimentación y diagnóstico, aunque sabemos muy bien que no faltará quien use la herramienta con otra cosa en mente.