Wifibox 0.10 - lingkungan untuk menggunakan driver WiFi Linux di FreeBSD

Proyek Wifibox 0.10 sekarang tersedia, bertujuan untuk memecahkan masalah FreeBSD menggunakan adaptor nirkabel yang driver yang diperlukan tidak ada. Pengoperasian adaptor yang bermasalah untuk FreeBSD dipastikan dengan meluncurkan sistem tamu dengan Linux, yang memuat driver Linux asli untuk perangkat nirkabel.

Instalasi sistem tamu dengan driver dilakukan secara otomatis, dan semua komponen yang diperlukan dikemas dalam bentuk paket wifibox siap pakai, yang diluncurkan saat boot menggunakan layanan rc yang disertakan. Termasuk peralihan ke mode tidur ditangani dengan benar. Lingkungan tersebut berpotensi dapat digunakan untuk kartu WiFi apa pun yang didukung di Linux, tetapi telah diuji terutama pada chip Intel. Pengoperasian yang benar juga telah diuji pada sistem dengan chip nirkabel Qualcomm Atheros dan AMD RZ608 (MediaTek MT7921K).

Sistem tamu diluncurkan menggunakan hypervisor Bhyve, yang mengatur penerusan akses ke kartu nirkabel. Memerlukan sistem yang mendukung virtualisasi perangkat keras (AMD-Vi atau Intel VT-d). Sistem tamu didasarkan pada distribusi Alpine Linux, dibangun berdasarkan perpustakaan sistem Musl dan kumpulan utilitas BusyBox. Ukuran gambar memakan sekitar 30MB pada disk dan mengkonsumsi sekitar 90MB RAM.

Untuk terhubung ke jaringan nirkabel, paket wpa_supplicant digunakan, file konfigurasinya disinkronkan dengan pengaturan dari lingkungan utama FreeBSD. Soket kontrol Unix yang dibuat oleh wpa_supplicant diteruskan ke lingkungan host, yang memungkinkan Anda menggunakan utilitas FreeBSD standar untuk terhubung dan bekerja dengan jaringan nirkabel, termasuk utilitas wpa_cli dan wpa_gui (net/wpa_supplicant_gui).

Dalam rilis baru, mekanisme penerusan WPA ke lingkungan utama telah didesain ulang, sehingga memungkinkan untuk bekerja dengan wpa_supplicant dan hostapd. Jumlah memori yang diperlukan untuk sistem tamu telah berkurang. Dukungan untuk FreeBSD 13.0-RELEASE telah dihentikan.

Selain itu, kami dapat mencatat upaya untuk meningkatkan driver yang ditawarkan di FreeBSD untuk kartu nirkabel pada chip Intel dan Realtek. Dengan dukungan dari FreeBSD Foundation, pengembangan driver iwlwifi baru yang disertakan dalam FreeBSD 13.1 terus berlanjut. Driver ini didasarkan pada driver Linux dan kode dari subsistem Linux net80211, mendukung standar 802.11ac dan dapat digunakan dengan chip nirkabel Intel yang baru. Driver diunduh secara otomatis saat boot ketika kartu nirkabel yang diperlukan terdeteksi. Komponen tumpukan nirkabel Linux diaktifkan menggunakan lapisan LinuxKPI. Sebelumnya, driver iwm di-porting untuk FreeBSD dengan cara yang sama.

Secara paralel, pengembangan driver rtw88 dan rtw89 untuk chip nirkabel Realtek RTW88 dan RTW89 dimulai, yang juga sedang dikembangkan dengan mentransfer driver yang sesuai dari Linux dan bekerja menggunakan lapisan LinuxKPI. Driver rtw88 siap untuk pengujian awal, sedangkan driver rtw89 masih dalam pengembangan.

Selain itu, kami dapat menyebutkan publikasi detail dan eksploitasi siap pakai terkait kerentanan (CVE-2022-23088) di tumpukan nirkabel FreeBSD, yang telah diperbaiki pada pembaruan bulan April. Kerentanan memungkinkan Anda untuk mengeksekusi kode Anda di tingkat kernel dengan mengirimkan bingkai yang dirancang khusus saat klien berada dalam mode pemindaian jaringan (pada tahap sebelum pengikatan SSID). Masalah ini disebabkan oleh buffer overflow pada fungsi ieee80211_parse_beacon() saat mengurai frame beacon yang dikirimkan oleh titik akses. Overflow ini disebabkan oleh kurangnya pemeriksaan apakah ukuran data sebenarnya sesuai dengan ukuran yang ditentukan di kolom header. Masalahnya muncul pada versi FreeBSD yang dibuat sejak 2009.

Wifibox 0.10 - lingkungan untuk menggunakan driver WiFi Linux di FreeBSD

Perubahan terbaru pada FreeBSD yang tidak terkait dengan tumpukan nirkabel meliputi: optimalisasi waktu boot, yang dikurangi dari 10 menjadi 8 detik pada sistem pengujian; modul GEOM gunion telah diimplementasikan untuk mentransfer perubahan yang dibuat pada disk yang dapat diakses dalam mode read-only ke disk lain; Untuk API kripto kernel, primitif kriptografi XChaCha20-Poly1305 AEAD dan curve25519, yang diperlukan untuk driver VPN WireGuard, telah disiapkan.

Sumber: opennet.ru

Tambah komentar