عدي للمحتوى

OS Guard وSMEP

مرجع المعماريةFeex

بتتسمى برضه OS Guard

تقنية Intel OS Guard مرتبطة بـ Supervisor-Mode Execution Prevention، SMEP. هي بتمنع تنفيذ الكود الموجود في صفحات الذاكرة المتاحة للمستخدم من خلال وضع الـ supervisor، ومينفعش نخلط بينها وبين حماية الوصول للبيانات المنفصلة SMAP.

اللي محتاج تعرفه

تقنية Intel OS Guard مرتبطة بـ Supervisor-Mode Execution Prevention، SMEP. هي بتمنع تنفيذ الكود الموجود في صفحات الذاكرة المتاحة للمستخدم من خلال وضع الـ supervisor، ومينفعش نخلط بينها وبين حماية الوصول للبيانات المنفصلة SMAP.

بيشتغل إزاي

لما نظام التشغيل بيفعل SMEP، عمليات جلب التعليمات في وضع الـ supervisor بتتفحص مقارنة بأذونات الـ user/supervisor في جدول الصفحات. ده بيساعد في منع أخطاء مسار التحكم في الـ kernel من إنها تنفذ كود متعين على إنه متاح للمستخدم مباشرة. نظام التشغيل بيفضل هو المتحكم في تعيينات الصفحات وكود الصلاحيات بتاعه.

المجالات المفيدة فيها

الـ kernel اللي بيحول التنفيذ بالغلط لصفحة user ممكن يضرب خطأ (fault) تحت حماية SMEP. ده حد تنفيذي معين؛ مبيتحققش بشكل مستقل من منطق الـ kernel، أو الـ drivers المتحملة، أو تعيينات الـ supervisor المسموح بيها.

طريقة فحص الدعم والتمكين

البت 7 في CPUID.07H.00H:EBX بتحدد وجود SMEP؛ وأمر CR4.SMEP هو عنصر تحكم نظام التشغيل. تقنية SMAP ليها بت وتحكم منفصل. راجع إعدادات الحماية الموثقة لنظام التشغيل الشغال بدل ما تحاول تغير إعدادات الصلاحيات من التطبيق.

الإمكانية، والتمكين، وفرض السياسة لازم يتفحصوا بشكل منفصل. المعالج ممكن يدعم حماية فى حين ان نظام التشغيل، او التطبيق، او سياسة الجهاز الافتراضى مش مفعلينها. حقل الدعم فى قاعدة البيانات مش إثبات على نظام شغال.

اللى الميزة مش بتثبته

OS Guard مش هي Boot Guard. خانة قاعدة البيانات اللي مكتوب فيها OS Guard (SMAP) بتخلط بين مفهومين معماريين مختلفين ومتقدرش تثبت الاتنين؛ اتأكد من SMEP و SMAP كل واحدة لوحدها. الميزة دي مبتخليش الـ driver اللي فيه ثغرات آمن.

التوافق والأداء فى الممارسة العملية

حافظ على تحديث نظام التشغيل والـ firmware وبيئة التشغيل المتأثرة. لو حماية معينة كشفت مشكلة توافق، استخدم أولاً أدوات تشخيص وتحديثات الشركة المصنعة المدعومة. تفعيل او قفل حماية واسعة النطاق ممكن يأثر على تطبيقات تانية مش مرتبطة، ولازم يتبع سياسة نشر واسترجاع صريحة.

قائمة تحقق عملية للتأكد

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

لو الميزة مدرجة بس البرمجيات مش قادرة تستخدمها

ابدأ بالمكون اللى فشل بالتحديد. قاعدة بيانات العتاد بتوصف الإمكانية المسجلة؛ لكن نظام التشغيل او الـ hypervisor ممكن يعرضوا بيئة فعلية تانية. خطأ التعليمة غير الصالحة (illegal-instruction) بيحتاج برضه فحص للتعليمة الفعلية اللى سببت العطل والنسخة المبنية من الثنائى، علشان التلف او وجود تعليمة تانية غير مدعومة ممكن ينتج عنهم نفس العرض.

ثبت إصدار التطبيق او برنامج التشغيل او بيئة التشغيل المدعومة للمنصة بالتحديد، واستخدم بنية الأساس (baseline) او البنية الاحتياطية الموثقة من الشركة المصنعة لو لزم الأمر. تحديث البرامج مش هيخلق تعليمة المعالج نفسه بيفتقدها. تغييرات الـ Firmware وسياسات الأمان لازم تتبع إجراءات الشركة المصنعة للنظام وخطة استرجاع بدل اتباع وصفة تحسين عامة.

المصادر ونطاق الشرح ده

Intel 64 and IA-32 Architectures Software Developer's Manual · ميزات الأمان من Intel المتعلقة بهجمات التنفيذ المؤقت (transient execution attacks)

المراجع دى بتحدد السلوك المعمارى ومتطلبات البرمجيات. هى مش بتتحقق بشكل مستقل من كل قيمة ميزة فى صفحة موديل العتاد المربوطة. لدعم الموديل، استخدم أدلة الشركة المصنعة فى الصفحة دى وافحص إعدادات النظام الفعلية. المقال ده مش بيقدم تقييم أداء، او شهادة اعتماد، او تاريخ مراجعة مستقلة.

المصادر والتحقق

حقوق التحرير: Feex. مفيش تاريخ مراجعة مستقل متسجل. إزاي بنعمل أبحاثنا.

هل المقالة دي كانت مفيدة؟

مجرد نعم أو لأ كفاية. اختار سبب لو تحب، أو اكتب ملاحظة سريعة.

هل المقالة دي كانت مفيدة؟