Se tiene la idea de que las redes inalámbricas 802.11 cuentan con un nivel de protección alto cuando se encuentran configuradas mediante un cifrado WPA/WPA2, sin embargo, es importante hacer tres observaciones con respecto a este tema.
La primera se relaciona con la protección establecida por estos protocolos, debido a que principalmente se refieren a la autenticación, por lo que otros elementos básicos de seguridad, como la disponibilidad, no son cubiertos por el control, lo que implica la implementación de un conjunto de medidas adicionales para proporcionar un nivel de seguridad aceptable.
Por otro lado, la combinación de estos protocolos en conjunto con WPS ( Wi-Fi Protected Setup), no da el resultado esperado, sino que se expone información debido a que existen vulnerabilidades que eliminan la protección brindada por la fortaleza de estos protocolos. De lo anterior se deriva la herramienta Reaver, muy popular en los últimos meses, la cual aprovecha la divulgación para vulnerar redes inalámbricas del tipo de cifrado WPA/WPA2.
Finalmente, la fortaleza per se que utiliza WPA/WPA2 está dada por el nivel de robustez de la contraseña, por lo que las contraseñas sin la fortaleza suficiente o configuradas por defecto por los fabricantes, son vulnerables a ataques de fuerza bruta.
A lo largo del artículo se expondrá principalmente el segundo punto, debido a que los otros son más triviales.
¿Qué es WPS?
Wi-Fi Protected Setup™ es un programa opcional de certificación que proporciona la Wi-Fi Alliance[1], diseñado para facilitar la instalación y configuración de seguridad en redes inalámbricas de área local 802.11. Este programa fue presentado por la Wi-Fi Alliance a principios de 2007, proporciona un conjunto de soluciones de configuración de red para hogares y pequeñas oficinas. Permite administrar y configurar de manera segura los elementos de una red inalámbrica pequeña sin necesidad de tener conocimientos avanzados en el tema.[2]
En WPS existen dos opciones principales de configuración de seguridad, Personal Identification Number (PIN) y Push Button Configuration (PBC), los Access Point deben ofrecer ambas opciones y los clientes deben ofrecer, al menos, la opción de seguridad PIN.
Método PIN
En este método se proporciona un PIN a los distintos dispositivos que se quieren integrar a la red con la finalidad de garantizar que dicho dispositivo es válido, previniendo la conexión accidental o maliciosa de dispositivos no deseados. El PIN suele estar impreso en el Access Point, como se muestra en la figura 2, y lo proporciona el proveedor de servicio de Internet. Este código debe ser ingresado por el usuario mediante una interfaz gráfica o una aplicación proporcionada por el Access Point.
Método PBC
Mediante el método PBC es posible aplicar cifrado de datos al presionar un botón físico o lógico situado en el Access Point y el cliente.
El uso de WPS simplifica algunas tareas requeridas al momento de configurar una red inalámbrica, por ejemplo, la generación de SSID y contraseña. Además, permite al usuario proteger la red automáticamente mediante los dos métodos mencionados previamente. Otro tipo de protecciones que ofrece este sistema consiste en revisar la configuración de la clave WPA2 y el SSID. Tiene una función tiempo de espera para cancelar el proceso de configuración si el intercambio de credenciales no se establece de manera oportuna. Para mejorar la complejidad de la contraseña, el sistema genera contraseñas robustas evitando que el usuario configure contraseñas fáciles de adivinar.
¿Cómo funciona WPS?
WPS proporciona un procedimiento simple y consistente para agregar nuevos dispositivos a redes Wi-Fi, este procedimiento está basado en un protocolo de detección homogéneo por parte de los fabricantes. El procedimiento utiliza automáticamente un elemento para expedir credenciales a los dispositivos que están asociados en la red. Todos los Access Point certificados con WPS poseen capacidad de registro de nuevos dispositivos. Además, el elemento que registra puede residir en cualquier dispositivo de la red. Un elemento de registro que reside en el Access Point se conoce como Internal Registrar o elemento de registro interno. Un elemento de registro que reside en otro dispositivo de la red se conoce como External Registrar o elemento de registro externo. WPS puede admitir varios elementos de registro en una sola red[3].
El proceso para la configuración de un nuevo dispositivo en la WLAN comienza con una acción iniciada por el asistente de configuración e introduce el PIN o presiona el botón PBC. Ésta es la etapa donde el usuario pretende acceder a la red. WPS inicia el intercambio de información entre el dispositivo y el elemento de registro. Este último expide las credenciales de red (SSID y clave de seguridad) que autorizan al cliente a unirse a ésta. Una vez otorgado el acceso, el nuevo dispositivo puede comunicarse de forma segura transmitiendo datos a través de la red y evitando accesos no autorizados. Una vez que WPS ha finalizado y concede el acceso, la configuración es guardada, por lo que el usuario no tiene que realizar el procedimiento cada vez que quiera acceder. El dispositivo, una vez encendido, realizará una búsqueda automática para asociarse a la red.
WPS puede cifrar los datos y autenticar cada dispositivo, también puede ser utilizado en una red abierta, sin cifrado. El intercambio de credenciales de red e información inalámbricas se realiza mediante el protocolo de autenticación extensible (EAP-WSC), uno de los protocolos de autenticación utilizados en WPA. Se establece un handshake en el que los dispositivos se autentican mutuamente y de ese modo un cliente es aceptado en la red, pues el elemento de registro comunica el SSID y la clave WPA2 previamente compartida (PSK). El uso de un PSK al azar mejora la seguridad al eliminar el uso de contraseñas que pueden ser previsibles y fáciles de obtener.
Por otro lado, en el método de instalación tradicional, el usuario debe configurar manualmente el Access Point para soportar el tipo de cifrado con PSK y, a continuación, debe introducir manualmente el SSID y PSK tanto en el AP como en el cliente. Este enfoque está sujeto a errores del usuario a través de una mala escritura de PSK y SSID. Con WPS, el proceso de intercambio de credenciales requiere poca intervención del usuario, solo hasta que se ha completado la primera acción de configuración (introducir el PIN o presionar el botón PBC), ya que la red emite el nombre y PSK.
La mayoría de los fabricantes, incluyendo Cisco/Linksys, Netgear, D-Link, Belkin, Buffalo, ZyXEL y Technicolor tienen dispositivos certificados en WPS, otros proveedores como TP-Link no están certificados pero cuentan con soporte para WPS.
PIN Internal Registrar
Como se comentó anteriormente, el usuario debe ingresar el PIN en el adaptador de Wi-Fi dentro de una interfaz web del Access Point. El PIN puede estar impreso en el dispositivo (Access Point).
PIN External Registrar
El usuario tiene que ingresar el PIN en el dispositivo del cliente, por ejemplo, en una computadora.
Una vez que se ha explicado teóricamente el funcionamiento de los dos métodos empleados por WPS, se explicarán las vulnerabilidades a las cuales está expuesto.
Problema de seguridad en PIN External Registrar
Debido a que el método de PIN External Registrar no requiere ningún tipo de autenticación, independiente al acto de proporcionar el PIN, es potencialmente vulnerable a ataques de fuerza bruta.
El investigador Stefan Viehböck ha detectado una vulnerabilidad en el proceso de autenticación que permite a un atacante reducir el número de intentos y comprobaciones en un ataque de fuerza bruta para descubrir el PIN de acceso a la red que usa el AP en el protocolo WPS[4]. El ataque es posible, debido a que el protocolo WPS no implementa la posibilidad de limitar el número de intentos posibles. Además, la vulnerabilidad detectada reduce el tiempo necesario para realizar este tipo de ataque a un intervalo de tiempo de 4 a 10 horas.
La vulnerabilidad ha sido detectada en los mensajes EAP-NACK que envía el Registrar (AP) al cliente y/o dispositivo con la primera y segunda mitad del PIN, al iniciar una autenticación externa mediante código PIN. Esta forma de autenticación reduce drásticamente el número de intentos necesarios para averiguar el PIN, disminuyéndolo de 10^8 (100.000.000) a ~ 20.000.
Un atacante puede obtener información acerca de la exactitud de los elementos del PIN basada en las respuestas del Access Point:
· Si se recibe un mensaje EAP-NACK después de enviar M4, se sabe que la primera mitad del PIN es incorrecta.
· Si se recibe un mensaje EAP-NACK después de enviar M6, sabe que la segunda mitad del PIN es incorrecta.
Así los intentos sufren un decremento de 108=100 000 000 a 104 104 =20 000. Como el último dígito pertenece al checksum del PIN, los intentos se reducen a 104 103 =11 000.
La vulnerabilidad se puede resumir como la susceptibilidad a ataques de fuerza bruta de WPS, específicamente PIN WPS, esta vulnerabilidad es dada debido a que la implementación permite indicar cuándo la primera mitad del PIN es correcta lo que reduce considerablemente la cantidad de intentos al ejecutar un ataque de fuerza bruta. Para disminuir el grado de dificultad para la obtención del PIN mediante combinaciones reiteradas, el último dígito es conocido debido a que este dígito representa el checksum o suma de verificación del PIN. Estos dos factores dan como resultado un total de 10^8 a 10^4 10^3 lo que significa 11,000 intentos en total.
La siguiente tabla permite visualizar mejor lo explicado anteriormente:
Para casos más prácticos, existen herramientas como Reaver, las cuales son capaces de identificar la clave WPA/WPA2-PSK de cualquier Access Point que tenga activado WPS. Otra opción es el código[6] escrito de Stefan Viehböck, el cual está incluido en su artículo.Esta vulnerabilidad está referenciada bajo el identificador CVE-2011-5053[5], donde es posible ver los productos afectados y detalles extra.
El resultado de la herramienta Reaver puede observarse en la siguiente imagen:
Mitigación o solución
Se recomienda la desactivación de WPS para eliminar esta vulnerabilidad, algunos proveedores han desarrollado guías especiales para su desactivación, sin embargo, existen dispositivos que no lo permiten.