Wifiboxi 0.10 projekti uus versioon on saadaval, eesmärgiks on lahendada probleem FreeBSD jõudluse wi-fi adaptoritega, mille jaoks vajalikud draiverid puuduvad. Probleemsete FreeBSD adaptoreid toimetatakse kasutades Linuxi külgmist süsteemi, kus laaditakse Linuxile omased traadita seadme draiverid.
Külgse süsteemi seadistamine koos draiveritega on automatiseeritud ja kõik vajalikud komponendid on vormistatud valmis paketina wifibox, mis käivitub käivitamisel komplektiga kaasasoleva rc-teenuse abil. Õigesti käsitletakse ka uinuvasse režiimi üleminekut. Keskkond võib potentsiaalselt rakendada mis tahes WiFi-kaarte, mida Linux toetab, kuid on peamiselt testitud Intel'i kiipide peal. Samuti on kontrollitud õige töö süsteemides, kus on Qualcomm Atheros ja AMD RZ608 (MediaTek MT7921K) traadita kiibid.
Külgse süsteem käivitatakse hyperviisori Bhyve abil, kus korraldatakse juurdepääsu edastamine traadita kaardile. Tööks on vajalik süsteem, millel on riistvara virtualiseerimise tugi (AMD-Vi või Intel VT-d). Külgse süsteemi sisu põhineb Alpine Linuxi distributsioonil, mis on üles ehitatud Musl süsteemiraamatukogu ja BusyBox utiliitide komplekti põhjal. Pildi suurus on ketas umbes 30 MB ja see kasutab umbes 90 MB RAM-i.
Traadita võrku ühendamiseks kasutatakse wpa_supplicant paketti, mille konfiguratsioonifailid sünkroniseeritakse FreeBSD peamisest keskkonnast saadud seadistustega. Loobitud wpa_supplicant juhtiv Unix-soket edastatakse host-keskkonda, mis võimaldab kasutada FreeBSD tavalisi utiliite traadita võrgu ühendamiseks ja tööks, sealhulgas on võimalik kasutada wpa_cli ja wpa_gui (net/wpa_supplicant_gui) utiliite.
Uues versioonis on ümber töötatud WPA edastamise mehhanism põhikeskkonda, mis võimaldab töötada nii wpa_supplicant'i kui ka hostapd'iga. On vähenenud külgse süsteemi jaoks vajalik mälu maht. FreeBSD 13.0-RELEASE toetus on lõpetatud.
Lisaks võib märkida, et FreeBSD tootmisprotsessi raames on paranenud Intel ja Realteki traadita kaartide draiverid. FreeBSD Foundationi toe abil jätkub uue iwlwifi draiveri arendamine, mis on kaasatud FreeBSD 13.1. Draiver põhineb Linuxi draiveril ja net80211 Linuxi alamüsteemi koodil, toetab standardit 802.11ac ning saab kasutada uusi Intel traadita kiipe. Draiver laaditakse automaatselt käivitamisel, kui vajalik traadita kaart avastatakse. Linuxi traadita kihi komponendid töötavad LinuxKPI abiga. Varasemalt oli FreeBSD-le sarnasel viisil portitud iwm draiver.
Samas on alanud rtw88 ja rtw89 draiverite arendamine Realteki RTW88 ja RTW89 traadita kiipidele, mida arendatakse ka Linuxi vastavate draiverite ülevõtmise kaudu ja mis töötavad LinuxKPI abiga. Draiver rtw88 on juba valmis esialgseks testimiseks, samas kui draiver rtw89 on veel arenduses.
Lisaks võib mainida üksikasjade ja valmis eksploiidi avaldamist, mis on seotud (CVE-2022-23088) haavatavusega FreeBSD traadita kihis, mis eemaldati aprillikuu värskenduses. Haavatavus võimaldab täita oma koodi tuumatasandil, saates spetsiaalselt vormindatud kaadreid, kui klient on võrgu skaneerimise režiimis (SSID sidumise eel). Probleem tuleneb mälu ülevoolust ieee80211_parse_beacon() funktsioonis, kui analüüsitakse beacon-kaadreid, mille edastab ligipääsupunkt. Ülevool on võimalik, kuna andmete tegeliku suuruse ja pealkirja välja näidatud suuruse vahel ei olnud kontrolli. Probleem ilmneb FreeBSD versioonides, mis on koostatud alates 2009. aastast.

Traadita kihiga mitteseotud hiljutiste muutuste seas FreeBSD-s: on optimeeritud käivitusaega, mis testimise süsteemis on vähenenud 10 sekundilt 8 sekundile; rakendatud GEOM-modul gunion muudatuste viimiseks teisele kettale, mis on tehtud lugemisrežiimis oleva ketta peale; krüptograafilised primitiivid XChaCha20-Poly1305 AEAD ja curve25519 on ette valmistatud tõestus-API jaoks. VPN WireGuard.
Allikas: opennet.ru
