نموذج الكائن والقدرة
نموذج الكائن -القدرة هو نموذج لأمن الحاسوب . تُعرّف القدرة بأنها حق قابل للتحويل لتنفيذ عملية واحدة (أو أكثر) على كائن معين . ويمكن الحصول عليها من خلال التركيبة التالية:
- مرجع غير قابل للتزوير (بمعنى مراجع الكائنات أو المؤشرات المحمية) يمكن إرساله في الرسائل.
- رسالة تحدد العملية المراد تنفيذها.
يعتمد نموذج الأمان على عدم القدرة على تزوير المراجع.
- لا يمكن للكائنات التفاعل إلا عن طريق إرسال رسائل على المراجع.
- يمكن الحصول على المرجع عن طريق:
- الشروط الأولية: في الحالة الأولية للعالم الحسابي الذي يتم وصفه، قد يكون للكائن A بالفعل مرجع إلى الكائن B.
- الأبوة: إذا قام (أ) بإنشاء (ب)، ففي تلك اللحظة يحصل (أ) على المرجع الوحيد لـ (ب) الذي تم إنشاؤه حديثًا.
- الهبة: إذا أنشأ A العنصر B، فإن B يولد مع تلك المجموعة الفرعية من مراجع A التي اختار A أن يمنحها إياها.
- مقدمة: إذا كان لدى A مراجع لكل من B و C، فيمكن لـ A إرسال رسالة إلى B تحتوي على مرجع إلى C. ويمكن لـ B الاحتفاظ بهذا المرجع للاستخدام اللاحق.
في نموذج الكائن والقدرة، يتم إجراء جميع العمليات الحسابية وفقًا للقواعد المذكورة أعلاه.
تتطابق المزايا التي تحفز البرمجة الكائنية التوجه ، مثل التغليف أو إخفاء المعلومات ، والبرمجة المعيارية (النمطية)، وفصل الاهتمامات ، مع أهداف أمنية مثل مبدأ أقل الامتيازات وفصل الامتيازات في البرمجة القائمة على القدرات. [ 1 ] [ 2 ]
تم اقتراح نموذج الكائن والقدرة لأول مرة من قبل جاك دينيس وإيرل سي فان هورن في عام 1966. [ 3 ]
ثغرات في لغات البرمجة الكائنية التوجه
توفر بعض لغات البرمجة القائمة على الكائنات (مثل جافا سكريبت ( نقد )، جافا ، وسي شارب ) طرقًا للوصول إلى الموارد بطرق أخرى غير تلك المذكورة أعلاه، بما في ذلك ما يلي:
- التعيين المباشر لمتغيرات مثيل الكائن في Java و C#.
- فحص البيانات الوصفية للكائن في Java و C# باستخدام البرمجة الانعكاسية المباشرة (الانعكاس).
- القدرة الشاملة على استيراد الوحدات الأولية، على سبيل المثال، java.io.File التي تُمكّن التأثيرات الخارجية.
يُعدّ هذا الاستخدام للسلطة المطلقة انتهاكًا لشروط نموذج قدرات الكائن. وتُعتبر كلٌّ من Caja و Joe-E من متغيرات JavaScript و Java على التوالي، والتي تفرض قيودًا لسدّ هذه الثغرات.
مزايا قدرات الكائنات
ذكر عالم الحاسوب إي. دين تريبل أن التحكم في الوصول القائم على الهوية في العقود الذكية لا يدعم بشكل جيد تغيير الأذونات ديناميكيًا، مقارنةً بنموذج الكائن-القدرة. وشبّه نموذج الكائن-القدرة بإعطاء عامل ركن السيارات مفتاح السيارة، دون منحه حق ملكية السيارة. [ 4 ]
تُفضل الخصائص الهيكلية لأنظمة قدرات الكائنات النمطية في تصميم التعليمات البرمجية وتضمن التغليف الموثوق في تنفيذ التعليمات البرمجية.
تُسهّل هذه الخصائص البنيوية تحليل بعض الخصائص الأمنية لبرنامج أو نظام تشغيل ذي قدرات كائنية . ويمكن تحليل بعض هذه الخصائص، وتحديدًا خصائص تدفق المعلومات، على مستوى مراجع الكائنات واتصالها، بمعزل عن أي معرفة أو تحليل للشيفرة التي تحدد سلوك الكائنات. ونتيجةً لذلك، يمكن ترسيخ هذه الخصائص الأمنية والحفاظ عليها في وجود كائنات جديدة تحتوي على شيفرة غير معروفة وربما خبيثة.
تنبع هذه الخصائص الهيكلية من القاعدتين اللتين تحكمان الوصول إلى الأشياء الموجودة:
- 1) يمكن للكائن A إرسال رسالة إلى B فقط إذا كان الكائن A يحمل مرجعًا إلى B.
- 2) يمكن للكائن A الحصول على مرجع إلى C فقط إذا تلقى الكائن A رسالة تحتوي على مرجع إلى C.
نتيجةً لهاتين القاعدتين، لا يمكن لجسمٍ ما أن يحصل على مرجعٍ إلى جسمٍ آخر إلا من خلال سلسلة مراجع موجودة مسبقًا. باختصار، "الاتصال وحده يُولّد الاتصال".
مسرد المصطلحات ذات الصلة
- نظام القدرات والأشياء
- نظام حاسوبي يطبق المبادئ الموضحة في هذه المقالة.
- هدف
- للكائن حالة وسلوك محليان. والكائن بهذا المعنى هو في آن واحد فاعل ومفعول به بالمعنى المستخدم في أدبيات التحكم في الوصول.
- مرجع
- قناة اتصال غير قابلة للتزوير (مؤشر محمي، عنوان مبهم) تحدد بشكل لا لبس فيه كائنًا واحدًا، وتمنح الإذن بإرسال الرسائل إلى ذلك الكائن.
- رسالة
- ما يتم إرساله كمرجع. اعتمادًا على النظام، قد تكون الرسائل كائنات من الدرجة الأولى أو لا.
- طلب
- عملية يتم فيها إرسال رسالة بناءً على مرجع. عند استلام الرسالة، سيتمكن المُستقبِل من الوصول إلى أي مراجع مُضمّنة في الرسالة.
- التوهين
- نمط تصميم شائع في أنظمة القدرات الكائنية: عند إعطاء مرجع لكائن ما، يتم إنشاء مرجع آخر لكائن وسيط مع قيود أمنية محددة، مثل السماح بالوصول للقراءة فقط أو السماح بالإلغاء. يقوم الكائن الوسيط بإجراء فحوصات أمنية على الرسائل التي يتلقاها، ويمرر أي رسائل مسموح بها. يشير التوهين العميق إلى الحالة التي يتم فيها تطبيق نفس التوهين بشكل متعدٍ على أي كائنات يتم الحصول عليها عبر الكائن الأصلي المخفف، عادةً باستخدام غشاء .
التطبيقات
يمكن نمذجة جميع الأنظمة التاريخية تقريبًا التي وُصفت بأنها أنظمة قدرات، على أنها أنظمة كائنات ذات قدرات. ومع ذلك، فإن بعض استخدامات مصطلح " القدرة" لا تتوافق مع النموذج، مثل قدرات POSIX .
KeyKOS و EROS و Integrity (نظام التشغيل) و CapROS و Coyotos و seL4 و OKL4 و Fiasco.OC هي أنظمة تشغيل آمنة تقوم بتنفيذ نموذج الكائن والقدرة.
اللغات التي تُنفذ إمكانيات الكائنات
- القانون 1 (1981) [ 5 ] [ 6 ]
- عدن (1985)
- الزمرد (1987)
- مخطط موثوق (1992)
- W7 (1995)
- جول (1996)
- النسخة الأصلية (1997)
- أوز-إي (2005)
- جو-إي (2005)
- كابيرل (2006)
- إيميلي (2006)
- كاخا (2007–2021)
- مونتي (2008–حتى الآن)
- بوني (2014–حتى الآن) [ 4 ]
- وايفيرن (2012–حتى الآن)
- اللغة الجديدة (2007–حتى الآن)
- هاك (2021-حتى الآن)
- رولانغ (2018-حتى الآن)
انظر أيضاً
مراجع
- ↑ ميلر، مارك صموئيل (مايو 2006). التركيب المتين: نحو منهج موحد للتحكم في الوصول والتحكم في التزامن . erights.org (تقرير). بالتيمور، ماريلاند . تم الاطلاع عليه بتاريخ 28 يوليو 2013 .
- ↑ ميلر، مارك س .؛ يي، كا-بينغ؛ شابيرو، جوناثان س. (2003). دحض خرافات القدرات (ملف PDF) (تقرير). التقرير الفني SRL2003-02. مختبر أبحاث الأنظمة، جامعة جونز هوبكنز.
- ↑نقلاً عن: JB Dennis، EC Van Horn. "دلالات البرمجة للحسابات متعددة البرامج". اتصالات ACM، 9(3):143–155، مارس 1966.
- 1 2 لوتش، فيليكس (26 أغسطس 2019). "أسئلة وأجوبة حول أغوريك مع دين تريبل" . كورس ون .
- ↑ ليبرمان، هنري (يونيو 1981). معاينة للفصل الأول (مذكرة معهد ماساتشوستس للتكنولوجيا للذكاء الاصطناعي رقم 625) (تقرير). معهد ماساتشوستس للتكنولوجيا.
- ↑ ليبرمان، هنري (يونيو 1981). التفكير في أشياء كثيرة في وقت واحد دون الارتباك: التوازي في الفصل الأول (مذكرة معهد ماساتشوستس للتكنولوجيا للذكاء الاصطناعي 626) (تقرير). معهد ماساتشوستس للتكنولوجيا.
- نماذج أمن الحاسوب
