بيئة معزولة (أمن الحاسوب)

في مجال أمن الحاسوب ، تُعدّ بيئة الاختبار المعزولة (Sandbox) آلية أمنية لفصل البرامج قيد التشغيل، وذلك عادةً للحدّ من انتشار أعطال النظام أو ثغرات البرامج. يُستمدّ مصطلح "بيئة الاختبار المعزولة " من مفهوم صندوق رمل الأطفال، وهو مساحة لعب يُمكن للأطفال فيها البناء والتدمير والتجربة دون إحداث أي ضرر في العالم الحقيقي. [ 1 ] تُستخدم هذه البيئة غالبًا لتحليل البرامج أو الشفرات غير المختبرة أو غير الموثوقة، والتي قد تكون صادرة عن جهات خارجية أو موردين أو مستخدمين أو مواقع ويب غير موثوقة، دون تعريض الجهاز المضيف أو نظام التشغيل للخطر . [ 2 ] تُوفّر بيئة الاختبار المعزولة عادةً مجموعة موارد مُحكمة التحكم لتشغيل البرامج الضيفة، مثل مساحة التخزين ومساحة الذاكرة المؤقتة . وعادةً ما يكون الوصول إلى الشبكة، أو القدرة على فحص النظام المضيف، أو القراءة من أجهزة الإدخال، ممنوعًا أو مقيدًا بشدة.

من حيث توفير بيئة شديدة التحكم، يمكن تشبيه تقنية الحماية المعزولة (Sandboxing) بتقنية المحاكاة الافتراضية (Virtualization ). تُستخدم هذه التقنية بشكل متكرر لاختبار البرامج غير الموثقة التي قد تحتوي على فيروسات أو برامج ضارة أخرى ، دون السماح للبرنامج بإلحاق الضرر بالجهاز المضيف. [ 3 ]

التطبيقات

يتم تطبيق بيئة الحماية المعزولة عن طريق تشغيل البرنامج في بيئة نظام تشغيل مقيدة، وبالتالي التحكم في الموارد (مثل واصفات الملفات والذاكرة ومساحة نظام الملفات وما إلى ذلك) التي يمكن أن تستخدمها العملية. [ 4 ]

تتضمن أمثلة تطبيقات بيئة الاختبار المعزولة ما يلي:

  • تعتمد تقنية الحماية المعزولة لتطبيقات لينكس على ميزات seccomp و cgroups و namespaces في نواة لينكس . وتُستخدم بشكل خاص في Systemd و Google Chrome و Firefox و Firejail .
  • كان نظام أندرويد من أوائل أنظمة التشغيل الرئيسية التي طبقت عزل التطبيقات الكامل، وذلك بتخصيص مُعرّف مستخدم خاص لكل تطبيق في نظام لينكس. [ 5 ] يُعزز نظام GrapheneOS هذا العزل لتوفير طبقة أمان إضافية وتجنب التطبيقات التي قد تكون ضارة، وعلى عكس نظام أندرويد الأصلي، فإنه يسمح بعزل كل تطبيق في نظام التشغيل. [ 6 ]
  • يُعدّ Apple App Sandbox ضروريًا للتطبيقات التي يتم توزيعها عبر متجر تطبيقات Mac ومتجر تطبيقات iOS / iPadOS التابعين لشركة Apple ، ويُوصى به للتطبيقات الأخرى الموقّعة. [ 7 ] [ 8 ]
  • تتضمن أنظمة التشغيل Windows Vista والإصدارات اللاحقة عملية تشغيل في وضع "منخفض"، تُعرف باسم "التحكم في حساب المستخدم" (UAC) . [ 9 ]
  • واجهة برمجة تطبيقات جوجل المعزولة. [ 10 ]
  • تحاكي الآلات الافتراضية جهاز كمبيوتر مضيفًا كاملًا، حيث يمكن لنظام تشغيل تقليدي أن يبدأ التشغيل ويعمل كما لو كان على جهاز حقيقي. يعمل نظام التشغيل الضيف في بيئة معزولة، بمعنى أنه لا يعمل بشكل أصلي على الجهاز المضيف، ولا يمكنه الوصول إلى موارد الجهاز المضيف إلا من خلال المحاكي.
  • السجن : قيود على الوصول إلى الشبكة، ومساحة اسم نظام ملفات مقيدة. تُستخدم السجون بشكل شائع في الاستضافة الافتراضية . [ 11 ]
  • يمنح التنفيذ القائم على القواعد المستخدمين تحكمًا كاملًا في العمليات التي يتم تشغيلها، أو إنشاؤها (بواسطة تطبيقات أخرى)، أو السماح لها بحقن التعليمات البرمجية في تطبيقات أخرى والوصول إلى الشبكة، وذلك من خلال قيام النظام بتعيين مستويات الوصول للمستخدمين أو البرامج وفقًا لمجموعة من القواعد المحددة. [ 12 ] كما يمكنه التحكم في أمان الملفات/السجل (أي البرامج التي يمكنها القراءة والكتابة في نظام الملفات/السجل). في مثل هذه البيئة، تقل فرص الفيروسات وبرامج التجسس في إصابة الحاسوب. يُعد إطارا أمان SELinux و Apparmor مثالين على هذه التطبيقات لنظام Linux .
  • يعتمد باحثو الأمن بشكل كبير على تقنيات العزل (Sandboxing) لتحليل سلوك البرمجيات الخبيثة. فمن خلال إنشاء بيئة تحاكي أو تنسخ أجهزة سطح المكتب المستهدفة، يستطيع الباحثون تقييم كيفية إصابة البرمجيات الخبيثة للجهاز المستهدف واختراقه. وتعتمد العديد من خدمات تحليل البرمجيات الخبيثة على تقنية العزل. [ 13 ]
  • يُعد Google Native Client بيئة معزولة لتشغيل أكواد C و C++ المُجمّعة في المتصفح بكفاءة وأمان، بغض النظر عن نظام تشغيل المستخدم. [ 14 ]
  • يمكن اعتبار أنظمة الصلاحيات آلية حماية دقيقة، حيث تُمنح البرامج رموزًا مبهمة عند تشغيلها، وتتمتع بقدرات محددة بناءً على هذه الرموز. تعمل تطبيقات الصلاحيات على مستويات مختلفة، من نواة النظام إلى مساحة المستخدم. ومن أمثلة الحماية على مستوى المستخدم القائمة على الصلاحيات، عرض صفحات HTML في متصفح الويب ، سواء كان Chromium أو WebKit .
  • وضع الحوسبة الآمنة (seccomp) الوضع الصارم، يسمح seccomp فقط write()باستدعاءات النظام read()و exit()و و .sigreturn()
  • يحتوي HTML5 على سمة "sandbox" لاستخدامها مع الإطارات المضمنة (iframes) . [ 15 ]
  • تتضمن الآلات الافتراضية لجافا بيئة معزولة لتقييد إجراءات التعليمات البرمجية غير الموثوقة، مثل تطبيق جافا الصغير .
  • يوفر وقت تشغيل اللغة المشتركة .NET ميزة أمان الوصول إلى التعليمات البرمجية لفرض قيود على التعليمات البرمجية غير الموثوقة.
  • عزل أعطال البرمجيات (SFI)، [ 16 ] يسمح بتشغيل التعليمات البرمجية الأصلية غير الموثوقة عن طريق وضع جميع تعليمات التجميع الخاصة بالتخزين والقراءة والقفز في أجزاء معزولة من الذاكرة.

تتضمن بعض حالات استخدام بيئات الاختبار المعزولة ما يلي:

انظر أيضاً

مراجع

  1. "ما هي بيئة الاختبار المعزولة؟ - المعنى | بروفبوينت المملكة المتحدة" . بروفبوينت . 13 سبتمبر 2023. مؤرشف من الأصل في 28 مايو 2024. تم الاطلاع عليه في 28 مايو 2024 .
  2. غولدبيرغ، إيان؛ فاغنر، ديفيد؛ توماس، راندي؛ وبروير، إريك (1996). "بيئة آمنة لتطبيقات المساعدة غير الموثوقة (تقييد المخترق الماكر)" (ملف PDF) . وقائع ندوة USENIX السادسة لأمن أنظمة يونكس . مؤرشف (ملف PDF) من الأصل بتاريخ 15 يونيو 2010. تم الاطلاع عليه بتاريخ 25 أكتوبر 2011 .
  3. جير، إريك (16 يناير 2012). "كيفية الحفاظ على أمان جهاز الكمبيوتر الخاص بك باستخدام تقنية الحماية المعزولة" . TechHive. مؤرشف من الأصل في 12 يوليو 2014. تم الاطلاع عليه في 3 يوليو 2014 .
  4. "تطبيقات الحماية المعزولة" (ملف PDF) . 2001. مؤرشف (ملف PDF) من الأصل في 23 سبتمبر 2015. تم الاطلاع عليه في 7 مايو 2013 .
  5. "بيئة اختبار التطبيقات - مشروع أندرويد مفتوح المصدر" . مؤرشف من الأصل بتاريخ 11 ديسمبر 2019. تم الاطلاع عليه بتاريخ 2 أبريل 2021 .
  6. وايلد، دانيال (16 أبريل 2024). "مراجعة GrapheneOS: جودة بدون جوجل" . 9to5google .
  7. "حول App Sandbox" . developer.apple.com . مؤرشف من الأصل بتاريخ 2020-12-04 . تم الاطلاع عليه بتاريخ 2020-12-09 .
  8. "Security of runtime process in iOS and iPadOS". Apple Support. Archived from the original on 2021-04-13. Retrieved 2021-04-04.
  9. vinaypamnani-msft. "How User Account Control works". learn.microsoft.com. Archived from the original on 2025-07-16. Retrieved 2025-07-14.
  10. google/sandboxed-api, Google, 2020-12-08, archived from the original on 2020-12-07, retrieved 2020-12-09
  11. "Auto-Sandboxing secure system". Archived from the original on 2015-02-12. Retrieved 2015-01-30.
  12. "Computer System Security and Access Controls". 1991. Archived from the original on 28 May 2013. Retrieved 17 May 2013.
  13. "Native Client Sandbox – Untrusted x86 Native Code"(PDF). Archived(PDF) from the original on 2015-02-12. Retrieved 2015-01-03.
  14. "Welcome to Native Client". Archived from the original on 2019-11-18. Retrieved 2019-11-18.
  15. Internet Explorer Team Blog (14 July 2011). "Defense in Depth: Locking Down Mash-Ups with HTML5 Sandbox". IEBlog. Archived from the original on 13 August 2018. Retrieved 2 September 2018.
  16. Wahbe, Robert (1993). "Efficient Software-Based Fault Isolation"(PDF).