K dispozícii je verzia projektu Wifibox 0.10, zameraná na riešenie problému používania bezdrôtových adaptérov v FreeBSD, pre ktoré chýbajú potrebné ovládače. Funkčnosť problematických adaptérov pre FreeBSD je zabezpečená spustením hostiteľského systému s Linuxom, v ktorom sú načítané ovládače bezdrôtových zariadení natívne pre Linux.
Inštalácia hostiteľského systému s ovládačmi je automatizovaná, a všetky potrebné komponenty sú spracované ako hotový balík wifibox, ktorý sa spúšťa pri štarte pomocou dodaného rc-služby. Správne sa spracováva aj prechod do režimu spánku. Prostredie môže byť potenciálne použité pre všetky WiFi karty podporované v Linuxe, ale testovalo sa predovšetkým na čipoch Intel. Tiež sa overila správna funkčnosť na systémoch s bezdrôtovými čipmi Qualcomm Atheros a AMD RZ608 (MediaTek MT7921K).
Hostiteľský systém je spustený pomocou hypervízora Bhyve, v ktorom je zriadený prenos prístupu k bezdrôtovej karte. Pre funkčnosť je potrebný systém s podporou hardvérovej virtualizácie (AMD-Vi alebo Intel VT-d). Obsah hostiteľského systému je založený na distribúcii Alpine Linux, postavenej na systémovej knižnici Musl a súbore utilít BusyBox. Veľkosť obrazu zaberá na disku približne 30MB a spotrebováva okolo 90MB operačnej pamäte.
Na pripojenie k bezdrôtovej sieti sa používa balík wpa_supplicant, ktorého konfiguračné súbory sú synchronizované s nastaveniami z hlavného prostredia FreeBSD. Vytvorený riadiaci Unix socket wpa_supplicant sa prenáša do hostiteľského prostredia, čo umožňuje používanie štandardných utilít FreeBSD na pripojenie a prácu s bezdrôtovou sieťou, medzi inými je možné použiť utility wpa_cli a wpa_gui (net/wpa_supplicant_gui).
V novej verzii bol prepracovaný mechanizmus prenosu WPA do hlavného prostredia, čo umožnilo zabezpečiť funkčnosť ako s wpa_supplicant, tak aj s hostapd. Bol znížený potrebný objem pamäte pre hostiteľský systém. Podpora FreeBSD 13.0-RELEASE bola zastavená.
Napriek tomu sa dá zdôrazniť práca na zlepšení ponúkaných ovládačov pre bezdrôtové karty na čipoch Intel a Realtek vo FreeBSD. S podporou organizácie FreeBSD Foundation pokračuje vývoj nového ovládača iwlwifi, ktorý je zahrnutý vo FreeBSD 13.1. Ovládač je založený na Linux ovládači a kóde z Linux pod systému net80211, podporuje štandard 802.11ac a môže byť použitý s novými bezdrôtovými čipmi Intel. Ovládač sa automaticky načíta počas spúšťania po zistení potrebného bezdrôtového karty. Práca komponentov bezdrôtového stacku Linux je zabezpečená pomocou vrstvy LinuxKPI. Podobným spôsobom bol predtým pre FreeBSD prenosný ovládač iwm.
Paralela sa začala vývoj ovládačov rtw88 a rtw89 pre bezdrôtové čipy Realtek RTW88 a RTW89, ktoré sa vyvíjajú prenesením príslušných ovládačov z Linuxu a pracujú pomocou vrstvy LinuxKPI. Ovládač rtw88 je už pripravený na počiatočné testovanie, zatiaľ čo ovládač rtw89 je stále vo vývoji.
Okrem toho sa dá spomenúť publikovanie podrobností a hotového exploit, súvisiacich s zraniteľnosťou (CVE-2022-23088) v bezdrôtovom stacku FreeBSD, ktorý bol odstránený v aprílovom aktualizovaní. Zraniteľnosť umožňuje vykonanie vlastného kódu na úrovni jadra prostredníctvom odoslania špeciálne navrhnutého rámca v čase, keď je klient v režime skenovania siete (v štádiu pred pripojením SSID). Problém bol spôsobený pretečením pamäte v funkcii ieee80211_parse_beacon() pri analýze beacon rámcov odosielaných prístupovým bodom. Pretečenie sa stalo možným z dôvodu absencie overenia súladu skutočnej veľkosti dát a veľkosti uvedenej v poli hlavičky. Problém sa prejavuje vo verziách FreeBSD vytvorených od roku 2009.

Medzi nedávnymi zmenami vo FreeBSD, ktoré nie sú spojené s bezdrôtovým stackom: bola optimalizovaná doba spúšťania, ktorá bola na testovacom systéme skrátená z 10 na 8 sekúnd; bol implementovaný modul GEOM gunion na presun zmien, ktoré sa vykonávajú nad diskom, na iný disk, ktorý je dostupný v režime len na čítanie; pre crypto API jadra boli pripravené kryptografické primitíva XChaCha20-Poly1305 AEAD a curve25519, potrebné pre ovládač. VPN WireGuard.
Zdroj: opennet.ru
