LKRG ، وحدة مصممة لاكتشاف ومنع الهجمات والانتهاكات في Linux Kernel

المشروع أصدر Openwall إصدار وحدة LKRG 0.8 kernel (Linux Kernel Runtime Guard) ، مصممة لاكتشاف الهجمات ومنعها y انتهاكات سلامة الهياكل الأساسية.

وحدة إنها مناسبة لتنظيم الحماية ضد الثغرات المعروفة بالفعل بالنسبة إلى Linux kernel (على سبيل المثال ، في الحالات التي يكون فيها تحديث النواة على النظام مشكلة) ، فيما يتعلق بمعارضة برمجيات إكسبلويت لنقاط ضعف غير معروفة.

ما الجديد LKRG 0.8؟

في هذا الإصدار الجديد تم تغيير موقع مشروع LKRG، ماذا يؤديلا يتم تقسيم الساعة إلى أنظمة فرعية منفصلة للتحقق من النزاهة وتحديد استخدام برمجيات إكسبلويت ، ولكن يتم تقديمه كمنتج كامل لتحديد الهجمات والانتهاكات المختلفة للسلامة ؛

فيما يتعلق بتوافق هذا الإصدار الجديد ، يمكننا أن نجد أنه متوافق مع Linux kernels من 5.3 إلى 5.7بالإضافة إلى نواة مجمعة مع تحسينات قوية في دول مجلس التعاون الخليجي ، بدون خيارات CONFIG_USB و CONFIG_STACKTRACE أو مع الخيار CONFIG_UNWINDER_ORCوكذلك مع النواة حيث لا توجد وظائف تم اعتراضها بواسطة LKRG إذا كان يمكنك الاستغناء عنها.

بالإضافة الى دعم تجريبي لمنصات ARM 32 بت (تم اختباره على Raspberry Pi 3 Model B) ، بينما كان يدعم سابقًا AArch64 (ARM64) يكمله التوافق مع Raspberry Pi 4.

وعلاوة على ذلك، تمت إضافة خطافات جديدة، والتي تتضمن معالج استدعاء "hook ()" لتحديد الثغرات الأمنية التي يتم التلاعب بها بواسطة "القدرات" ، بدلاً من معرفات العمليات.

في أنظمة x86-64 ، يتم فحص وتطبيق بت SMAP (منع الوصول في وضع المشرف) ، دمصمم لمنع الوصول إلى البيانات في مساحة المستخدم من التعليمات البرمجية المميزة المنفذة على مستوى النواة. تم تنفيذ حماية SMEP (منع تنفيذ وضع المشرف) في وقت سابق.

قد كان زيادة قابلية توسيع قاعدة بيانات تتبع العملية: بدلاً من شجرة RB واحدة محمية بواسطة spinlock ، يتم تضمين جدول تجزئة مكون من 512 شجرة RB ، محميًا بقفل قراءة وكتابة 512 ، على التوالي ؛

يتم تنفيذ الوضع الافتراضي وتمكينه، بحيث التحقق من سلامة المعرفات غالبًا ما يتم تنفيذ المعالجة للمهمة الحالية فقط ، وأيضًا بشكل اختياري للمهام التي تم تشغيلها (التنبيه). بالنسبة للمهام الأخرى التي تكون في حالة تعليق أو تلك الوظيفة بدون استدعاء واجهة برمجة تطبيقات kernel التي يتحكم فيها LKRG ، يتم إجراء التحقق بشكل أقل تكرارًا.

بالإضافة الى تم إعادة تصميم ملف وحدة systemd لتحميل وحدة LKRG في مرحلة مبكرة من التحميل (يمكن استخدام خيار سطر أوامر kernel لتعطيل الوحدة) ؛

أثناء التجميع ، تم فحص بعض إعدادات CONFIG_ * الإلزامية kernel لإنشاء رسائل خطأ ذات معنى بدلاً من أخطاء غامضة.

من التغييرات الأخرى التي تبرز في هذا الإصدار الجديد:

  • تمت إضافة دعم لأوضاع الاستعداد (ACPI S3 ، Suspend to RAM) و Suspend (S4 ، Suspend to Disk).
  • دعم إضافي لـ DKMS في Makefile.
  • تم اقتراح منطق جديد لتحديد محاولات الخروج من قيود مساحة الاسم (على سبيل المثال ، من حاويات Docker).
  • في هذه العملية ، يتم وضع تهيئة LKRG على صفحة من الذاكرة ، وعادة ما تكون للقراءة فقط.
  • الإخراج إلى سجلات المعلومات التي قد تكون مفيدة للغاية للهجمات (على سبيل المثال ، معلومات العنوان في النواة) مقيد بوضع التصحيح (log_level = 4 وما فوق) ، والذي يتم تعطيله افتراضيًا.
  • تمت إضافة معلمات sysctl والوحدة النمطية الجديدة لضبط LKRG ، بالإضافة إلى اثنين من sysctl لتكوين مبسط عن طريق الاختيار من ملفات التعريف التي أعدها المطورون.
  • تم تغيير الإعدادات الافتراضية لتحقيق توازن أكثر توازناً بين سرعة اكتشاف المخالفات وفعالية التفاعل من ناحية والتأثير على الإنتاجية وخطر الإيجابيات الكاذبة من ناحية أخرى.
  • وفقًا للتحسينات المقترحة في الإصدار الجديد ، يُقدَّر انخفاض الأداء عند تطبيق LKRG 0.8 بنسبة 2.5٪ في الوضع الافتراضي ("ثقيل") و 2٪ في الوضع الخفيف ("خفيف").

إذا كنت تريد معرفة المزيد عنها ، يمكنك استشارة التفاصيل هنا. 


اترك تعليقك

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

*

*

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