Wifibox 0.10 - Një mjedis për përdorimin e drejtuesve të Linux WiFi në FreeBSD

Projekti Wifibox 0.10 është tashmë i disponueshëm, që synon zgjidhjen e problemit të FreeBSD duke përdorur adaptorë me valë për të cilët mungojnë drejtuesit e nevojshëm. Funksionimi i përshtatësve që janë problematikë për FreeBSD sigurohet duke lëshuar një sistem të ftuar me Linux, në të cilin ngarkohen drejtuesit e Linux-it vendas për pajisjet me valë.

Instalimi i sistemit të ftuar me drejtues është i automatizuar dhe të gjithë përbërësit e nevojshëm paketohen në formën e një pakete të gatshme wifibox, e cila niset pas nisjes duke përdorur shërbimin e përfshirë rc. Përfshirja e kalimit në modalitetin e gjumit trajtohet në mënyrë korrekte. Mjedisi mund të përdoret potencialisht për çdo kartë WiFi të mbështetur në Linux, por është testuar kryesisht në çipat Intel. Funksionimi i saktë është testuar gjithashtu në sistemet me çipa me valë Qualcomm Atheros dhe AMD RZ608 (MediaTek MT7921K).

Sistemi i mysafirëve niset duke përdorur hipervizorin Bhyve, i cili organizon aksesin e përcjelljes në kartën me valë. Kërkon një sistem që mbështet virtualizimin e harduerit (AMD-Vi ose Intel VT-d). Sistemi i mysafirëve bazohet në shpërndarjen Alpine Linux, i ndërtuar mbi bazën e bibliotekës së sistemit Musl dhe grupit të shërbimeve BusyBox. Madhësia e imazhit zë rreth 30 MB në disk dhe konsumon rreth 90 MB RAM.

Për t'u lidhur me një rrjet pa tel, përdoret paketa wpa_supplicant, skedarët e konfigurimit për të cilët sinkronizohen me cilësimet nga mjedisi kryesor FreeBSD. Foleja e kontrollit Unix e krijuar nga wpa_supplicant përcillet në mjedisin pritës, i cili ju lejon të përdorni shërbimet standarde të FreeBSD për t'u lidhur dhe punuar me një rrjet pa tel, duke përfshirë shërbimet wpa_cli dhe wpa_gui (net/wpa_supplicant_gui).

Në versionin e ri, mekanizmi për përcjelljen e WPA në mjedisin kryesor është ridizajnuar, gjë që bëri të mundur punën si me wpa_supplicant ashtu edhe me hostapd. Sasia e memories së kërkuar për sistemin e mysafirëve është zvogëluar. Mbështetja për FreeBSD 13.0-RELEASE është ndërprerë.

Për më tepër, mund të vëmë re punën për të përmirësuar drejtuesit e ofruar në FreeBSD për kartat me valë në çipat Intel dhe Realtek. Me mbështetjen e Fondacionit FreeBSD, zhvillimi i drejtuesit të ri iwlwifi të përfshirë në FreeBSD 13.1 vazhdon. Drejtuesi bazohet në drejtuesin e Linux dhe kodin nga nënsistemi net80211 Linux, mbështet standardin 802.11ac dhe mund të përdoret me çipa të rinj wireless Intel. Drejtuesi shkarkohet automatikisht gjatë nisjes kur zbulohet karta e kërkuar me valë. Komponentët e pirgut me valë Linux janë aktivizuar duke përdorur shtresën LinuxKPI. Më parë, drejtuesi i iwm u transferua për FreeBSD në një mënyrë të ngjashme.

Paralelisht, filloi zhvillimi i drejtuesve rtw88 dhe rtw89 për çipat pa tel Realtek RTW88 dhe RTW89, të cilët gjithashtu po zhvillohen duke transferuar drejtuesit përkatës nga Linux dhe duke punuar duke përdorur shtresën LinuxKPI. Shoferi rtw88 është gati për testim fillestar, ndërsa drejtuesi rtw89 është ende në zhvillim e sipër.

Për më tepër, mund të përmendim publikimin e detajeve dhe një shfrytëzim të gatshëm në lidhje me cenueshmërinë (CVE-2022-23088) në pirgun pa tel FreeBSD, i cili u rregullua në përditësimin e prillit. Dobësia ju lejon të ekzekutoni kodin tuaj në nivelin e kernelit duke dërguar një kornizë të projektuar posaçërisht ndërsa klienti është në modalitetin e skanimit të rrjetit (në fazën përpara lidhjes së SSID). Problemi shkaktohet nga një tejmbushje buferi në funksionin ieee80211_parse_beacon() kur analizon kornizat e beacon-eve të transmetuara nga pika e hyrjes. Mbyllja u shkaktua nga mungesa e kontrollit nëse madhësia aktuale e të dhënave përputhet me madhësinë e specifikuar në fushën e kokës. Problemi shfaqet në versionet e FreeBSD të ndërtuara që nga viti 2009.

Wifibox 0.10 - mjedis për përdorimin e drejtuesve të Linux WiFi në FreeBSD

Ndryshimet e fundit në FreeBSD që nuk lidhen me stack-in wireless përfshijnë: optimizimin e kohës së nisjes, e cila u reduktua nga 10 në 8 sekonda në sistemin e testimit; gunion i modulit GEOM është zbatuar për të transferuar ndryshimet e bëra në krye të një disku të aksesueshëm në modalitetin vetëm për lexim në një disk tjetër; Për kripto API të kernelit, janë përgatitur primitivet kriptografike XChaCha20-Poly1305 AEAD dhe curve25519, të nevojshme për drejtuesin VPN WireGuard.

Burimi: opennet.ru

Shto një koment