Wifibox 0.10 — entorno para utilizar controladores de WiFi de Linux en FreeBSD

Está disponible el lanzamiento del proyecto Wifibox 0.10, que apunta a resolver el problema del uso de adaptadores inalámbricos en FreeBSD para los cuales no existen controladores necesarios. El funcionamiento de los adaptadores problemáticos para FreeBSD se realiza a través del inicio de un sistema huésped con Linux, que carga los controladores nativos para dispositivos inalámbricos.

La instalación del sistema huésped con controladores está automatizada y todos los componentes necesarios están organizados en un paquete listo de wifibox, que se inicia al arrancar mediante el servicio rc incluido. También se maneja correctamente la transición a modo de suspensión. El entorno puede aplicarse potencialmente a cualquier tarjeta WiFi compatible con Linux, pero se ha probado principalmente en chips de Intel. También se verificó el correcto funcionamiento en sistemas con chips inalámbricos Qualcomm Atheros y AMD RZ608 (MediaTek MT7921K).

El sistema huésped se inicia utilizando el hipervisor Bhyve, que organiza el paso de acceso a la tarjeta inalámbrica. Se requiere un sistema con soporte de virtualización de hardware (AMD-Vi o Intel VT-d). El sistema huésped se basa en la distribución Alpine Linux, construida sobre la biblioteca del sistema Musl y el conjunto de utilidades BusyBox. El tamaño de la imagen ocupa aproximadamente 30 MB en disco y consume alrededor de 90 MB de memoria RAM.

Para conectarse a la red inalámbrica se utiliza el paquete wpa_supplicant, cuyos archivos de configuración se sincronizan con los ajustes del entorno principal de FreeBSD. El socket Unix que controla el wpa_supplicant creado se pasa al entorno anfitrión, lo que permite utilizar las utilidades estándar de FreeBSD para conectarse y trabajar con la red inalámbrica, por ejemplo, se pueden utilizar las utilidades wpa_cli y wpa_gui (net/wpa_supplicant_gui).

En esta nueva versión se ha revisado el mecanismo de paso de WPA al entorno principal, lo que permite la compatibilidad tanto con wpa_supplicant como con hostapd. Se ha reducido la cantidad de memoria requerida para el sistema huésped. Se ha dejado de dar soporte a FreeBSD 13.0-RELEASE.

Además, se puede mencionar el trabajo en la mejora de los controladores de tarjetas inalámbricas en chips Intel y Realtek ofrecidos en FreeBSD. Con el apoyo de la FreeBSD Foundation, se continúa el desarrollo del nuevo controlador iwlwifi, incluido en FreeBSD 13.1. Este controlador se basa en el controlador de Linux y en el código del subsistema net80211 de Linux, soporta el estándar 802.11ac y puede utilizarse con nuevos chips inalámbricos Intel. El controlador se carga automáticamente durante el arranque al detectar la tarjeta inalámbrica correspondiente. El funcionamiento de los componentes de la pila inalámbrica de Linux se garantiza mediante la capa LinuxKPI. Anteriormente, se había portado un controlador similar para FreeBSD, el iwm.

Paralelamente, comenzó el desarrollo de los controladores rtw88 y rtw89 para los chips inalámbricos Realtek RTW88 y RTW89, que también se desarrollan mediante la transferencia de los controladores correspondientes de Linux y funcionan a través de la capa LinuxKPI. El controlador rtw88 ya está listo para pruebas iniciales, mientras que el controlador rtw89 aún se encuentra en desarrollo.

Además, se pueden mencionar las publicaciones de detalles y un exploit listo relacionados con una vulnerabilidad (CVE-2022-23088) en la pila inalámbrica de FreeBSD, corregida en la actualización de abril. Esta vulnerabilidad permite ejecutar código en el nivel del núcleo mediante el envío de un cuadro especialmente diseñado mientras el cliente está en modo de escaneo de red (en la etapa antes de la vinculación de SSID). El problema es causado por un desbordamiento de búfer en la función ieee80211_parse_beacon() durante el análisis de los cuadros beacon transmitidos por el punto de acceso. El desbordamiento fue posible debido a la falta de verificación de la correspondencia entre el tamaño real de los datos y el tamaño indicado en el campo del encabezado. El problema se manifiesta en versiones de FreeBSD formadas desde 2009.

Wifibox 0.10 - entorno para el uso de controladores WiFi de Linux en FreeBSD

Entre los cambios recientes no relacionados con la pila inalámbrica en FreeBSD, se realizó una optimización del tiempo de arranque, que se redujo de 10 a 8 segundos en el sistema de prueba; se implementó el módulo GEOM gunion para trasladar a otro disco los cambios realizados por encima del disco disponible en modo solo lectura; se prepararon los primitivos criptográficos XChaCha20-Poly1305 AEAD y curve25519 para la API de criptografía del núcleo, necesarios para el controlador. VPN WireGuard.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster