إيروس (نواة صغيرة)
نظام التشغيل الموثوق للغاية ( EROS ) هو نظام تشغيل طُوِّر بدءًا من عام 1991 في جامعة بنسلفانيا ، ثم جامعة جونز هوبكنز ، وشركة EROS Group. تشمل ميزاته استمرارية البيانات والعمليات تلقائيًا، ودعمًا أوليًا للوقت الحقيقي ، وأمانًا قائمًا على القدرات . يُعد EROS نظام تشغيل بحثيًا بحتًا، ولم يُستخدم قط في تطبيقات عملية. اعتبارًا من عام 2005، توقف التطوير لصالح نظام لاحق، وهو CapROS.
المفاهيم الأساسية
يتمثل الهدف الرئيسي لنظام EROS (وما شابهه) في توفير دعم قوي على مستوى نظام التشغيل لإعادة هيكلة التطبيقات الحيوية بكفاءة إلى مكونات صغيرة متصلة. لا يمكن لأي مكون التواصل مع المكونات الأخرى إلا من خلال واجهات محمية، وهو معزول عن بقية النظام. في هذا السياق، تُعرَّف الواجهة المحمية بأنها تلك التي يفرضها أدنى مستوى في نظام التشغيل، وهو النواة . تُعد النواة الجزء الوحيد من النظام القادر على نقل المعلومات بين العمليات ، كما أنها تتمتع بالسيطرة الكاملة على الجهاز، ولا يمكن تجاوزها (إذا تم بناؤها بشكل صحيح). في EROS، تُعرف الآلية التي توفرها النواة والتي من خلالها يُسمّي أحد المكونات خدمات مكون آخر ويستدعيها باسم " القدرة" ، وذلك باستخدام الاتصال بين العمليات (IPC). من خلال فرض واجهات محمية بالقدرات، تضمن النواة وصول جميع الاتصالات إلى أي عملية عبر واجهة مُصدَّرة عمدًا. كما تضمن عدم إمكانية أي استدعاء إلا إذا كان المكون المُستدعي يمتلك قدرة صالحة للمكون المُستدعى. يتم تحقيق الحماية في أنظمة القدرات عن طريق تقييد انتشار القدرات من مكون إلى آخر، وغالبًا ما يكون ذلك من خلال سياسة أمنية تسمى الحصر .
تُعزز أنظمة القدرات بطبيعتها بنية البرمجيات القائمة على المكونات. يشبه هذا النهج التنظيمي مفهوم البرمجة الكائنية التوجه في لغات البرمجة ، ولكنه يُطبق على مستوى أدق ولا يتضمن مفهوم الوراثة . عند إعادة هيكلة البرمجيات بهذه الطريقة، تظهر عدة فوائد:
- تُبنى المكونات الفردية بشكل طبيعي على هيئة حلقات أحداث . ومن أمثلة الأنظمة التي تُبنى عادةً بهذه الطريقة أنظمة التحكم في طيران الطائرات (انظر أيضًا اعتبارات البرمجيات في شهادة الأنظمة والمعدات المحمولة جوًا DO-178B )، وأنظمة تحويل الهاتف (انظر محول 5ESS ). يُختار البرمجة الموجهة بالأحداث لهذه الأنظمة بشكل أساسي لبساطتها ومتانتها، وهما سمتان أساسيتان في الأنظمة الحيوية والحساسة للمهام.
- تصبح المكونات أصغر حجماً وقابلة للاختبار بشكل فردي، مما يساعد على عزل وتحديد العيوب والأخطاء بسهولة أكبر.
- إن عزل كل مكون عن المكونات الأخرى يحد من نطاق أي ضرر قد يحدث عندما يحدث خطأ ما أو عندما يتصرف البرنامج بشكل خاطئ.
تؤدي هذه المزايا مجتمعةً إلى أنظمة أكثر متانة وأمانًا بشكل ملحوظ. كان نظام بليسي 250 نظامًا مصممًا في الأصل للاستخدام في مقاسم الهاتف، وقد تم اختيار تصميمه القائم على القدرات خصيصًا لأسباب تتعلق بالمتانة.
على عكس العديد من الأنظمة السابقة، تُعدّ القدرات الآلية الوحيدة لتسمية الموارد واستخدامها في نظام EROS، مما يجعله ما يُشار إليه أحيانًا بنظام القدرات البحت . في المقابل، يُعدّ نظام IBM i مثالًا على نظام قدرات ناجح تجاريًا، ولكنه ليس نظام قدرات بحتًا.
تُدعم بنى القدرات البحتة بنماذج أمنية رياضية ناضجة ومُختبرة جيدًا. وقد استُخدمت هذه النماذج لإثبات إمكانية تأمين الأنظمة القائمة على القدرات عند تطبيقها بشكل صحيح. وقد ثبت أن ما يُسمى بـ"خاصية الأمان" قابلة للتقرير في أنظمة القدرات البحتة (انظر ليبتون ). كما تم التحقق رسميًا من إمكانية تطبيق الحصر، وهو اللبنة الأساسية للعزل، بواسطة أنظمة القدرات البحتة [ 1 ]، ويُمكن تطبيقه عمليًا من خلال مُنشئ EROS ومصنع KeyKOS . ولا يوجد تحقق مماثل لأي آلية حماية بدائية أخرى. وهناك نتيجة أساسية في الأدبيات تُظهر أن الأمان غير قابل للتقرير رياضيًا في الحالة العامة (انظر HRU ، ولكن تجدر الإشارة إلى أنه قابل للإثبات لمجموعة غير محدودة من الحالات المُقيدة [ 2 ] ). والأهم من ذلك عمليًا، فقد ثبت أن الأمان غير صحيح بالنسبة لجميع آليات الحماية البدائية المُضمنة في أنظمة التشغيل التجارية الحالية. ويُعد الأمان شرطًا أساسيًا لنجاح تطبيق أي سياسة أمنية. عمليًا، تعني هذه النتيجة أنه من غير الممكن مبدئيًا تأمين الأنظمة التجارية الحالية، ولكن من الممكن نظريًا تأمين الأنظمة القائمة على القدرات شريطة تنفيذها بعناية كافية. لم يسبق اختراق نظامي EROS أو KeyKOS بنجاح، ولم ينجح أي مهاجم داخلي في اختراق آليات العزل الخاصة بهما، ولكن لا يُعرف ما إذا كان تنفيذهما قد تم بعناية كافية. كان أحد أهداف مشروع Coyotos هو إثبات إمكانية تحقيق عزل المكونات وأمنها بشكل قاطع من خلال تطبيق تقنيات التحقق من البرمجيات.
يُعد نظام L4.sec، الذي يُعتبر امتدادًا لعائلة النواة المصغرة L4 ، نظامًا قائمًا على القدرات، وقد تأثر بشكل كبير بنتائج مشروع EROS. وكان التأثير متبادلًا، إذ أن عمل EROS على الاستدعاء عالي الأداء كان مدفوعًا بقوة بنجاحات يوشين ليدتكه مع عائلة النواة المصغرة L4 .
تاريخ
كان جوناثان إس. شابيرو المطور الرئيسي لنظام التشغيل إيروس. وكان أيضًا القوة الدافعة وراء نظام كويوتو، الذي كان بمثابة "خطوة تطورية" [ 3 ] تتجاوز نظام التشغيل إيروس. [ 4 ]
بدأ مشروع EROS عام 1991 كإعادة بناء لنظام تشغيل سابق، KeyKOS ، في بيئة معقمة . طُوّر KeyKOS بواسطة شركة Key Logic، وكان امتدادًا مباشرًا للعمل على نظام GNOSIS ( نظام التشغيل الجديد العظيم في السماء ) الذي طورته شركة Tymshare. ونظرًا للظروف المحيطة بانهيار Key Logic عام 1991، أصبح ترخيص KeyKOS غير عملي. ولأن KeyKOS لم يكن يعمل على معالجات شائعة الاستخدام، فقد تقرر إعادة بنائه من الوثائق المتاحة للعموم.
بحلول أواخر عام ١٩٩٢، بات من الواضح أن بنية المعالج قد تغيرت بشكل كبير منذ طرح فكرة القدرات، ولم يعد من البديهي أن تكون الأنظمة ذات البنية المكونة عملية. واجهت الأنظمة القائمة على النواة المصغرة ، والتي تُفضل بدورها أعدادًا كبيرة من العمليات والتواصل بين العمليات، تحديات أداء جسيمة، وكان من غير المؤكد إمكانية حلها بنجاح. برزت بنية x86 بوضوح كبنية مهيمنة، لكن زمن انتقال المستخدم/المشرف المكلف في معالجي 386 و 486 شكّل تحديات خطيرة للعزل القائم على العمليات. تحوّل مشروع EROS إلى جهد بحثي، وانتقل إلى جامعة بنسلفانيا ليصبح محور بحث أطروحة شابيرو. بحلول عام ١٩٩٩، تم إثبات تطبيق عالي الأداء لمعالج بنتيوم ، يُنافس أداء عائلة النواة المصغرة L4 ، المعروفة بسرعتها الاستثنائية في التواصل بين العمليات. تم التحقق رسميًا من آلية احتواء EROS، مما أدى إلى إنشاء نموذج رسمي عام لأنظمة القدرات الآمنة.
في عام 2000، انضم شابيرو إلى هيئة التدريس في قسم علوم الحاسوب بجامعة جونز هوبكنز. في هوبكنز، كان الهدف هو توضيح كيفية استخدام الإمكانيات التي توفرها نواة EROS لبناء خوادم آمنة وقابلة للدفاع على مستوى التطبيقات. بتمويل من وكالة مشاريع البحوث الدفاعية المتقدمة ومختبر أبحاث القوات الجوية ، استُخدمت EROS كأساس لنظام نوافذ موثوق به، [ 5 ] ومكدس شبكة عالي الأداء وقابل للدفاع، [ 6 ] وبدايات متصفح ويب آمن. كما استُخدمت لاستكشاف فعالية الفحص الثابت الخفيف. [ 7 ] في عام 2003، تم اكتشاف بعض المشكلات الأمنية المعقدة للغاية [ 8 ] المتأصلة في أي بنية نظام تعتمد على بدائيات الاتصال بين العمليات المتزامنة (لا سيما EROS وL4). توقف العمل على EROS لصالح Coyotos، الذي حلّ هذه المشكلات.
اعتبارًا من عام 2006، نظام EROS وخلفاؤه هما نظاما القدرات الوحيدان المتاحان على نطاق واسع واللذان يعملان على أجهزة تجارية.
حالة
توقف العمل على نظامي EROS وCoyotos من قبل المجموعة الأصلية، ولكن يوجد نظام بديل. [ 4 ] نظام CapROS (نظام التشغيل الموثوق القائم على القدرات)، وهو نظام تشغيل بديل لنظام EROS، مفتوح المصدر وموجه تجاريًا. [ 9 ]
انظر أيضاً
مراجع
- ↑ شابيرو، جوناثان س.؛ ويبر، صموئيل (29 أكتوبر 1999). التحقق من آلية احتواء EROS (ملف PDF) . ندوة IEEE للأمن والخصوصية لعام 2000. بيركلي، كاليفورنيا، الولايات المتحدة الأمريكية. doi : 10.1109/SECPRI.2000.848454 .
- ↑ لي، بيتر. "رمز حمل البرهان" . مؤرشف من الأصل في 22 سبتمبر 2006.
- ↑ شابيرو، جوناثان (2 أبريل 2006). "الاختلافات بين كويوتو وإيروس: ملخص سريع" . مؤرشف من الأصل في 21 يوليو 2012.
- 1 2 شابيرو، جوناثان س. (7 أبريل 2009). "حالة كويتوس" . coyotos -dev (قائمة بريدية). مؤرشف من الأصل في 24 يوليو 2014. تم الاطلاع عليه في 16 مارس 2022.
توقف العمل النشط على كويتوس منذ عدة أشهر، ومن غير المرجح استئنافه.
- ↑ شابيرو، جوناثان س.؛ فاندربورغ، جون؛ نورثروب، إريك؛ تشيزماديا، ديفيد (2004). تصميم نظام النوافذ الموثوقة EROS (ملف PDF) . ندوة USENIX الأمنية الثالثة عشرة. سان دييغو، كاليفورنيا، الولايات المتحدة الأمريكية.
- ↑ سينها، أنشومال؛ سارات، سانديب؛ شابيرو، جوناثان س. (2004). أنظمة الشبكات الفرعية المُعاد تحميلها: نظام فرعي شبكي عالي الأداء وقابل للدفاع (ملف PDF) . المؤتمر التقني السنوي لـ USENIX لعام 2004. بوسطن، ماساتشوستس، الولايات المتحدة الأمريكية.
- ↑ تشين، هاو؛ شابيرو، جوناثان س. "استخدام التحقق الثابت المتكامل مع البناء للحفاظ على ثوابت الصحة" (ملف PDF) . مؤرشف من الأصل (ملف PDF) في 3 مارس 2016.
- ↑ شابيرو، جوناثان س. (2003). الثغرات الأمنية في تصميمات الاتصال بين العمليات المتزامنة (ملف PDF) . ندوة 2003 حول الأمن والخصوصية. بيركلي، كاليفورنيا، الولايات المتحدة الأمريكية. doi : 10.1109/SECPRI.2003.1199341 .
- ↑ تشاكرابورتي، بيناكي (2010). "أنظمة التشغيل لأغراض البحث - دراسة شاملة". مجلة GESJ: علوم الحاسوب والاتصالات . 3 (26). ISSN 1512-1232 .
المجلات
- ليبتون، آر جيه؛ سنايدر، إل. (يوليو 1977). "خوارزمية زمنية خطية لتحديد أمن الموضوع" . مجلة ACM . 24 (3): 455-464 . doi : 10.1145/322017.322025 . S2CID 291367 .
- هاريسون، مايكل أ .؛ روزو، دبليو إل؛ أولمان، جيفري د. (أغسطس 1976). "الحماية في أنظمة التشغيل" . مجلة اتصالات رابطة مكائن الحوسبة . 19 (8): 461-471 . doi : 10.1145/360303.360333 . S2CID 5900205 .
روابط خارجية
- الصفحة الرئيسية لـ EROS على موقع Wayback Machine (تمت أرشفة الموقع في 4 مارس 2016)
- النوى الصغيرة
- أنظمة التشغيل في الوقت الحقيقي
- أنظمة القدرات
- أنظمة تشغيل X86
