فصل الامتيازات
في برمجة الكمبيوتر وأمن الكمبيوتر ، يعتبر فصل الامتيازات ( privsep ) أحد التقنيات القائمة على البرامج لتطبيق مبدأ الحد الأدنى من الامتيازات . [1] [2] من خلال فصل الامتيازات، يتم تقسيم البرنامج إلى أجزاء تقتصر على الامتيازات المحددة التي تتطلبها من أجل أداء مهمة محددة. يتم استخدام هذا للتخفيف من الضرر المحتمل لثغرة أمان الكمبيوتر.
تطبيق
الطريقة الشائعة لتنفيذ فصل الامتيازات هي أن ينقسم برنامج كمبيوتر إلى عمليتين . يتخلى البرنامج الرئيسي عن الامتيازات ، ويحتفظ البرنامج الأصغر بالامتيازات من أجل أداء مهمة معينة. ثم يتواصل النصفان عبر زوج من المقابس . وبالتالي، فإن أي هجوم ناجح ضد البرنامج الأكبر سيكسب الحد الأدنى من الوصول، حتى لو كان زوج البرامج قادرًا على أداء عمليات ذات امتيازات.
يتم تحقيق فصل الامتيازات تقليديًا من خلال التمييز بين معرف المستخدم / المجموعة الحقيقي ومعرف المستخدم/المجموعة الفعلي ، باستخدام setuid (2)/ setgid (2) ومكالمات النظام ذات الصلة ، والتي تم تحديدها بواسطة POSIX . إذا تم وضعها بشكل غير صحيح، فقد تسمح الفجوات باختراق الشبكة على نطاق واسع.
يتعين على العديد من برامج خدمة الشبكة تنفيذ عملية محددة ذات امتيازات مثل فتح مأخذ غير مكتمل أو مأخذ إنترنت في نطاق المنافذ المعروفة . كما يمكن أن تتطلب الأدوات الإدارية امتيازات معينة في وقت التشغيل أيضًا. تميل مثل هذه البرامج إلى فصل الامتيازات عن طريق إلغائها تمامًا بعد الانتهاء من القسم الحرج، وتغيير المستخدم الذي يعمل تحته إلى حساب غير مميز بعد القيام بذلك. يُعرف هذا الإجراء بإسقاط الجذر في أنظمة التشغيل الشبيهة بـ Unix . يتم تشغيل الجزء غير المميز عادةً تحت المستخدم " nobody " أو حساب مستخدم منفصل مكافئ.
يمكن أيضًا فصل الامتيازات عن طريق تقسيم وظائف برنامج واحد إلى برامج أصغر متعددة، ثم تعيين الامتيازات الموسعة لأجزاء معينة باستخدام أذونات نظام الملفات . بهذه الطريقة، يتعين على البرامج المختلفة التواصل مع بعضها البعض من خلال نظام التشغيل، وبالتالي فإن نطاق الثغرات المحتملة محدود (نظرًا لأنه لا يمكن استغلال التعطل في الجزء الأقل امتيازًا للحصول على امتيازات، لمجرد التسبب في هجوم رفض الخدمة ).
أمثلة
برج الحمام
برنامج خادم البريد الإلكتروني الآخر المصمم مع مراعاة فصل الامتيازات والأمان هو Dovecot . [3]
أوبن بي إس دي
يعد فصل الامتيازات أحد أهم ميزات الأمان في OpenBSD . [4] [5]
أوبن إس إس إتش
يستخدم OpenSSH فصل الامتيازات لضمان إنشاء الطرفية الزائفة ( pty ) في جزء آمن من العملية، بعيدًا عن عمليات الاتصال لكل اتصال مع إمكانية الوصول إلى الشبكة. [6]
بوستفيكس
ركز تنفيذ Postfix على تنفيذ الفصل الشامل للامتيازات. [7] [8]
سولاريس
تنفذ Solaris مجموعة منفصلة من الوظائف لتقسيم الامتيازات . [9]
انظر أيضا
- الأمن القائم على القدرات
- مشكلة النائب المرتبك
- تصعيد الامتيازات
- إلغاء الامتياز (الحوسبة)
- البرمجة الدفاعية
- صندوق الحماية (أمن الكمبيوتر)
مراجع
- ^ Provos, Niels; Friedl, Markus; Honeyman, Peter (August 4, 2003). "Preventing Privilege Escalation" (PDF) . مؤرشف من الأصل (PDF) في 25 مارس 2023.
- ^ "فصل الامتيازات". منصة تطوير البرمجيات QNX . 17 مايو 2024. مؤرشف من الأصل في 14 أبريل 2024.
- ^ "مستخدمو النظام الذين يستخدمهم Dovecot". doc.dovecot.org . 14 أغسطس 2024. مؤرشف من الأصل في 30 يونيو 2024.
- ^ Obser, Florian (19 فبراير 2023). "إسقاط الامتيازات، وفصل الامتيازات، ووضع التشغيل بالخدمة المقيدة في OpenBSD". sha256.net . مؤرشف من الأصل في 6 يونيو 2024.
- ^ de Raadt, Theo (24 سبتمبر 2006). "Exploit Mitigation Techniques". OpenBSD . مؤرشف من الأصل في 15 مايو 2024.
- ^ Provos, Niels (9 أغسطس 2003). "OpenSSH منفصل الامتيازات". مركز تكامل تكنولوجيا المعلومات . مؤرشف من الأصل في 6 أغسطس 2024.
- ^ "Postfix Architecture". 2024. مؤرشف من الأصل في 3 أغسطس 2024.
- ^ "Privilege Separation". csail.mit.edu . 2022. مؤرشف من الأصل في 23 يوليو 2024.
- ^ "وضع الامتيازات الفعّالة بين قوسين". دليل مطور Solaris الموثوق به . 2010. مؤرشف من الأصل في 14 أغسطس 2024.
