El hallazgo de vulnerabilidades relacionadas a KrØØk
KrØØk (formalmente CVE-2019-15126) es una vulnerabilidad en chips Wi-Fi de Broadcom y Cypress que permite el descifrado no autorizado de una parte del tráfico WPA2 cifrado. Específicamente, el fallo ha llevado a que los datos de la red inalámbrica sean cifrados con una clave de sesión por pares WPA2 compuesta por todos ceros en lugar de la clave de sesión adecuada que había sido establecida previamente en el 4-way handshake. Este estado indeseable ocurre en chips de Broadcom y Cypress vulnerables después de una disociación de Wi-Fi.
La explotación de KrØØk permite a los adversarios interceptar y descifrar datos (potencialmente sensibles) de interés y, en comparación con otras técnicas comúnmente utilizadas contra Wi-Fi, la explotación de KrØØk tiene una ventaja significativa: si bien deben estar dentro del alcance de la señal de Wi-Fi, los atacantes no necesitan estar autenticados y asociados a la WLAN. En otras palabras, no necesitan conocer la contraseña de Wi-Fi.
Trabajamos con los fabricantes afectados (así como con ICASI) a través de un proceso de divulgación responsable antes de revelar públicamente la falla en la Conferencia RSA en febrero de 2020. Esto llamó la atención de muchos otros fabricantes de chipsets y dispositivos, algunos de los cuales descubrieron que también tenían productos vulnerables, y desde entonces han lanzado parches. Mantenemos una lista de los avisos lanzados por los proveedores relacionados en esta página web [1].
Si bien no observamos la CVE-2019-15126 en otros chips de Wi-Fi que no sean los de Broadcom y Cypress, sí encontramos vulnerabilidades similares que afectaron a chips de otros proveedores. Estos hallazgos fueron presentados por primera vez en Black Hat USA 2020 y los describiremos brevemente a continuación.
Qualcomm – CVE-2020-3702
Uno de los chips que observamos, además de los de Broadcom y Cypress, eran de Qualcomm. La vulnerabilidad que descubrimos (a la que se le asignó la CVE-2020-3702) también fue desencadenada por una disociación y permitió la indeseada divulgación de datos al transmitir datos no cifrados en lugar de frames de datos cifrados -muy similar a KrØØk. Sin embargo, la principal diferencia es que, en lugar de estar encriptados con una clave de sesión totalmente cero, los datos no están encriptados en absoluto (a pesar de que las flags de encriptación están configuradas).
Los dispositivos que probamos y que descubrimos eran vulnerables son el Smart Home Hub D-Link DCH-G020 y el router inalámbrico Turris Omnia. Por supuesto, cualquier otro dispositivo no parcheado que use los conjuntos de chips Qualcomm vulnerables también será vulnerable.
Después de nuestra divulgación, Qualcomm se mostró muy cooperativo y en julio lanzó un parche para al controlador utilizado en sus productos con soporte oficial. Sin embargo, no todos los dispositivos con chips Qualcomm utilizan este controlador de su propiedad (en algunos casos se utilizan controladores Linux de código abierto), como el controlador ascendente "ath9k", por ejemplo. Como no está desarrollado activamente por Qualcomm, no está claro en el momento de escribir este artículo si recibirá un parche de Qualcomm o de la comunidad de código abierto.
MediaTek y Microsoft Azure Sphere
También observamos la manifestación de una vulnerabilidad similar (es decir, falta de cifrado) en algunos chips Wi-Fi de MediaTek.
Uno de los dispositivos afectados es el router ASUS RT-AC52U. Otro es el kit de desarrollo de Microsoft Azure Sphere, que analizamos como parte de nuestra asociación a Azure Sphere Security Research Challenge. Azure Sphere utiliza el microcontrolador MT3620 de MediaTek y se dirige a una amplia gama de aplicaciones de IoT, que incluyen el hogar inteligente, el comercial, el industrial y muchos otros dominios.
Según MediaTek, los parches de software que solucionan el problema se lanzaron durante marzo y abril de 2020. La corrección para MT3620 se incluyó en la versión 20.07 de Azure Sphere OS, lanzada en julio de 2020.
Lanzamientio de script para pruebas
Como han pasado más de cinco meses desde que revelamos públicamente la vulnerabilidad KrØØk, y varios investigadores independientes han publicado varias pruebas de concepto, hemos decidido lanzar el script que hemos estado utilizando para probar si los dispositivos son vulnerables a KrØØk. También hemos incluido pruebas para las nuevas variantes descritas aquí. Este script puede ser utilizado por investigadores o fabricantes de dispositivos para verificar que se hayan parcheado dispositivos específicos y que ya no sean vulnerables.
Un agradecimiento especial a nuestro colega Martin Kalužník, quien contribuyó enormemente a esta investigación.
[1] Si usted tiene un comunicado que quisiera agregar a esta lista contáctenos a threatintel[at]eset.com.