Wifibox 0.10 – Prostředí pro používání Linux WiFi ovladačů na FreeBSD

Je k dispozici vydání projektu Wifibox 0.10, které řeší problém s používáním bezdrátových adaptérů FreeBSD, které postrádají potřebné ovladače. Adaptéry, které jsou pro FreeBSD problematické, jsou poskytovány spuštěním hosta Linuxu, který načte nativní ovladače bezdrátových zařízení pro Linux.

Instalace hostujícího systému s ovladači je automatizovaná a všechny potřebné komponenty jsou zabaleny jako hotový balíček wifibox, který se spouští při bootu pomocí dodávané rc služby. Včetně přechodu do režimu spánku je správně zpracováno. Prostředí lze potenciálně aplikovat na libovolné WiFi karty podporované na Linuxu, ale bylo testováno především na čipech Intel. Správnou činnost jsme testovali i na systémech s bezdrátovými čipy Qualcomm Atheros a AMD RZ608 (MediaTek MT7921K).

Hostující systém se spouští pomocí hypervizoru Bhyve, který organizuje přesměrování přístupu na bezdrátovou kartu. Vyžaduje systém, který podporuje hardwarovou virtualizaci (AMD-Vi nebo Intel VT-d). Hostující systém je založen na distribuci Alpine Linux, postavené na systémové knihovně Musl a sadě obslužných programů BusyBox. Velikost obrázku je asi 30 MB na disku a spotřebuje asi 90 MB RAM.

Pro připojení k bezdrátové síti se používá balíček wpa_supplicant, jehož konfigurační soubory jsou synchronizovány s nastavením z hlavního prostředí FreeBSD. Řídicí unixový socket vytvořený wpa_supplicant je předán do hostitelského prostředí, které vám umožňuje používat standardní utility FreeBSD pro připojení a práci s bezdrátovou sítí, včetně utilit wpa_cli a wpa_gui (net/wpa_supplicant_gui).

V nové verzi byl přepracován mechanismus pro předávání WPA do hlavního prostředí, což umožnilo pracovat s wpa_supplicant i hostapd. Množství paměti požadované pro hostující systém bylo sníženo. Byla zrušena podpora pro FreeBSD 13.0-RELEASE.

Kromě toho lze zaznamenat práci na vylepšení ovladačů pro bezdrátové karty založené na čipech Intel a Realtek nabízených ve FreeBSD. S podporou FreeBSD Foundation pokračuje vývoj nového ovladače iwlwifi, který je součástí FreeBSD 13.1. Ovladač je založen na linuxovém ovladači a kódu z linuxového subsystému net80211, podporuje 802.11ac a lze jej použít s novými bezdrátovými čipy Intel. Ovladač se načte automaticky při spouštění, když je nalezena správná bezdrátová karta. Komponenty linuxového bezdrátového stacku jsou poháněny vrstvou LinuxKPI. Dříve byl ovladač iwm portován do FreeBSD podobným způsobem.

Paralelně s tím začal vývoj ovladačů rtw88 a rtw89 pro bezdrátové čipy Realtek RTW88 a RTW89, které jsou rovněž vyvíjeny portováním odpovídajících ovladačů z Linuxu a fungují pomocí vrstvy LinuxKPI. Ovladač rtw88 je připraven k počátečnímu testování, zatímco ovladač rtw89 je stále ve vývoji.

Kromě toho můžeme zmínit zveřejnění podrobností a hotového exploitu souvisejícího se zranitelností (CVE-2022-23088) v bezdrátovém stacku FreeBSD, opravené v dubnové aktualizaci. Tato chyba zabezpečení umožňuje spuštění kódu na úrovni jádra odesláním speciálně vytvořeného rámce, když je klient v režimu síťového skenování (ve fázi před navázáním SSID). Problém je způsoben přetečením vyrovnávací paměti ve funkci ieee80211_parse_beacon() při analýze rámců majáku vysílaných přístupovým bodem. Přetečení bylo umožněno chybějící kontrolou, zda skutečná velikost dat odpovídá velikosti uvedené v poli záhlaví. Problém se projevuje ve verzích FreeBSD vytvořených od roku 2009.

Wifibox 0.10 - prostředí pro použití Linux WiFi ovladačů ve FreeBSD

Mezi nedávné změny bezdrátového zásobníku ve FreeBSD: optimalizace doby spouštění, která byla u testovacího systému zkrácena z 10 sekund na 8 sekund; implementováno GEOM-module gunion pro přenos změn provedených na disku dostupném v režimu pouze pro čtení na jiný disk; pro kernel crypto API byla připravena kryptografická primitiva XChaCha20-Poly1305 AEAD a curve25519 požadovaná pro ovladač VPN WireGuard.

Zdroj: opennet.ru

Přidat komentář