La noticia (EN) se hacía pública a primera hora de la mañana del día de ayer, pero he preferido no pronunciarme en caliente hasta ahora en espera de que los investigadores arrojaran algo más de luz (EN) sobre el ataque. Cosa que ha ocurrido al medio día.
WPA2, el protocolo de cifrado que hasta el momento recomendábamos activar por defecto en nuestros routers, ha sido comprometido. Y como ya es habitual en estos casos, nos ha tocado leer y oír un poco de todo.
Vamos a explicar al detalle ante qué estamos y qué impacto real tendrá en la sociedad.
Comencemos.
Índice de contenido
Qué es KRACK y cómo funciona
KRACK (EN/PDF), abreviatura de Key Reinstallation Attacks, es una prueba de concepto que estos investigadores han desarrollado para demostrar que en efecto WPA2 es susceptible de una serie de ataques que podrían comprometer la privacidad y seguridad de toda conexión realizada mediante este protocolo.
El CERT estadounidense ha enviado en las últimas horas una alerta a alrededor de 100 organizaciones con el siguiente mensaje:
US-CERT ha sido consciente de varias vulnerabilidades de administración clave en el protocolo de seguridad Wi-Fi Protected Access II (WPA2) de 4 vías. El impacto de la explotación de estas vulnerabilidades incluye descifrado, repetición de paquetes, secuestro de conexión TCP, inyección de contenido HTTP y otros. Tenga en cuenta que, como problemas de nivel de protocolo, la mayoría o todas las implementaciones correctas del estándar se verán afectadas. El CERT / CC y el investigador informante KU Leuven harán públicas estas vulnerabilidades el 16 de octubre de 2017.
Básicamente estamos ante un ataque que tiene como objetivo obtener el handshake que se crea la primera vez que nos conectamos a la red. Un elemento necesario para establecer las claves con las que más adelante se cifra el tráfico entre el cliente y el punto de acceso (el router, habitualmente).
Como ya sabrá, existen diferentes protocolos de conexión. Los más típicos son WEP, WPA y WPA2. Tanto WEP como WPA ya se consideraban protocolos vulnerables a ataques, y en el caso de WEP, para colmo, se podían realizar ataques mediante métodos “estáticos” de inyección, lo que facilitaba aún más las cosas, y motivo por el que hoy en día prácticamente ya se dice que WEP es como no tener protegida la conexión.
Para atacar a WPA2 hasta el momento se tenía que recurrir a fuerza bruta. Con este ataque, que hace uso de hasta 10 CVEs distintas (CVE-2017-13077, CVE-2017-13078, CVE-2017-13079, CVE-2017-13080, CVE-2017-13081, CVE-2017-13082, CVE-2017-13084, CVE-2017-13086, CVE-2017-13087, CVE-2017-13088), es posible capturar la clave aprovechándose de cómo funciona el handshake de cuatro vías presente en las conexiones mediante WPA2.
Para ello, han encontrado la manera (con esas vulnerabilidades antes mencionadas) de forzar el reenvío de las claves, calculando gracias a ello la clave final que se utiliza para el cifrado de la conexión.
Y con ello, el atacante podría ver lo que estamos haciendo, interferirlo, modificarlo, o incluso usurparlo, lo que abre la veda a cualquier maldad que se le pueda ocurrir.
Los límites de la vulnerabilidad de WPA2
Ahora bien, hay que dejar claros una serie de puntos:
- Es un riesgo local: Es decir, el atacante tiene que estar cerca físicamente de la víctima para realizar el ataque. O a lo sumo, tener un dispositivo de escucha cercano y operar en remoto. No estamos ante una vulnerabilidad que pueda automatizarse desde un centro de control, como sí ocurrió en su día con Heartbleed, Shellshock, POODLE. Lo que minimiza considerablemente el riesgo potencial del ataque.
- Es una vulnerabilidad grave, pero no es el fin del mundo: Lo que me parece que se está obviando en la mayoría de artículos que he estado leyendo es que aunque en efecto el que se pueda descifrar la conexión mediante WPA2 es un riesgo muy importante a tener en cuenta, esto no significa que veamos de facto comprometida cualquier comunicación que hagamos en la red. Afortunadamente cada vez más y más servicios realizan conexiones mediante protocolos seguros TLS o SSL, lo que quiere decir que aunque WPA2 se vea comprometido, el atacante tendrá acceso a una serie de conexiones que vienen cifradas mediante estos otros protocolos. Y es más, si gracias a este ataque el atacante es capaz de usurpar por ejemplo nuestra página del banco, hay que tener en cuenta que al realizar la conexión a otro dominio, y puesto que la amplia mayoría de servicios que manejan información crítica ya hacen uso de HTTPs, como mínimo el navegador nos debería alertar de que estamos ante una conexión no segura o una conexión distinta a la habitual.
- Puerta de acceso a denegaciones de servicio, MITM y redirecciones: Decía que la vulnerabilidad es grave, porque aunque en efecto toda conexión realizada mediante protocolo seguro seguirá realizándose por ese protocolo, este tipo de ataques también abren la veda a que podamos negarle el servicio a X targets. Puesto que podemos interceder en la comunicación, también podemos bloquearla, dejando a la víctima sin servicio, o redirigiendo su tráfico hacia otros derroteros (DDoS a otras víctimas, por ejemplo). Y por tanto, también pueden surgir ataques de tipo Man in the Middle, e incluso redirecciones de HTTPs a HTTP. Para esto último (y de paso, para la vida en el tercer entorno en general) yo recomendaría tener instalado HTTPs Everywhere (EN) en nuestro navegador. Lo instalas y te olvidas del asunto.
Qué impacto tiene a nivel global
Todas las implementaciones de WPA2 actuales son, al parecer, vulnerables. Es decir, que hoy en día toda conexión mediante WPA2 es susceptible de ser comprometida.
Dependiendo de cómo operen estas vulnerabilidades, lo mismo no sirve únicamente con que el sistema operativo de turno saque un parche, sino que habría también que actualizar todos y cada uno de los dispositivos de una organización o un hogar. Ordenadores, claro, pero también gadgets, routers y dispositivos del Internet de las Cosas.
Algo que, como bien sabe, hoy en día es mera utopía.
Y ahí está el verdadero problema. Porque lo mismo estos dispositivos jamás van a recibir la actualización que necesitarían para parchear este ataque, comprometiendo al resto de dispositivos que sí la han recibido. Y puesto que algunos de ellos tienen un ciclo de vida relativamente alto (descontando los cambios de operador, ¿cada cuánto cambia usted su router doméstico?), hablamos de un problema más que seguirá presente durante años, inclusive décadas, en el caso de organizaciones (¿cada cuánto cree usted que una PYME cambia su infraestructura de red?).
Un problema que, recalco, está alimentado por todos y cada uno de nosotros. Tan mal está que haya fabricantes de dispositivos que ni siquiera se enteren de esta situación (y por ende, jamás vayan a sacar un parche que lo solventa), como aquellos otros que aún a sabiendas y por motivos de negocio, no ven interesante dignarse en desarrollar el parche, como todos los intermediarios por donde ese parche debería pasar y que o bien ni son conscientes de la necesidad, ni se preocuparán en que ello llegue al usuario, hasta, por supuesto, el cliente final, que lo mismo si la actualización no es forzada jamás va a dignarse a realizarla.
Mientras no haya un compromiso serio por parte de la cadena de producción, seguiremos experimentando situaciones semejantes. Y mientras no haya una preocupación real del grueso de la sociedad en estos temas, no habrá compromiso serio por parte de los productores.
El pez que se muerde la cola, vaya…
¿Qué podemos hacer para minimizar su impacto?
hoy en día, y en espera de ver qué empresas se dignan a liberar parches, por nuestra parte lo único que podemos hacer es intentar utilizar únicamente servicios mediante HTTPs (como ocurre con esta página), y en su defecto, hacer uso de conexiones VPN.
Con eso no evitamos que podamos ser susceptibles de un ataque a la red WPA2, pero al menos el atacante únicamente obtendrá información relacionada con los metadatos de esa comunicación, no con la comunicación en sí (que es lo que va cifrado).
Y a medio/largo plazo, intentar concienciar a la gente en la importancia de demandar productos que además de funcionales sean seguros, con un ciclo de vida de actualizaciones claro y estandarizado que evite que situaciones como esta puedan volver a ocurrir.
Edit unas horas más tarde: Ya hay disponibles parches para Linux (EN), Windows (EN), MacOS e iOS (EN). En Android se espera un parche en Noviembre (EN). Pero el problema es lo de siempre, ¿cuántos de esos usuarios actualizarán, o tan siquiera les llegará la actualización.
________
Si contenidos como este le sirve en su día a día, piense si merece la pena invitarme a lo que vale un café, aunque sea digitalmente.