وحدات أمان لينكس
وحدات أمان لينكس ( LSM ) هي إطار عمل يسمح لنواة لينكس بدعم مجموعة متنوعة من نماذج أمان الحاسوب دون تحيز . يتم ترخيص LSM بموجب شروط رخصة جنو العمومية العامة ، وهي جزء أساسي من نواة لينكس منذ إصدار لينكس 2.6. اعتبارًا من عام 2025،تُعدّ AppArmor و LoadPin و SELinux و Smack و TOMOYO و Yama و SafeSetID و Integrity Policy Enforcement (IPE) و Landlock وحدات الأمان المعتمدة حاليًا في النواة الرسمية. [ 1 ] [ 2 ]
تصميم
صُممت LSM لتلبية جميع متطلبات تنفيذ وحدة تحكم الوصول الإلزامي بنجاح ، مع فرض أقل قدر ممكن من التغييرات على نواة لينكس. تتجنب LSM أسلوب اعتراض استدعاءات النظام المستخدم في Systrace لأنه لا يتناسب مع أنوية المعالجات المتعددة ، كما أنه عرضة لهجمات TOCTTOU (هجمات التزامن). بدلاً من ذلك، تُدرج LSM " خطافات " (استدعاءات للوحدة) في كل نقطة في النواة حيث يُوشك استدعاء نظام على مستوى المستخدم على الوصول إلى كائن داخلي مهم في النواة، مثل عقد البيانات (inodes) وكتل التحكم في العمليات .
يقتصر نطاق LSM على حل مشكلة التحكم في الوصول ، دون فرض تعديلات كبيرة ومعقدة على نواة النظام الرئيسية. ولا يُقصد به أن يكون آلية " ربط " أو " استدعاء " عامة، كما أنه لا يدعم المحاكاة الافتراضية على مستوى نظام التشغيل .
يرتبط هدف التحكم في الوصول في LSM ارتباطًا وثيقًا بمشكلة تدقيق النظام ، ولكنه يختلف عنها اختلافًا طفيفًا. يتطلب التدقيق تسجيل كل محاولة وصول. لا يستطيع LSM تحقيق ذلك، لأنه سيتطلب عددًا أكبر بكثير من نقاط الربط، لاكتشاف الحالات التي " يقطع " فيها النواة استدعاءات النظام الفاشلة ويعيد رمز خطأ قبل الوصول إلى الكائنات المهمة.
تم وصف تصميم LSM في الورقة البحثية "وحدات أمان لينكس: دعم الأمان العام لنواة لينكس" [ 3 ] التي تم تقديمها في ندوة USENIX الأمنية لعام 2002. [ 4 ] وفي نفس المؤتمر تم تقديم الورقة البحثية "استخدام CQUAL للتحليل الثابت لموضع خطاف التفويض" [ 5 ] والتي درست التحليل الثابت التلقائي لرمز النواة للتحقق من إدراج جميع الخطافات الضرورية بالفعل في نواة لينكس.
التبني
تاريخ
في قمة نواة لينكس لعام 2001 ، اقترحت وكالة الأمن القومي الأمريكية تضمين SELinux في لينكس 2.5. [ 12 ] رفض لينوس تورفالدز SELinux آنذاك، لأنه لاحظ وجود العديد من مشاريع الأمن المختلفة قيد التطوير، ولأنها جميعًا تختلف، لم يتوصل مجتمع الأمن بعد إلى توافق في الآراء بشأن نموذج أمني نهائي. وبدلًا من ذلك، حثّ لينوس مجتمع الأمن على "جعله وحدة نمطية".
رداً على ذلك، اقترح كريسبين كوان [ 13 ] LSM: واجهة لنواة لينكس توفر "خطافات" كافية (استدعاءات) من داخل نواة لينكس إلى وحدة قابلة للتحميل، مما يسمح لهذه الوحدة بفرض ضوابط وصول إلزامية. وقد تولى مجتمع LSM تطوير LSM على مدى العامين التاليين، بمشاركة فعّالة من شركة إيمونيكس ، ووكالة الأمن القومي الأمريكية، وماكافي ، وآي بي إم ، وسيليكون جرافيكس ، والعديد من المساهمين المستقلين. وفي نهاية المطاف، تم اعتماد LSM في نواة لينكس الرئيسية، وأُدرجت كجزء أساسي من لينكس 2.6 في ديسمبر 2003.
في عام 2006، لاحظ بعض مطوري نواة لينكس أن SELinux كان وحدة LSM الوحيدة واسعة الانتشار والمُضمنة في شجرة مصدر نواة لينكس الرئيسية. ورأوا أنه إذا اقتصر استخدام وحدة LSM على واحدة فقط، فإن وجودها غير ضروري، ويجب إزالتها واستبدالها بـ SELinux نفسه. إلا أن هناك وحدات LSM أخرى مُدارة خارج شجرة مصدر النواة الرئيسية (مثل AppArmor ، ونظام كشف التسلل في لينكس ، وFireFlier ، وCIPSO ، و Multi ADM ، وغيرها)، مما أدى إلى نتيجتين: 1. أن مطوري هذه الوحدات بدأوا ببذل جهد في دمج وحداتهم في النواة الرئيسية، و2. في قمة نواة لينكس لعام 2006 ، أكد لينوس مجددًا على بقاء LSM لأنه لا يرغب في تحديد نموذج الأمان الأمثل.
من المرجح أن يبقى LSM نظرًا لقبول وحدات الأمان الإضافية Smack (الإصدار 2.6.25) و TOMOYO Linux (الإصدار 2.6.30، يونيو 2009) و AppArmor (الإصدار 2.6.36) في النواة الرئيسية.
مراجع
- ↑ "استخدام وحدة أمان لينكس" . وثائق نواة لينكس .
- ↑ "/security - شفرة مصدر نواة لينكس" . GitHub .
- ↑ رايت، كريس؛ كوان، كريسبين؛ موريس، جيمس؛ سمولي، ستيفن؛ كروه-هارتمان، جريج (2002). "وحدات أمان لينكس: دعم أمني عام لنواة لينكس" . وقائع ندوة USENIX الأمنية الحادية عشرة . USENIX Security '02. ص 17-31 . تاريخ الاسترجاع: 3 مارس 2026 .
- ↑ "المؤتمر الحادي عشر لأمن USENIX" . USENIX . 2002. تم الاطلاع عليه بتاريخ 2026-03-03 .
- ↑ تشانغ، شياولان؛ إدواردز، أنتوني؛ جاغر، ترينت (2002). "استخدام CQUAL للتحليل الثابت لموضع خطاف التفويض" . وقائع ندوة USENIX الأمنية الحادية عشرة . USENIX Security '02. ص 33-48 . تاريخ الاسترجاع: 3 مارس 2026 .
- ↑ "إنفاذ سياسة النزاهة (IPE)" . وثائق نواة لينكس .
- ↑ دولة حبيسة: التحكم في الوصول غير المميز
- ↑ "Landlock LSM: وثائق النواة" . وثائق نواة لينكس . مارس 2025.
- ↑ "LoadPin" . وثائق نواة لينكس .
- ↑ "SafeSetID" . وثائق نواة لينكس .
- ↑ "ياما" . وثائق نواة لينكس .
- ↑ سمولي، ستيفن؛ فريزر، تيموثي؛ فانس، كريس. "وحدات أمان لينكس: نقاط ربط أمنية عامة لنظام لينكس" . وثائق نواة لينكس . تم الاطلاع بتاريخ 3 مارس 2026 .
- ↑ كوان، كريسبين (10 أبريل 2001). "واجهة وحدة أمان لينكس" . linux-kernel@vger.kernel.org (قائمة بريدية) . تم الاطلاع عليه بتاريخ 3 مارس 2026 .
روابط خارجية
- "شفرة المصدر وإحصائيات المشروع" . مؤرشف من الأصل بتاريخ 7 مارس 2005. تم الاطلاع عليه بتاريخ 8 فبراير 2006 .
- مقال في مجلة SysAdmin حول مستويات الأمان في أنظمة BSD
- مشاريع أمنية تعتمد على نواة لينكس
- نواة لينكس
- أمان أنظمة التشغيل
