قامت Microsoft بإعداد تطبيق eBPF لنظام التشغيل Windows

كشفت مايكروسوفت في الآونة الأخيرة من خلال وظيفة تنفيذ النظام الفرعي eBPF لنظام التشغيل Windows الذي يسمح لك بتشغيل برامج تشغيل عشوائية تعمل على مستوى نواة نظام التشغيل.

eGMP يوفر مترجم كود بايت مدمج في النواة لإنشاء برامج تشغيل شبكة محملة بمساحة المستخدم والتحكم في الوصول ومراقبة النظام. eBPF تم تضمينه في Linux kernel منذ الإصدار 3.18 و يسمح لك بمعالجة حزم الشبكة الواردة / الصادرة ، وإعادة توجيه الحزم ، والتحكم في عرض النطاق الترددي ، واعتراض مكالمات النظام ، والتحكم في الوصول ، والتتبع.

من خلال تجميع JIT ، يتم ترجمة كود البايت إلى تعليمات الآلة أثناء الطيران ويعمل مع أداء الكود المترجم. EBPF لنظام التشغيل Windows هو مصدر مفتوح بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.

يسعدنا اليوم أن نعلن عن مشروع جديد مفتوح المصدر من Microsoft لجعل eBPF يعمل على Windows 10 و Windows Server 2016 والإصدارات الأحدث. يهدف مشروع ebpf-for-windows إلى تمكين المطورين من استخدام سلاسل أدوات eBPF المألوفة وواجهات برمجة التطبيقات (APIs) فوق الإصدارات الحالية من Windows. بناءً على عمل الآخرين ، يأخذ هذا المشروع العديد من مشاريع eBPF مفتوحة المصدر الحالية ويضيف "الغراء" لجعلها تعمل على Windows.

eBPF لنظام التشغيل Windows يمكن استخدامها مع أدوات eBPF الحالية ويوفر واجهة برمجة تطبيقات عامة تُستخدم لتطبيقات eBPF على Linux.

على وجه الخصوص ، يسمح لك المشروع بترجمة التعليمات البرمجية المكتوبة بلغة C إلى كود ثانوي eBPF باستخدام مترجم eBPF القياسي المستند إلى Clang وتشغيل برامج تشغيل eBPF التي تم إنشاؤها بالفعل لنظام التشغيل Linux أعلى نواة Windows، والتي توفر طبقة توافق خاصة وتدعم واجهة Libbpf API القياسية للتوافق مع التطبيقات التي تتفاعل مع برامج eBPF.

يتضمن ذلك الطبقات الوسطى التي توفر روابط تشبه Linux لـ XDP (مسار بيانات eXpress) وربط المقابس التي تلخص الوصول إلى مكدس شبكة Windows وبرامج تشغيل الشبكة. تهدف الخطط إلى توفير دعم كامل على مستوى المصدر لبرامج تشغيل Linux eBPF العامة.

يتمثل الاختلاف الرئيسي في تطبيق eBPF لنظام التشغيل Windows في استخدام مدقق رمز ثنائي بديل ، تم اقتراحه في الأصل من قبل موظفي VMware والباحثين من الجامعات الكندية والإسرائيلية.

يتم تشغيل المدقق في عملية منفصلة منفصلة في مساحة المستخدم ويتم استخدامه قبل تنفيذ برامج BPF لاكتشاف الأخطاء وحظر النشاط الضار المحتمل.

للتحقق ، يستخدم eBPF لنظام التشغيل Windows طريقة التحليل الثابت للتفسير المجرد، ماذا او ما، بالمقارنة مع أداة التحقق من eBPF لنظام التشغيل Linux ، فإنها توضح معدلًا إيجابيًا كاذبًا أقل، يدعم تحليل الحلقة ويوفر قابلية جيدة للتوسع. تأخذ الطريقة في الاعتبار العديد من أنماط الأداء النموذجية التي تم الحصول عليها من تحليل برامج eBPF الحالية.

eBPF هي تقنية معروفة جيدًا ولكنها ثورية توفر قابلية البرمجة والتوسعة والرشاقة. تم تطبيق eBPF على حالات الاستخدام مثل رفض حماية الخدمة وإمكانية الملاحظة.

بمرور الوقت ، تم بناء نظام بيئي مهم من الأدوات والمنتجات والخبرات حول eBPF. على الرغم من تنفيذ دعم eBPF لأول مرة في Linux kernel ، كان هناك اهتمام متزايد بالسماح باستخدام eBPF في أنظمة التشغيل الأخرى وأيضًا لتوسيع خدمات وضع المستخدم بالإضافة إلى النواة.

بعد التحقق ، يتم تمرير الرمز الثانوي إلى مترجم مستوى النواة ، أو يتم تمريره من خلال مترجم JIT ، متبوعًا بتشغيل رمز الآلة الناتج مع حقوق kernel. لعزل برامج تشغيل eBPF على مستوى النواة ، يتم استخدام آلية HVCI (تكامل الرمز المعزز HyperVisor) ، والتي تستخدم أدوات المحاكاة الافتراضية لحماية العمليات في النواة وتضمن أن يتم توقيع تكامل الكود المنفذ رقميًا.

يتمثل أحد قيود HVCI في القدرة على فحص برامج eBPF المفسرة فقط وعدم القدرة على استخدامها مع JIT (لديك خيار: أداء إضافي أو حماية).

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها ، يمكنك التشاور الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.