لينوس تورفالدس
إذا نجح المهاجم في تنفيذ التعليمات البرمجية باستخدام حقوق الجذر، فيمكنه تنفيذ التعليمات البرمجية الخاصة به على مستوى النواة، على سبيل المثال، عن طريق استبدال النواة باستخدام kexec أو ذاكرة القراءة/الكتابة عبر /dev/kmem. قد تكون النتيجة الأكثر وضوحا لمثل هذا النشاط
في البداية، تم تطوير وظائف تقييد الجذر في سياق تعزيز حماية التمهيد الذي تم التحقق منه، وكانت التوزيعات تستخدم تصحيحات الطرف الثالث لمنع تجاوز التمهيد الآمن لـ UEFI لبعض الوقت. في الوقت نفسه، لم يتم تضمين هذه القيود في التكوين الرئيسي للنواة بسبب
وضع التأمين يقيد الوصول إلى /dev/mem، /dev/kmem، /dev/port، /proc/kcore، debugfs، kprobes debug mode، mmiotrace، Tracefs، BPF، PCMCIA CIS (بنية معلومات البطاقة)، وبعض واجهات ACPI ووحدة المعالجة المركزية يتم حظر تسجيلات MSR، ومكالمات kexec_file وkexec_load، ويحظر وضع السكون، ويقتصر استخدام DMA لأجهزة PCI، ويحظر استيراد كود ACPI من متغيرات EFI،
لا يُسمح بالتلاعب بمنافذ الإدخال/الإخراج، بما في ذلك تغيير رقم المقاطعة ومنفذ الإدخال/الإخراج للمنفذ التسلسلي.
بشكل افتراضي، وحدة التأمين غير نشطة، ويتم إنشاؤها عند تحديد خيار SECURITY_LOCKDOWN_LSM في kconfig ويتم تنشيطها من خلال معلمة kernel "lockdown ="، أو ملف التحكم "/sys/kernel/security/lockdown" أو خيارات التجميع
من المهم ملاحظة أن الإغلاق يحد فقط من الوصول القياسي إلى النواة، لكنه لا يحمي من التعديلات نتيجة استغلال الثغرات الأمنية. لمنع التغييرات على النواة قيد التشغيل عند استخدام عمليات الاستغلال بواسطة مشروع Openwall
المصدر: opennet.ru