De release van het Wifibox-project 0.10 is beschikbaar, gericht op het oplossen van het probleem met het gebruik van draadloze adapters op FreeBSD waarvoor de benodigde stuurprogramma's ontbreken. De problematische adapters voor FreeBSD worden functioneren door een gastensysteem met Linux te starten, waarin de native Linux-stuurprogramma's voor draadloze apparaten worden geladen.
De installatie van het gastensysteem met stuurprogramma's is geautomatiseerd en alle benodigde componenten zijn verpakt in een kant-en-klaar wifibox-pakket dat bij het opstarten wordt uitgevoerd met behulp van de bijgeleverde rc-service. Deze verwerkt ook correct de overgang naar de slaapstand. De omgeving kan potentieel worden gebruikt voor alle WiFi-kaarten die in Linux worden ondersteund, maar is voornamelijk getest met Intel-chips. Ook is de correcte werking op systemen met draadloze chips van Qualcomm Atheros en AMD RZ608 (MediaTek MT7921K) gecontroleerd.
Het gastensysteem wordt uitgevoerd met behulp van de hypervisor Bhyve, die de toegang tot de draadloze kaart organiseert. Voor werking is een systeem vereist dat hardware virtualisatie ondersteunt (AMD-Vi of Intel VT-d). De configuratie van het gastensysteem is gebaseerd op de Alpine Linux-distributie, gebouwd op de systeembibliotheek Musl en het BusyBox-hulpmiddelenpakket. De grootte van het image is ongeveer 30 MB op schijf en verbruikt ongeveer 90 MB RAM.
Voor verbinding met een draadloos netwerk wordt het pakket wpa_supplicant gebruikt, waarvan de configuratiebestanden worden gesynchroniseerd met de instellingen uit de hoofdomgeving van FreeBSD. De beheerssocket van de wpa_supplicant wordt in de hostomgeving doorgegeven, waardoor de standaardhulpmiddelen van FreeBSD voor het verbinden en werken met draadloze netwerken kunnen worden gebruikt, waaronder de tools wpa_cli en wpa_gui (net/wpa_supplicant_gui).
In de nieuwe release is het mechanisme voor het doorgeven van WPA naar de hoofdomgeving herzien, wat het mogelijk maakte om samen te werken met zowel wpa_supplicant als hostapd. Het benodigde geheugen voor het gastensysteem is verminderd. Ondersteuning voor FreeBSD 13.0-RELEASE is stopgezet.
Daarnaast kan de voortgang worden genoemd van het verbeteren van de aangeboden FreeBSD-stuurprogramma's voor draadloze kaarten met Intel- en Realtek-chips. Met de ondersteuning van de FreeBSD Foundation gaat de ontwikkeling door van de nieuwe stuurprogramma iwlwifi, opgenomen in FreeBSD 13.1. Dit stuurprogramma is gebaseerd op het Linux-stuurprogramma en de code uit de Linux-netwerkondersteuning net80211, ondersteunt de standaard 802.11ac en kan worden gebruikt met nieuwe draadloze chips van Intel. Het stuurprogramma wordt automatisch geladen tijdens het opstarten wanneer de benodigde draadloze kaart wordt gedetecteerd. De werking van de componenten van de draadloze stack van Linux wordt gefaciliteerd door de LinuxKPI-laag. Eerder is een vergelijkbare aanpak gebruikt om het stuurprogramma iwm naar FreeBSD te porteren.
Tegelijkertijd is de ontwikkeling van de stuurprogramma's rtw88 en rtw89 voor de draadloze chips Realtek RTW88 en RTW89 begonnen, welke ook worden ontwikkeld door de relevante stuurprogramma's van Linux over te dragen en werken via de LinuxKPI-laag. Het stuurprogramma rtw88 is al klaar voor initiële tests, terwijl het stuurprogramma rtw89 zich nog in de ontwikkelingsfase bevindt.
Bovendien kan worden vermeld dat details en een exploit zijn gepubliceerd, gerelateerd aan de kwetsbaarheid (CVE-2022-23088) in de draadloze stack van FreeBSD, die in de aprilupdate is verholpen. Deze kwetsbaarheid stelt een aanvaller in staat om code op kernniveau uit te voeren door een speciaal vormgegeven frame te versturen terwijl de client in de netwerkscanningmodus is (in de fase vóór het binden van de SSID). Het probleem is veroorzaakt door een buffer overflow in de functie ieee80211_parse_beacon() tijdens de analyse van beacon-frames die door een toegangspunt worden verzonden. De overflow was mogelijk door het ontbreken van een controle van de werkelijke gegevensgrootte en de grootte die in het koptekstveld is opgegeven. Het probleem doet zich voor in FreeBSD-versies die sinds 2009 zijn samengesteld.

Onder de recente wijzigingen in FreeBSD die niet verband houden met de draadloze stack: er is een optimalisatie van de opstarttijd doorgevoerd, die op het test systeem is verkort van 10 naar 8 seconden; de GEOM-module gunion is geïmplementeerd voor het verplaatsen van wijzigingen die op een andere schijf zijn aangebracht, bovenop een schijf die alleen-lezen is; voor de crypto-API van de kernel zijn cryptografische primitieve XChaCha20-Poly1305 AEAD en curve25519 voorbereid, die nodig zijn voor het stuurprogramma. VPN WireGuard.
Bron: opennet.ru
