Wifibox 0.10-projektets version Àr tillgÀnglig och syftar till att lösa problemet med anvÀndning av trÄdlösa adaptrar i FreeBSD, för vilka nödvÀndiga drivrutiner saknas. Problematiska adapters för FreeBSD fungerar genom att köra ett gÀstsystem i Linux, dÀr de inbyggda Linux-drivrutinerna för trÄdlösa enheter laddas.
Installationen av gĂ€stsystemet med drivrutiner Ă€r automatiserad och alla nödvĂ€ndiga komponenter kommer i form av ett fĂ€rdigt wifibox-paket som startas vid uppstart med hjĂ€lp av den medföljande rc-tjĂ€nsten. Ăven sömnlĂ€ge hanteras korrekt. Miljön kan potentiellt anvĂ€ndas för alla WiFi-kort som stöds av Linux, men har frĂ€mst testats med Intel-chip. Den korrekta funktionen har ocksĂ„ verifierats pĂ„ system med Qualcomm Atheros och AMD RZ608 (MediaTek MT7921K) trĂ„dlösa chip.
GÀstsystemet startas med hypervisorn Bhyve, dÀr Ätkomst till det trÄdlösa kortet möjliggörs. För att fungera krÀvs ett system med stöd för hÄrdvaruvirtualisering (AMD-Vi eller Intel VT-d). InnehÄllet i gÀstsystemet Àr baserat pÄ Alpine Linux-distributionen, byggd pÄ Musl systembibliotek och BusyBox-verktyg. Bildens storlek pÄ disk Àr cirka 30 MB och den anvÀnder omkring 90 MB RAM.
För att ansluta till ett trÄdlöst nÀtverk anvÀnds paketet wpa_supplicant, vars konfigurationsfiler synkroniseras med instÀllningarna frÄn det huvudmiljö i FreeBSD. Den Unix-socket som wpa_supplicant skapar vidarebefordras till vÀrdmiljön, vilket gör det möjligt att anvÀnda de inbyggda FreeBSD-verktygen för att ansluta och arbeta med det trÄdlösa nÀtverket, inklusive anvÀndning av wpa_cli och wpa_gui (net/wpa_supplicant_gui).
I den nya versionen har mekanismen för att vidarebefordra WPA till huvudmiljön omarbetats, vilket möjliggjorde funktion med bÄde wpa_supplicant och hostapd. Den nödvÀndiga minnesmÀngden för gÀstsystemet har minskats. Stödet för FreeBSD 13.0-RELEASE har upphört.
Dessutom kan arbete med att förbÀttra de drivrutiner som erbjuds i FreeBSD för trÄdlösa kort baserade pÄ Intel- och Realtek-chips nÀmnas. Med stöd frÄn FreeBSD Foundation fortsÀtter utvecklingen av den nya drivrutinen iwlwifi, som ingÄr i FreeBSD 13.1. Drivrutinen Àr baserad pÄ Linux-drivrutinen och kod frÄn Linux-underenheten net80211, stödjer standarden 802.11ac och kan anvÀndas med nya trÄdlösa Intel-chips. Drivrutinen laddas automatiskt vid uppstart nÀr en kompatibel trÄdlös kort upptÀckts. Funktionen hos komponenterna i Linux trÄdlösa stack sÀkerstÀlls genom LinuxKPI-lagret. Tidigare har en liknande drivrutin, iwm, portats till FreeBSD.
Parallellt började utvecklingen av drivrutinerna rtw88 och rtw89 för de trÄdlösa chipsen Realtek RTW88 och RTW89, som ocksÄ utvecklas genom att överföra motsvarande drivrutiner frÄn Linux och fungerar genom LinuxKPI-lagret. Drivrutinen rtw88 Àr redan fÀrdig för initial testning, medan drivrutinen rtw89 fortfarande Àr under utveckling.
Dessutom kan publiceringen av detaljer och en fĂ€rdig exploitering relaterad till sĂ€kerhetsbristen (CVE-2022-23088) i den trĂ„dlösa stacken i FreeBSD nĂ€mnas, som Ă„tgĂ€rdades i apriluppdateringen. SĂ€kerhetsbristen möjliggör exekvering av egen kod pĂ„ kĂ€rnnivĂ„ genom att skicka ett speciellt format som paket vid nĂ€tverksskanning (under SSID-bindningsfasen). Problemet orsakas av en buffertöverskridning i funktionen ieee80211_parse_beacon() nĂ€r beacons som sĂ€nds av Ă„tkomstpunkten analyseras. Ăverskridningen möjliggjordes av att den faktiska datastorleken inte matchade den storlek som angavs i headerfĂ€ltet. Problemet förekommer i versioner av FreeBSD som skapades sedan 2009.

Bland de senaste förÀndringarna i FreeBSD som inte Àr relaterade till den trÄdlösa stacken: optimering av uppstartstiden, som pÄ en testmaskin har minskat frÄn 10 till 8 sekunder; GEOM-modulen gunion har genomförts för att föra förÀndringar som görs pÄ en disk i skrivskyddat lÀge till en annan disk; kryptografiska primitiva XChaCha20-Poly1305 AEAD och curve25519 har förberedts för kÀrnans crypto API, nödvÀndiga för drivrutinen. VPN WireGuard.
KĂ€lla: opennet.ru
