Wifibox 0.10 - بيئة لاستخدام برامج تشغيل Linux WiFi على FreeBSD

يتوفر إصدار من مشروع Wifibox 0.10 لمعالجة مشكلة استخدام FreeBSD للمحولات اللاسلكية التي تفتقر إلى برامج التشغيل الضرورية. يتم توفير المحولات التي تمثل مشكلة في FreeBSD من خلال تشغيل ضيف Linux ، والذي يقوم بتحميل برامج تشغيل أجهزة Linux اللاسلكية الأصلية.

يتم تثبيت نظام الضيف مع برامج التشغيل تلقائيًا ، ويتم تجميع جميع المكونات الضرورية في حزمة wifibox الجاهزة ، والتي يتم تشغيلها عند التمهيد باستخدام خدمة RC المقدمة. بما في ذلك الانتقال إلى وضع السكون تتم معالجتها بشكل صحيح. يمكن تطبيق البيئة على أي بطاقات WiFi مدعومة على Linux ، ولكن تم اختبارها بشكل أساسي على شرائح Intel. اختبرنا أيضًا العملية الصحيحة على الأنظمة المزودة بشرائح Qualcomm Atheros و AMD RZ608 (MediaTek MT7921K) اللاسلكية.

يتم تشغيل نظام الضيف باستخدام Bhyve Hypervisor ، الذي ينظم إعادة توجيه الوصول إلى البطاقة اللاسلكية. يتطلب نظامًا يدعم ظاهرية الأجهزة (AMD-Vi أو Intel VT-d). يعتمد نظام الضيف على توزيع Alpine Linux ، المبني على مكتبة نظام Musl ومجموعة أدوات BusyBox. حجم الصورة حوالي 30 ميغا بايت على القرص وتستهلك حوالي 90 ميغا بايت من ذاكرة الوصول العشوائي.

للاتصال بشبكة لاسلكية ، يتم استخدام حزمة wpa_supplicant ، حيث تتم مزامنة ملفات التكوين الخاصة بها مع الإعدادات من بيئة FreeBSD الرئيسية. يتم إعادة توجيه مقبس التحكم في Unix الذي تم إنشاؤه بواسطة wpa_supplicant إلى البيئة المضيفة ، مما يسمح لك باستخدام أدوات FreeBSD المساعدة القياسية للاتصال والعمل مع شبكة لاسلكية ، بما في ذلك الأدوات المساعدة wpa_cli و wpa_gui (net / wpa_supplicant_gui).

في الإصدار الجديد ، تمت إعادة تصميم آلية إعادة توجيه WPA إلى البيئة الرئيسية ، مما جعل من الممكن العمل مع كل من wpa_supplicant و hostapd. تم تقليل حجم الذاكرة المطلوبة لنظام الضيف. تم إسقاط دعم FreeBSD 13.0-RELEASE.

بالإضافة إلى ذلك ، يمكن ملاحظة العمل على تحسين برامج تشغيل البطاقات اللاسلكية استنادًا إلى رقائق Intel و Realtek ، المتوفرة في FreeBSD. بدعم من FreeBSD Foundation ، يستمر التطوير على برنامج تشغيل iwlwifi الجديد المتضمن مع FreeBSD 13.1. يعتمد برنامج التشغيل على برنامج تشغيل Linux والرمز من النظام الفرعي net80211 Linux ، ويدعم 802.11ac ويمكن استخدامه مع شرائح Intel اللاسلكية الجديدة. يتم تحميل برنامج التشغيل تلقائيًا في وقت التمهيد عند العثور على البطاقة اللاسلكية الصحيحة. يتم تشغيل مكونات مكدس Linux اللاسلكي بواسطة طبقة LinuxKPI. في السابق ، تم نقل برنامج تشغيل iwm إلى FreeBSD بطريقة مماثلة.

بالتوازي مع ذلك ، بدأ تطوير برامج التشغيل rtw88 و rtw89 للشرائح اللاسلكية Realtek RTW88 و RTW89 ، والتي تم تطويرها أيضًا عن طريق نقل برامج التشغيل المقابلة من Linux والعمل باستخدام طبقة LinuxKPI. برنامج التشغيل rtw88 جاهز للاختبار الأولي ، بينما لا يزال برنامج التشغيل rtw89 قيد التطوير.

بالإضافة إلى ذلك ، يمكننا أن نذكر نشر التفاصيل والاستغلال النهائي المتعلق بالثغرة الأمنية (CVE-2022-23088) في مكدس FreeBSD اللاسلكي ، الذي تم إصلاحه في تحديث أبريل. تسمح الثغرة الأمنية بتنفيذ التعليمات البرمجية على مستوى النواة عن طريق إرسال إطار مصنوع خصيصًا عندما يكون العميل في وضع مسح الشبكة (في المرحلة قبل ربط SSID). سبب المشكلة هو تجاوز سعة المخزن المؤقت في وظيفة ieee80211_parse_beacon () أثناء تحليل إطارات المنارة المرسلة بواسطة نقطة الوصول. أصبح التجاوز ممكنًا بسبب عدم التحقق من أن الحجم الفعلي للبيانات يطابق الحجم المحدد في حقل الرأس. تتجلى المشكلة في إصدارات FreeBSD التي تم تشكيلها منذ عام 2009.

Wifibox 0.10 - بيئة لاستخدام برامج تشغيل Linux WiFi في FreeBSD

من بين التغييرات الحديثة في المكدس غير اللاسلكي في FreeBSD: تحسينات وقت التمهيد ، والتي تم تقليلها من 10 ثوانٍ إلى 8 ثوانٍ في نظام الاختبار ؛ نفذت GEOM-module gunion لنقل تغييرات القرص إلى قرص آخر تم إجراؤها فوق قرص متاح في وضع القراءة فقط ؛ بالنسبة لواجهة برمجة تطبيقات تشفير kernel ، تم إعداد أساسيات التشفير XCha20-Poly1305 AEAD و curve25519 المطلوبة لبرنامج تشغيل VPN WireGuard.

المصدر: opennet.ru

إضافة تعليق