Wifibox 0.10 — environnement pour l'utilisation des pilotes WiFi Linux sur FreeBSD

La version 0.10 du projet Wifibox est maintenant disponible, visant à résoudre le problème d'utilisation des adaptateurs sans fil sur FreeBSD pour lesquels il manque les pilotes nécessaires. Le fonctionnement des adaptateurs problématiques pour FreeBSD est assuré par le lancement d'un système invité sous Linux, où les pilotes de périphériques sans fil natifs pour Linux sont chargés.

L'installation du système invité avec les pilotes est automatisée, et tous les composants nécessaires sont regroupés sous forme de paquet prêt à l'emploi, wifibox, qui se lance au démarrage à l'aide du service rc fourni. La gestion de la transition en mode veille est également correctement traitée. L'environnement peut potentiellement être utilisé pour toutes les cartes WiFi prises en charge sous Linux, mais il a principalement été testé sur des puces Intel. Le bon fonctionnement a également été vérifié sur des systèmes avec des puces sans fil Qualcomm Atheros et AMD RZ608 (MediaTek MT7921K).

Le système invité est lancé à l'aide de l'hyperviseur Bhyve, qui organise le passage d'accès à la carte sans fil. Un système avec support de la virtualisation matérielle (AMD-Vi ou Intel VT-d) est nécessaire. La configuration du système invité est basée sur la distribution Alpine Linux, qui utilise la bibliothèque système Musl et l'ensemble d'outils BusyBox. La taille de l'image occupe environ 30 Mo sur le disque et consomme environ 90 Mo de mémoire vive.

Pour se connecter au réseau sans fil, le paquet wpa_supplicant est utilisé, dont les fichiers de configuration sont synchronisés avec les paramètres de l'environnement principal FreeBSD. Le socket Unix contrôlé généré par wpa_supplicant est réacheminé vers l'environnement hôte, permettant d'utiliser les utilitaires FreeBSD pour se connecter et travailler avec le réseau sans fil, notamment les outils wpa_cli et wpa_gui (net/wpa_supplicant_gui).

Dans cette nouvelle version, le mécanisme de passage de WPA vers l'environnement principal a été refondu, ce qui a permis d'assurer la compatibilité à la fois avec wpa_supplicant et hostapd. Le volume de mémoire requis pour le système invité a été réduit. Le support de FreeBSD 13.0-RELEASE a été arrêté.

On peut également noter les travaux visant à améliorer les pilotes proposés pour les cartes sans fil basées sur les puces Intel et Realtek dans FreeBSD. Avec le soutien de la FreeBSD Foundation, le développement d'un nouveau pilote iwlwifi se poursuit, inclus dans FreeBSD 13.1. Ce pilote est basé sur le pilote Linux et sur le code du sous-système Linux net80211, prenant en charge la norme 802.11ac et pouvant être utilisé avec les nouvelles puces sans fil Intel. Le pilote se charge automatiquement au démarrage lors de la détection de la carte sans fil nécessaire. Le fonctionnement des composants de la pile sans fil Linux est assuré par une couche LinuxKPI. Auparavant, le pilote iwm avait été porté de manière similaire pour FreeBSD.

Parallèlement, le développement des pilotes rtw88 et rtw89 pour les puces sans fil Realtek RTW88 et RTW89 a commencé, qui sont également développés par le biais du transfert des pilotes correspondants depuis Linux et fonctionnent grâce à la couche LinuxKPI. Le pilote rtw88 est déjà prêt pour les tests initiaux, tandis que le pilote rtw89 est encore en cours de développement.

De plus, on peut mentionner la publication de détails et d'un exploit prêt à l'emploi concernant la vulnérabilité (CVE-2022-23088) dans la pile sans fil de FreeBSD, corrigée lors de la mise à jour d'avril. Cette vulnérabilité permet d'exécuter son propre code au niveau du noyau en envoyant une trame spécialement formatée pendant que le client est en mode de numérisation de réseau (dans l'étape avant la liaison SSID). Le problème est causé par un débordement de tampon dans la fonction ieee80211_parse_beacon() lors de l'analyse des trames beacon transmises par le point d'accès. Le débordement a été rendu possible par l'absence de vérification de la conformité de la taille réelle des données et de la taille indiquée dans le champ d'en-tête. Le problème apparaît dans les versions de FreeBSD formées depuis 2009.

Wifibox 0.10 - environnement pour l'utilisation des pilotes WiFi Linux sous FreeBSD.

Parmi les changements récents non liés à la pile sans fil dans FreeBSD : une optimisation du temps de démarrage a été réalisée, réduisant le temps sur le système de test de 10 à 8 secondes ; un module GEOM gunion a été mis en œuvre pour transférer sur un autre disque les modifications effectuées sur le disque disponible en mode lecture seule ; pour l'API crypto du noyau, des primitives cryptographiques XChaCha20-Poly1305 AEAD et curve25519 ont été préparées, nécessaires pour le pilote. VPN WireGuard.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster