يكون وضع الحماية للرمز غير الموثوق به مفيدًا عندما تضطر إلى الاعتماد على برنامج مطوّر تابع لجهة خارجية لا يمكنك الوصول إلى رمز المصدر فيه أو لا تتوفّر لديك موارد لإجراء تقييم لرمز المصدر. يمكن أن يكون وضع الحماية مفيدًا أيضًا كحدود أمان إضافية للرمز الخاص بك.

تتوفّر أدوات مختلفة لاحتواء الرمز على حالة الاستخدام. يقدّم الجدول أدناه نظرة عامة حول المنتجات المختلفة وحالة استخدامها السارية. يتم استخدام بعض هذه المنتجات داخل Google ويتم تطويرها من خلال مهندسين في Google.

Sandbox2 API وSandbox هي منتجان طوّرهما فريق وضع الحماية من Google التابع لفريق الأمان.

المنتج الوصف حالة استخدام
وضع الحماية2 وضع الحماية في Linux باستخدام مساحات الأسماء وحدود الموارد وفلاتر seccomp-bpf syscall. يوفّر تكنولوجيا وضع الحماية الأساسية لواجهة برمجة التطبيقات في وضع الحماية. وضع الحماية العام
gVisor تنفيذ طلبات النظام ضمن kernel للتطبيق. تتقاطع مع طلبات النظام باستخدام ptrace أو مع المحاكاة الافتراضية للأجهزة. وضع الحماية العام
فقاعة تفسيرية تم تنفيذ أداة وضع الحماية مع مجموعة فرعية من مساحات أسماء المستخدمين. تُستخدم كمحرّك تنفيذ، مثل flapak. أدوات سطر الأوامر (CLI)
مينيجيل أداة وضع الحماية واحتواء الأجهزة المستخدمة في نظامَي التشغيل Chrome وAndroid يوفر مكتبة قابلة للتنفيذ ومكتبة يمكن استخدامها لتشغيل البرامج الأخرى والرموز الأخرى ووضع الحماية فيها. أدوات سطر الأوامر (CLI)
NSJail يمكنك عزل العزل لنظام التشغيل Linux باستخدام مساحات الأسماء وحدود الموارد وفلاتر syscall syscomp-bpf. ويمكنك اختياريًا الاستفادة من Kaخبز، وهي لغة خاصة بنطاق خاص، لتحديد سياسات syscall. أدوات سطر الأوامر (CLI)
واجهة برمجة تطبيقات وضع الحماية صناديق حماية قابلة لإعادة الاستخدام لمكتبات C/C++ باستخدام Sandbox2. رمز C/C++
برنامج متوافق متوقف

أسلوب فعّال في وضع البرامج الثنائية C/C++ بوضع الحماية من خلال التجميع إلى مجموعة فرعية مقيَّدة من رمز x86 (NaCl)/LLVM لكل بايت (PNaCl).

التأثير في التصميم الذي يحل محله (WebAssembly) واستبداله إلى حدٍ كبير

رمز C/C++
WebAssembly (WASM) تنسيق ثنائي للبرامج الثنائية المحمولة. يتم تنفيذ وحدات WASM في بيئات وقت التشغيل المعزولة. رمز C/C++
منصة RLBox واجهة برمجة تطبيقات وضع الحماية (المكتبة في C+17) التي يمكن أن تستخدم خلفيات تنفيذ متعددة: Native Client أو WebAssembly أو العمليات البعيدة. رمز C/C++
فلباك تم إنشاء هذه الأداة فوق "الفقاعة التفسيرية"، وهي توفّر وضع الحماية لتطبيقات الكمبيوتر المكتبي التي تعمل بنظام التشغيل Linux. التركيز على تغليف التطبيقات المحلية وتوزيعها تطبيقات سطح المكتب

Sandbox2 هو وضع حماية C++ مفتوح المصدر لنظام التشغيل Linux. باستخدام Sandbox2، يمكنك حصر بيئة وقت التشغيل على الحد الأدنى المطلوب للعمليات الحقيقية، ما يؤدي إلى الحد من تأثير الثغرات الأمنية المحتملة في تنفيذ الرموز.

يمكن استخدام وضع الحماية Sandbox2 لوضع برامج كاملة أو أجزاء من البرامج مكتوبة في لغة C/C++.

واجهة برمجة التطبيقات ذات وضع الحماية (SAPI) هي مشروع مفتوح المصدر لحماية مكتبات C/C++. يمكن إعادة استخدام المكتبات المحمية في وضع الحماية باستخدام وضع الحماية بسهولة، ما يزيل الأعباء للمشاريع المستقبلية. قبل استخدام وضع الحماية (API) في وضع الحماية، كانت وضع الحماية المتاح للاستخدام في Google يتطلب تنفيذاً إضافيًا للتنفيذ في كل مثيل جديد من المشروع الذي كان من المفترض أن يتم استخدامه في وضع الحماية، حتى إذا أُعيد استخدام مكتبة البرامج نفسها. كان يلزم تنفيذ سياسات وضع الحماية 2 والقيود الأخرى التي تم تطبيقها على العملية في وضع الحماية في كل مرة، ويجب تصميم آليات تبادل البيانات بين الأجزاء الموثوق بها وغير الموثوق بها من الرمز من البداية.