Wifibox 0.10 - omgeving voor het gebruik van Linux WiFi-stuurprogramma's in FreeBSD

Het Wifibox 0.10-project is nu beschikbaar, gericht op het oplossen van het probleem van FreeBSD met behulp van draadloze adapters waarvoor de benodigde stuurprogramma's ontbreken. De werking van adapters die problematisch zijn voor FreeBSD wordt verzekerd door een gastsysteem met Linux te starten, waarin native Linux-stuurprogramma's voor draadloze apparaten worden geladen.

De installatie van het gastsysteem met stuurprogramma's is geautomatiseerd en alle benodigde componenten zijn verpakt in de vorm van een kant-en-klaar wifibox-pakket, dat bij het opstarten wordt gestart met behulp van de meegeleverde rc-service. Inclusief de overgang naar de slaapmodus wordt correct afgehandeld. De omgeving kan mogelijk worden gebruikt voor alle WiFi-kaarten die worden ondersteund in Linux, maar is voornamelijk getest op Intel-chips. De juiste werking is ook getest op systemen met Qualcomm Atheros en AMD RZ608 (MediaTek MT7921K) draadloze chips.

Het gastsysteem wordt gestart met behulp van de Bhyve-hypervisor, die de doorstuurtoegang tot de draadloze kaart regelt. Vereist een systeem dat hardwarevirtualisatie ondersteunt (AMD-Vi of Intel VT-d). Het gastsysteem is gebaseerd op de Alpine Linux-distributie, gebouwd op basis van de Musl-systeembibliotheek en de BusyBox-set hulpprogramma's. De afbeeldingsgrootte neemt ongeveer 30 MB in beslag op de schijf en verbruikt ongeveer 90 MB RAM.

Om verbinding te maken met een draadloos netwerk wordt het pakket wpa_supplicant gebruikt, waarvan de configuratiebestanden worden gesynchroniseerd met de instellingen van de hoofd-FreeBSD-omgeving. De Unix-besturingssocket die door wpa_supplicant is gemaakt, wordt doorgestuurd naar de hostomgeving, waardoor u standaard FreeBSD-hulpprogramma's kunt gebruiken om verbinding te maken en te werken met een draadloos netwerk, inclusief de wpa_cli en wpa_gui hulpprogramma's (net/wpa_supplicant_gui).

In de nieuwe release is het mechanisme voor het doorsturen van WPA naar de hoofdomgeving opnieuw ontworpen, waardoor het mogelijk werd om met zowel wpa_supplicant als hostapd te werken. De hoeveelheid geheugen die nodig is voor het gastsysteem is verminderd. Ondersteuning voor FreeBSD 13.0-RELEASE is stopgezet.

Daarnaast kunnen we melding maken van het werk ter verbetering van de stuurprogramma's die in FreeBSD worden aangeboden voor draadloze kaarten op Intel- en Realtek-chips. Met de steun van de FreeBSD Foundation gaat de ontwikkeling van het nieuwe iwlwifi-stuurprogramma, opgenomen in FreeBSD 13.1, door. De driver is gebaseerd op de Linux-driver en code van het net80211 Linux-subsysteem, ondersteunt de 802.11ac-standaard en kan worden gebruikt met nieuwe draadloze Intel-chips. Het stuurprogramma wordt tijdens het opstarten automatisch gedownload wanneer de vereiste draadloze kaart wordt gedetecteerd. De componenten van de draadloze Linux-stack worden ingeschakeld met behulp van de LinuxKPI-laag. Voorheen werd het iwm-stuurprogramma op een vergelijkbare manier geporteerd voor FreeBSD.

Tegelijkertijd begon de ontwikkeling van de stuurprogramma's rtw88 en rtw89 voor de Realtek RTW88 en RTW89 draadloze chips, die ook worden ontwikkeld door de overeenkomstige stuurprogramma's over te zetten van Linux en te werken met behulp van de LinuxKPI-laag. De rtw88-driver is klaar voor de eerste tests, terwijl de rtw89-driver nog in ontwikkeling is.

Daarnaast kunnen we de publicatie van details en een kant-en-klare exploit met betrekking tot de kwetsbaarheid (CVE-2022-23088) in de FreeBSD draadloze stack vermelden, die in de update van april is opgelost. Door het beveiligingslek kunt u uw code op kernelniveau uitvoeren door een speciaal ontworpen frame te verzenden terwijl de client zich in de netwerkscanmodus bevindt (in de fase vóór SSID-binding). Het probleem wordt veroorzaakt door een bufferoverloop in de functie ieee80211_parse_beacon() bij het parseren van door het toegangspunt verzonden bakenframes. De overloop werd veroorzaakt door een gebrek aan controle of de werkelijke gegevensgrootte overeenkomt met de grootte die is opgegeven in het kopveld. Het probleem doet zich voor in versies van FreeBSD die sinds 2009 zijn gebouwd.

Wifibox 0.10 - omgeving voor het gebruik van Linux WiFi-stuurprogramma's in FreeBSD

Recente wijzigingen aan FreeBSD die geen verband houden met de draadloze stack zijn: optimalisatie van de opstarttijd, die op het testsysteem werd teruggebracht van 10 naar 8 seconden; de GEOM-modulegunion is geïmplementeerd om wijzigingen die zijn aangebracht op een schijf die toegankelijk is in de alleen-lezen-modus, over te dragen naar een andere schijf; Voor de crypto-API van de kernel zijn de cryptografische primitieven XChaCha20-Poly1305 AEAD en curve25519, noodzakelijk voor het VPN WireGuard-stuurprogramma, voorbereid.

Bron: opennet.ru

Voeg een reactie