مبدأ أقل الامتيازات
في مجال أمن المعلومات وعلوم الحاسوب وغيرها من المجالات، ينص مبدأ أقل الامتيازات ( PoLP )، المعروف أيضاً بمبدأ الحد الأدنى من الامتيازات ( PoMP ) أو مبدأ أقل الصلاحيات ( PoLA )، على أنه في طبقة تجريدية معينة من بيئة الحوسبة، يجب أن يكون كل عنصر (مثل عملية أو مستخدم أو برنامج، حسب الموضوع) قادراً على الوصول فقط إلى المعلومات والموارد الضرورية لغرضه المشروع. [ 1 ]
تفاصيل
يعني هذا المبدأ منح أي حسابات مستخدمين أو عمليات الصلاحيات الضرورية فقط لأداء وظائفها المقصودة. على سبيل المثال، لا يحتاج حساب المستخدم المخصص لإنشاء النسخ الاحتياطية إلى تثبيت أي برامج، وبالتالي، تقتصر صلاحياته على تشغيل تطبيقات النسخ الاحتياطي والتطبيقات ذات الصلة. أما أي صلاحيات أخرى، مثل تثبيت برامج جديدة، فهي محظورة. وينطبق هذا المبدأ أيضًا على مستخدم الحاسوب الشخصي الذي يعمل عادةً بحساب مستخدم عادي، ولا يفتح حسابًا ذا صلاحيات خاصة ومحميًا بكلمة مرور إلا عند الضرورة القصوى.
عند تطبيقها على المستخدمين ، يتم استخدام مصطلحات أقل وصول للمستخدم أو حساب المستخدم الأقل امتيازًا (LUA)، في إشارة إلى المفهوم القائل بأن جميع حسابات المستخدمين يجب أن تعمل بأقل قدر ممكن من الامتيازات ، وكذلك تشغيل التطبيقات بأقل قدر ممكن من الامتيازات.
يُعتبر مبدأ (أقل الامتيازات) على نطاق واسع أحد الاعتبارات التصميمية المهمة لتعزيز ومنح "دفعة" مطلوبة بشدة لحماية البيانات والوظائف من الأعطال ( تحمل الأعطال ) والسلوك الخبيث .
تشمل فوائد هذا المبدأ ما يلي:
- الأمن الفكري. عندما يكون نطاق التغييرات التي يمكن للبرنامج إجراؤها على النظام محدودًا، يصبح من الأسهل اختبار إجراءاته المحتملة وتفاعلاته مع التطبيقات الأخرى المستهدفة أمنيًا. عمليًا، على سبيل المثال، لن تتمكن التطبيقات التي تعمل بصلاحيات محدودة من تنفيذ عمليات قد تؤدي إلى تعطل الجهاز، أو التأثير سلبًا على التطبيقات الأخرى العاملة على النظام نفسه.
- أمان أفضل للنظام. عندما تكون صلاحيات التعليمات البرمجية محدودة في نطاق الإجراءات التي يمكنها تنفيذها على مستوى النظام، لا يمكن استغلال الثغرات الأمنية في تطبيق واحد لاختراق باقي أجزاء الجهاز. على سبيل المثال، تنص مايكروسوفت على أن "التشغيل في وضع المستخدم القياسي يمنح العملاء حماية معززة ضد الأضرار غير المقصودة على مستوى النظام الناتجة عن " هجمات التدمير " والبرامج الضارة ، مثل برامج التجسس وبرامج التجسس الخبيثة والفيروسات غير القابلة للكشف ". [ 2 ]
- سهولة النشر. بشكل عام، كلما قلّت الصلاحيات التي يتطلبها التطبيق، كان نشره أسهل في بيئة أكبر. ويعود ذلك عادةً إلى الميزتين السابقتين، حيث تتطلب التطبيقات التي تُثبّت برامج تشغيل الأجهزة أو التي تحتاج إلى صلاحيات أمان مُوسّعة خطوات إضافية في عملية النشر. على سبيل المثال، في نظام ويندوز، يمكن تشغيل حل لا يتطلب برامج تشغيل أجهزة مباشرةً دون تثبيت، بينما يجب تثبيت برامج تشغيل الأجهزة بشكل منفصل باستخدام خدمة مُثبّت ويندوز لمنحها صلاحيات مُوسّعة. [ 3 ]
عمليًا، توجد تعريفات متعددة ومتنافسة لمفهوم "أقل الامتيازات" الحقيقي. ومع ازدياد تعقيد البرامج بسرعة، يزداد عدد المشكلات المحتملة، مما يجعل اتباع نهج تنبؤي غير عملي. ومن الأمثلة على ذلك قيم المتغيرات التي قد يعالجها البرنامج، والعناوين التي سيحتاجها، أو التوقيت الدقيق لاستخدامها. تسمح أنظمة صلاحيات الكائنات، على سبيل المثال، بتأجيل منح امتياز استخدام واحد إلى حين استخدامه. حاليًا، يتمثل أقرب نهج عملي في حذف الامتيازات التي يمكن تقييمها يدويًا على أنها غير ضرورية. وعادةً ما تتجاوز مجموعة الامتيازات الناتجة الحد الأدنى الحقيقي للامتيازات المطلوبة للعملية.
ومن القيود الأخرى دقة التحكم التي توفرها بيئة التشغيل في صلاحيات كل عملية على حدة. [ 4 ] عمليًا، نادرًا ما يكون من الممكن التحكم في وصول العملية إلى الذاكرة، أو وقت المعالجة، أو عناوين أجهزة الإدخال/الإخراج، أو أوضاعها بالدقة اللازمة لتوفير مجموعة الصلاحيات المحددة التي تحتاجها العملية فقط.
الصيغة الأصلية من جيروم سالتزر : [ 5 ]
ينبغي أن يعمل كل برنامج وكل مستخدم ذي امتيازات في النظام باستخدام أقل قدر ممكن من الامتيازات اللازمة لإكمال المهمة.
وضع بيتر جيه دينينج ، في ورقته البحثية "أنظمة التشغيل المتسامحة مع الأعطال"، هذا المفهوم في منظور أوسع بين "المبادئ الأساسية الأربعة للتسامح مع الأعطال".
تمت مناقشة "التخصيصات الديناميكية للامتيازات" سابقًا من قبل روجر نيدهام في عام 1972. [ 6 ] [ 7 ]
تاريخياً، ربما يكون أقدم مثال على (أقل الامتيازات) هو الكود المصدري لـ login.c ، والذي يبدأ التنفيذ بأذونات المستخدم الخارق ، وفي اللحظة التي لم تعد فيها ضرورية، يقوم بإغلاقها عبر setuid() مع وسيطة غير صفرية كما هو موضح في الكود المصدري لنظام Unix الإصدار 6 .
تطبيق
يعمل النواة دائمًا بأقصى صلاحيات لأنه جوهر نظام التشغيل ويتمتع بإمكانية الوصول إلى مكونات الجهاز. من أهم مسؤوليات نظام التشغيل، وخاصةً نظام التشغيل متعدد المستخدمين، إدارة توفر مكونات الجهاز وطلبات الوصول إليها من العمليات الجارية. عند تعطل النواة ، تتعطل أيضًا آليات الحفاظ على حالتها . لذلك، حتى لو كان هناك سبيل لاستعادة وحدة المعالجة المركزية دون إعادة تشغيل قسرية ، يستمر تطبيق إجراءات الأمان، لكن نظام التشغيل لا يستطيع الاستجابة بشكل صحيح للعطل لعدم إمكانية اكتشافه. يعود ذلك إلى توقف تنفيذ النواة أو استئناف عداد البرنامج التنفيذ من نقطة ما في حلقة لا نهائية، وغالبًا ما تكون غير فعالة . يشبه هذا فقدان الذاكرة (فشل تنفيذ النواة) أو الوقوع في متاهة مغلقة تعود دائمًا إلى نقطة البداية (حلقات مغلقة).

إذا استؤنف تنفيذ البرنامج بعد العطل عن طريق تحميل وتشغيل شيفرة حصان طروادة ، فسيتمكن مُنشئ هذه الشيفرة من السيطرة على جميع العمليات. يُلزم مبدأ أقل الامتيازات تشغيل الشيفرة بأقل مستوى ممكن من الامتيازات/الصلاحيات. هذا يعني أن الشيفرة التي تستأنف تنفيذ الشيفرة - سواء كانت حصان طروادة أو مجرد شيفرة استؤنفت من موقع غير متوقع - لن تتمكن من تنفيذ عمليات ضارة أو غير مرغوب فيها. إحدى الطرق المُستخدمة لتحقيق ذلك يُمكن تطبيقها في مُعالجات النظام . على سبيل المثال، في بنية Intel x86، صممت الشركة المُصنعة أربعة "أوضاع" تشغيل (من الحلقة 0 إلى الحلقة 3) بدرجات وصول مُتدرجة - تُشبه إلى حد كبير أنظمة التصاريح الأمنية في وكالات الدفاع والاستخبارات.
كما هو مُطبق في بعض أنظمة التشغيل، تُنفذ العمليات بمجموعة امتيازات مُحتملة ومجموعة امتيازات فعّالة . تُورَث مجموعات الامتيازات هذه من العملية الأصلية وفقًا لدلالات الدالة fork () . قد يُوسَم الملف التنفيذي الذي يؤدي وظيفة ذات امتيازات - والذي يُشكل تقنيًا مُكونًا من مكونات TCB ، ويُسمى بالتالي برنامجًا أو عملية موثوقة - بمجموعة من الامتيازات. يُعد هذا امتدادًا منطقيًا لمفهومي مُعرّف المستخدم ومُعرّف المجموعة . يُحدد توريث امتيازات الملف بواسطة العملية بدلالات عائلة استدعاءات النظام exec () . قد يصبح التفاعل الدقيق بين امتيازات العملية المُحتملة، وامتيازات العملية الفعلية، وامتيازات الملف مُعقدًا. عمليًا، يُطبق مبدأ أقل الامتيازات بإجبار العملية على العمل فقط بالامتيازات المطلوبة للمهمة. يُعد الالتزام بهذا النموذج مُعقدًا للغاية وعرضة للأخطاء.
مبادئ مماثلة
إن مفهوم معايير تقييم نظام الكمبيوتر الموثوق به (TCSEC) لتقليل قاعدة الحوسبة الموثوقة (TCB) هو متطلب أكثر صرامة ينطبق فقط على فئات الضمان الأقوى وظيفيًا (رابط إلى قسم معايير تقييم نظام الكمبيوتر الموثوق به والأقسام والفئات)، وتحديدًا الفئتين B3 و A1 (المتطابقتين وظيفيًا ولكنهما تختلفان من حيث الأدلة والوثائق المطلوبة).
غالبًا ما يرتبط مبدأ أقل الامتيازات بمفهوم تقييد الامتيازات ، أي منح الامتيازات الضرورية في آخر لحظة ممكنة والتخلي عنها بمجرد انتفاء الحاجة إليها، مما يقلل ظاهريًا من عواقب الأخطاء البرمجية التي تستغل امتيازات أكثر مما تستحق دون قصد. وقد فُسِّر مبدأ أقل الامتيازات أيضًا في سياق توزيع صلاحيات التحكم التقديري في الوصول (DAC)، على سبيل المثال، التأكيد على أن منح المستخدم U صلاحية القراءة والكتابة للملف F يُعد انتهاكًا لمبدأ أقل الامتيازات إذا كان بإمكان U إكمال مهامه المصرح بها بصلاحية القراءة فقط.
انظر أيضاً
مراجع
- ↑ سالتزر، جيروم هـ .؛ شرودر، مايكل د. (1975). "حماية المعلومات في أنظمة الحاسوب". وقائع معهد مهندسي الكهرباء والإلكترونيات (IEEE ). 63 (9). معهد مهندسي الكهرباء والإلكترونيات (IEEE): 1278-1308 . doi : 10.1109 /proc.1975.9939 . ISSN 0018-9219 . OCLC 5871551104. S2CID 269166 .
- ↑ جوناثان كلارك؛ شركة DABCC Inc. "خبير في مجال المحاكاة الافتراضية يكتب: "وضع المستخدم أمر جيد - النشر على حسابات مقيدة دون رفع مستوى الأمان"تمت أرشفة هذا النص من المصدر الأصلي في 10 فبراير 2013. تم الاطلاع عليه في 15 مارس 2013 .
- ↑ آرون مارغوسيس (أغسطس 2006). "مشاكل الامتيازات: اكتشاف وإصلاح أخطاء لغة لوا" . مايكروسوفت .
- ↑ «مات بيشوب، أمن الحاسوب: فن وعلم ، بوسطن، ماساتشوستس: أديسون-ويسلي، 2003، الصفحات 343-344، نقلاً عن بارنوم وجيجيك 2005» . مؤرشف من الأصل بتاريخ 20 أكتوبر 2007. تم الاطلاع عليه بتاريخ 17 نوفمبر 2007 .
- ↑ سالتزر، جيروم هـ. (1974). "حماية ومراقبة تبادل المعلومات في أنظمة الحوسبة المتعددة". مجلة اتصالات رابطة مكائن الحوسبة . 17 (7): 388-402 . CiteSeerX 10.1.1.226.3939 . doi : 10.1145/361011.361067 . ISSN 0001-0782 . S2CID 326132 .
- ↑ نيدهام، آر إم (1972). "أنظمة الحماية وتطبيقاتها". وقائع مؤتمر AFIPS المشترك للخريف 1972، 5-7 ديسمبر 1972، الجزء الأول . الصفحات 571-578 . doi : 10.1145/1479992.1480073 . S2CID 7371342 .
- ↑ فريد ب. شنايدر. "أقل الامتيازات وأكثر" (ملف PDF) .
فهرس
- بن مانكين، إضفاء الطابع الرسمي على أنظمة الحماية ، أطروحة دكتوراه، جامعة باث، 2004
- بي جيه دينينغ (ديسمبر 1976). "أنظمة التشغيل المقاومة للأعطال". مجلة ACM Computing Surveys . 8 (4): 359–389 . doi : 10.1145/356678.356680 . S2CID 207736773 .
- جيري هـ. سالتزر، مايك د. شرودر (سبتمبر 1975). "حماية المعلومات في أنظمة الحاسوب" . وقائع معهد مهندسي الكهرباء والإلكترونيات . 63 (9): 1278-1308 . CiteSeerX 10.1.1.126.9257 . doi : 10.1109/PROC.1975.9939 . S2CID 269166 .
- ديتيل ، هارفي م. (1990). مقدمة في أنظمة التشغيل (طبعة منقحة من الطبعة الأولى). أديسون-ويسلي. ص 673. ISBN 978-0-201-14502-1.الصفحة 31.
- شون مارتن (أبريل 2012). "هل تضيع أساسيات الأمن تحت غطاء الحوسبة السحابية والهواتف المحمولة؟" . مجلة SC .
- معهد SANS (مايو 2013). "20 عنصر تحكم أمني حاسم" (ملف PDF) . معهد SANS . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 1 نوفمبر 2013.
روابط خارجية
- الورقة البحثية لسالتزر وشرودر المذكورة في المراجع.
- تتحدث وكالة الأمن القومي (التي طبقت نظام SELinux) عن مبدأ أقل الامتيازات
- مناقشة تطبيق مبدأ أقل الامتيازات في نظام سولاريس
- "دليل على أن لغة لوا تجعلك أكثر أمانًا" بقلم دانا إيب، مؤرشف بتاريخ 23 مايو 2010 في أرشيف الإنترنت (Wayback Machine).
- تطبيق مبدأ أقل الامتيازات على حسابات المستخدمين في نظام التشغيل ويندوز إكس بي، من مايكروسوفت
- "الشركات التجارية تُعرّض بنيتنا التحتية الحيوية للخطر" - كبير مسؤولي الأمن
- كيفية تطبيق مبدأ أقل الامتيازات بنجاح
- نظرية المعلومات
- هندسة الأمن السيبراني
