Wifibox 0.10 — Umgebung zur Verwendung von Linux-WiFi-Treibern unter FreeBSD

Die Version 0.10 des Wifibox-Projekts ist jetzt verfügbar und zielt darauf ab, das Problem des Einsatzes von drahtlosen Adaptern unter FreeBSD zu lösen, für die keine erforderlichen Treiber vorhanden sind. Der Betrieb von problematischen Adaptern für FreeBSD erfolgt durch das Starten eines Gastbetriebssystems mit Linux, in dem die für Linux spezifischen Treiber von drahtlosen Geräten geladen werden.

Die Installation des Gastbetriebssystems mit den Treibern ist automatisiert, und alle erforderlichen Komponenten sind in einem fertigen Paket namens Wifibox verpackt, das beim Booten über den mitgelieferten rc-Dienst gestartet wird. Auch der Übergang in den Energiesparmodus wird korrekt verarbeitet. Die Umgebung kann potenziell für alle WiFi-Karten verwendet werden, die in Linux unterstützt werden, wurde jedoch hauptsächlich auf Intel-Chips getestet. Zudem wurde die Funktionalität auf Systemen mit drahtlosen Chips von Qualcomm Atheros und AMD RZ608 (MediaTek MT7921K) überprüft.

Das Gastsystem wird über den Hypervisor Bhyve gestartet, der den Zugriff auf die Wireless-Karte ermöglicht. Für den Betrieb ist ein System mit Unterstützung für hardwarebasierte Virtualisierung (AMD-Vi oder Intel VT-d) erforderlich. Das Gastsystem basiert auf der Alpine Linux-Distribution, die auf der Musl-Systembibliothek und dem BusyBox-Utility-Set aufbaut. Das Image benötigt ca. 30 MB auf der Festplatte und verbraucht etwa 90 MB RAM.

Zur Verbindung mit dem Wireless-Netzwerk wird das Paket wpa_supplicant verwendet, dessen Konfigurationsdateien mit den Einstellungen aus der Hauptumgebung von FreeBSD synchronisiert werden. Der von wpa_supplicant erstellte Unix-Socket wird in die Host-Umgebung durchgereicht, wodurch die nativen FreeBSD-Utilities zur Verbindung und Arbeit mit dem Wireless-Netzwerk genutzt werden können, unter anderem die Tools wpa_cli und wpa_gui (net/wpa_supplicant_gui).

In der neuen Version wurde der Mechanismus zum Durchreichen von WPA in die Hauptumgebung überarbeitet, was die Funktion mit sowohl wpa_supplicant als auch hostapd ermöglicht. Der Speicherbedarf für das Gastsystem wurde reduziert. Der Support für FreeBSD 13.0-RELEASE wurde eingestellt.

Zusätzlich kann die Arbeit zur Verbesserung der in FreeBSD angebotenen Treiber für WLAN-Karten mit Intel- und Realtek-Chips erwähnt werden. Mit Unterstützung der FreeBSD Foundation wird die Entwicklung des neuen iwlwifi-Treibers fortgesetzt, der in FreeBSD 13.1 enthalten ist. Dieser Treiber basiert auf dem Linux-Treiber und Code aus dem Linux-Netzwerksubsystem net80211, unterstützt den Standard 802.11ac und kann mit neuen WLAN-Chips von Intel verwendet werden. Der Treiber wird automatisch beim Booten geladen, wenn die erforderliche WLAN-Karte erkannt wird. Die Funktionalität der Linux-WLAN-Stack-Komponenten wird durch die LinuxKPI-Schicht gewährleistet. Zuvor wurde der iwm-Treiber auf ähnliche Weise für FreeBSD portiert.

Parallel dazu wurde mit der Entwicklung der Treiber rtw88 und rtw89 für die WLAN-Chips Realtek RTW88 und RTW89 begonnen, die ebenfalls durch den Transfer der entsprechenden Linux-Treiber entwickelt werden und über die LinuxKPI-Schicht funktionieren. Der Treiber rtw88 ist bereits bereit für erste Tests, während sich der Treiber rtw89 noch in der Entwicklungsphase befindet.

Darüber hinaus kann die Veröffentlichung von Details und einem fertigen Exploit im Zusammenhang mit der Schwachstelle (CVE-2022-23088) im drahtlosen Stack von FreeBSD erwähnt werden, die im April-Update behoben wurde. Die Schwachstelle ermöglicht die Ausführung eigenen Codes auf Kernel-Ebene durch das Senden eines speziell gestalteten Frames, während sich der Client im Netzwerk-Scan-Modus befindet (vor der SSID-Bindung). Das Problem wird durch einen Buffer Overflow in der Funktion ieee80211_parse_beacon() beim Parsen von Beacon-Frames, die vom Access Point gesendet werden, verursacht. Der Overflow wurde durch das Fehlen einer Überprüfung der Übereinstimmung zwischen der tatsächlichen Datengröße und der im Header-Feld angegebenen Größe ermöglicht. Das Problem tritt in Versionen von FreeBSD auf, die seit 2009 erstellt wurden.

Wifibox 0.10 - Umgebung zur Nutzung von Linux-WLAN-Treibern in FreeBSD

Unter den jüngsten Änderungen in FreeBSD, die nicht mit dem drahtlosen Stack zu tun haben: eine Optimierung der Bootzeit wurde vorgenommen, die auf dem Testsystem von 10 auf 8 Sekunden verkürzt wurde; der GEOM-Modul gunion wurde implementiert, um Änderungen, die auf einer nur im Lesezugriff verfügbaren Festplatte vorgenommen werden, auf eine andere Festplatte zu übertragen; für die Kernel-crypto-API wurden die kryptografischen Primitiven XChaCha20-Poly1305 AEAD und curve25519 vorbereitet, die für den Treiber erforderlich sind. VPN WireGuard.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster