تخصيص الحماية من استغلال

ينطبق على:

هل تريد تجربة Defender لنقطة النهاية؟ التسجيل للحصول على إصدار تجريبي مجاني.

تنطبق الحماية من الهجمات تلقائيًا على عدد من تقنيات تقليل المخاطر للحماية من الهجمات على كل من عمليات نظام التشغيل وعلى التطبيقات الفردية.

قم بتكوين هذه الإعدادات باستخدام تطبيق أمن Windows على جهاز فردي. بعد ذلك، قم بتصدير التكوين كملف XML حتى تتمكن من استخدامه على أجهزة أخرى. استخدم نهج المجموعة لتوزيع ملف XML على أجهزة متعددة في وقت واحد. يمكنك أيضًا تكوين تقليل المخاطر باستخدام PowerShell.

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

كما يصف أيضا كيفية تمكين أو تكوين تقليل المخاطر باستخدام موفري خدمة تكوين أمن Windows وPowerShell وإدارة الأجهزة المحمولة (MDM). هذه هي الخطوة الأولى في إنشاء تكوين يمكنك نشره عبر الشبكة. تتضمن الخطوة التالية إنشاء التكوين وتصديره واستيراده ونشره على أجهزة متعددة.

تحذير

قد تواجه بعض تقنيات تقليل المخاطر الأمنية مشاكل في التوافق مع بعض التطبيقات. يجب اختبار الحماية من الهجمات في جميع سيناريوهات الاستخدام الهدف باستخدام وضع التدقيق قبل نشر التكوين عبر بيئة الإنتاج، أو بقية الشبكة.

تقليل المخاطر للحماية من الهجمات

يمكن تكوين جميع عمليات تقليل المخاطر للتطبيقات الفردية. يمكن أيضًا تطبيق بعض عمليات تقليل المخاطر على مستوى نظام التشغيل.

يمكنك تعيين كل من عمليات تقليل المخاطر إلى القيمة الافتراضية أو إيقاف تشغيلها، أو تشغيلها. تحتوي بعض عمليات تقليل المخاطر على خيارات إضافية يُشار إليها في الوصف في الجدول.

يتم دائما تحديد القيم الافتراضية بين أقواس في الخيار استخدام الافتراضي لكل تقليل مخاطر. في المثال التالي، يكون الإعداد الافتراضي لمنع تنفيذ التعليمات البرمجية هو "تشغيل".

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

بالنسبة إلى أوامر PowerShell cmdlets المقترنة لكل عملية تقليل مخاطر، راجع الجدول المرجعي لـ PowerShell في أسفل هذه المقالة.

تقليل المخاطر الوصف يمكن تطبيقه على يتوفر وضع التدقيق
حماية تدفق التحكم (CFG) يضمن تكامل تدفق التحكم للمكالمات غير المباشرة. يمكن أن يمنع التصدير بشكل اختياري ويستخدم CFG صارمًا. النظام ومستوى التطبيق لا
منع تنفيذ التعليمات البرمجية (DEP) يمنع تشغيل الرمز من صفحات الذاكرة الخاصة بالبيانات فقط مثل كومة الذاكرة المؤقتة والمكدسات. قابل للتكوين فقط لتطبيقات 32 بت (x86)، ممكنة بشكل دائم لجميع البنيات الأخرى. تمكين محاكاة التعليمة البرمجية للتحويل لـ ATL. النظام ومستوى التطبيق لا
فرض إعادة الترتيب العشوائي للصور (ASLR إلزامي) يقوم "إجباري" بتغيير موقع الصور التي لم يتم تجميعها باستخدام /DYNAMICBASE. يمكن أن يفشل تحميل الصور التي لا تحتوي على معلومات تغيير الموقع. النظام ومستوى التطبيق لا
تخصيصات الذاكرة عشوائيا (ASLR من الأسفل إلى الأعلى) ترتيب المواقع عشوائيًا لتخصيصات الذاكرة الظاهرية. فهو يتضمن كومات بنية النظام والمكدسات وTEBs وPEBs. يمكن أن يستخدم بشكل اختياري فرق عشوائي أوسع لعمليات 64 بت. النظام ومستوى التطبيق لا
التحقق من صحة سلاسل الاستثناء (SEHOP) يضمن تكامل سلسلة الاستثناءات أثناء إرسال الاستثناء. قابل للتكوين فقط لتطبيقات 32 بت (x86). النظام ومستوى التطبيق لا
التحقق من صحة تكامل كومة الذاكرة المؤقتة ينهي العملية عند اكتشاف تلف في كومة الذاكرة المؤقتة. النظام ومستوى التطبيق لا
حماية التعليمات البرمجية العشوائية (ACG) يمنع تقديم الرمز القابل للتنفيذ غير المدعوم بالصورة ويمنع تعديل صفحات الرموز. يمكن أن يسمح اختياريا بإلغاء اشتراك مؤشر الترابط ويسمح بالرجوع إلى إصدار أقدم عن بعد (قابل للتكوين فقط باستخدام PowerShell). على مستوى التطبيق فقط نعم
حظر الصور منخفضة التكامل يمنع تحميل الصور التي تحمل درجة منخفضة من التكامل. على مستوى التطبيق فقط نعم
حظر الصور البعيدة يمنع تحميل الصور من الأجهزة البعيدة. على مستوى التطبيق فقط لا
حظر الخطوط غير الموثوقة يمنع تحميل أي خطوط مستندة إلى GDI غير مثبتة في دليل خطوط النظام، لا سيما الخطوط من الويب. على مستوى التطبيق فقط نعم
حماية تكامل التعليمات البرمجية يقيد تحميل الصور الموقعة من قبل Microsoft أو WHQL أو أعلى. يمكن السماح بشكل اختياري لـ Microsoft Store بالصور الموقعة. على مستوى التطبيق فقط نعم
تعطيل نقاط الملحق يعطل آليات قابلية التوسع المختلفة التي تسمح بإدخال DLL في كل العمليات، مثل AppInit DLLs وخطافات النافذة وموفري خدمة Winsock. على مستوى التطبيق فقط لا
تعطيل مكالمات نظام Win32k يمنع أحد التطبيقات من استخدام جدول استدعاء نظام Win32k. على مستوى التطبيق فقط نعم
عدم السماح بالعمليات التابعة يمنع البرامج من إنشاء عمليات تابعة. على مستوى التطبيق فقط نعم
تصدير عوامل تصفية العنوان (EAF) يكتشف العمليات الخطيرة التي يتم حلها بواسطة رمز ضار. يمكن بشكل اختياري التحقق من صحة الوصول بواسطة الوحدات النمطية شائعة الاستخدام من قبل عمليات الحماية من الهجمات. على مستوى التطبيق فقط نعم
استيراد عوامل تصفية العنوان (IAF) يكتشف العمليات الخطيرة التي يتم حلها بواسطة رمز ضار. على مستوى التطبيق فقط نعم
محاكاة التنفيذ (SimExec) يضمن رجوع المكالمات إلى واجهات برمجة التطبيقات الحساسة إلى المتصلين الشرعيين. قابل للتكوين فقط لتطبيقات 32 بت (x86). غير متوافق مع ACG. على مستوى التطبيق فقط نعم
التحقق من صحة استدعاء واجهة برمجة التطبيقات API (CallerCheck) يضمن استدعاء واجهات برمجة التطبيقات الحساسة من قبل المتصلين الشرعيين. قابل للتكوين فقط لتطبيقات 32 بت (x86). غير متوافق مع AGG على مستوى التطبيق فقط نعم
التحقق من صحة استخدام المؤشر يؤدي إلى رفع استثناء على أي مراجع معالجة غير صالحة. على مستوى التطبيق فقط لا
التحقق من صحة تكامل تبعية الصورة يفرض توقيع التعليمات البرمجية لتحميل تبعية صورة Windows. على مستوى التطبيق فقط لا
التحقق من صحة تكامل المكدس (StackPivot) يضمن أن العرض المتسلسل لم يتم إعادة توجيهه لـ API حساسة. غير متوافق مع ACG. على مستوى التطبيق فقط نعم

هام

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

ممكّن في إعدادات البرنامج ممكّن في إعدادات النظام سلوك
نعم لا كما هو محدد في إعدادات البرنامج
نعم نعم كما هو محدد في إعدادات البرنامج
لا نعم كما هو محدد في إعدادات النظام
لا لا افتراضي كما هو محدد في استخدام الافتراضي
  • مثال 1 يقوم عماد بتكوين منع تنفيذ البيانات (DEP) في قسم إعدادات النظام ليتم إيقاف التشغيل بشكل افتراضي. يضيف ميكايل التطبيق test.exe إلى قسم إعدادات البرنامج. في الخيارات الخاصة بهذا التطبيق، ضمن الوقاية من تنفيذ البيانات (DEP)، يقوم بتمكين الخيار تجاوز إعدادات النظام ويضبط المفتاح إلى تشغيل. لا توجد تطبيقات أخرى مدرجة في قسم إعدادات البرنامج. ستكون النتيجة تمكين DEP فقط لـ test.exe. لن يتم تطبيق ميزة DEP على جميع التطبيقات الأخرى.

  • مثال 2تقوم ميساء بتكوين منع تنفيذ البيانات (DEP) في قسم إعدادات النظام ليتم إيقاف التشغيل بشكل افتراضي. تضيف جوسي التطبيق test.exe إلى قسم إعدادات البرنامج. في الخيارات الخاصة بهذا التطبيق، ضمن الوقاية من تنفيذ البيانات (DEP)، تقوم بتمكين الخيار تجاوز إعدادات النظام ويضبط المفتاح إلى تشغيل. تقوم ياسمين أيضا بإضافة تطبيق miles.exe إلى قسم إعدادات البرنامج وتكوين حماية تدفق التحكّم (CFG) إلى تشغيل. لا تقوم بتمكين خيار تجاوز إعدادات النظام لـ "منع تنفيذ التعليمات البرمجية" أو أي عمليات تخفيف مخاطر أخرى لهذا التطبيق. ستكون النتيجة تمكين DEP لـ test.exe. لن يتم تمكين DEP لأي تطبيق آخر، بما في ذلك miles.exe. سيتم تمكين CFG ل miles.exe.

ملاحظة

إذا وجدت أي مشكلات في هذه المقالة، يمكنك الإبلاغ عنها مباشرة إلى شريك عميل Windows Server/Windows أو استخدام أرقام الدعم التقني من Microsoft لبلدك/منطقتك.

تكوين تقليل المخاطر على مستوى النظام باستخدام تطبيق أمن Windows

  1. افتح تطبيق أمن Windows عن طريق تحديد أيقونة الدرع في شريط المهام أو البحث في قائمة البدء عن أمن Windows.

  2. حدد لوحة التحكم في التطبيق والمستعرض (أو أيقونة التطبيق على شريط القوائم الأيمن) ثم حدد الحماية من الهجمات.

  3. ضمن قسم إعدادات النظام، ابحث عن تقليل المخاطر الذي تريد تكوينه ثم حدد أحد الإعدادات التالية. تستخدم التطبيقات التي لم يتم تكوينها بشكل فردي في قسم إعدادات البرنامج الإعدادات التي تم تكوينها هنا:

    • قيد التشغيل بشكل افتراضي: يتم تمكين تقليل مخاطر التطبيقات التي لا تحتوي على مجموعة تخفيف المخاطر هذه في قسم إعدادات البرنامج الخاص بالتطبيق
    • قيد إيقاف التشغيل بشكل افتراضي: يتم تعطيل تقليل مخاطر التطبيقات التي لا تحتوي على مجموعة تخفيف المخاطر هذه في قسم إعدادات البرنامج الخاص بالتطبيق
    • استخدام الافتراضي: يتم تمكين تقليل المخاطر أو تعطيله، استنادا إلى التكوين الافتراضي الذي تم إعداده بواسطة Windows 10 أو بواسطة تثبيت Windows 11؛ يتم دائما تحديد القيمة الافتراضية (تشغيل أو إيقاف تشغيل) إلى جانب تسمية استخدام الافتراضي لكل تقليل للمخاطر

    ملاحظة

    قد ترى نافذة التحكم في حساب المستخدم عند تغيير بعض الإعدادات. أدخل بيانات اعتماد المسؤول لتطبيق الإعداد.

    قد يتطلب تغيير بعض الإعدادات إعادة التشغيل.

  4. كرر ذلك لجميع عمليات تخفيف المخاطر على مستوى النظام التي تريد تكوينها.

  5. انتقل إلى قسم إعدادات البرنامج واختر التطبيق الذي تريد تطبيق عوامل تقليل المخاطر عليه:

    1. إذا كان التطبيق الذي تريد تكوينه مدرجًا بالفعل، فحدده، ثم حدد تحرير
    2. إذا لم يكن التطبيق مدرجًا، في أعلى القائمة، فحدد إضافة برنامج لتخصيصه، ثم اختر الطريقة التي تريد إضافة التطبيق بها:
      • استخدم إضافة حسب اسم البرنامج لتطبيق تخفيف المخاطر على أي عملية قيد التشغيل بهذا الاسم. يجب أن تحدد ملفًا بملحق. يمكنك إدخال مسار كامل لتقييد تخفيف مخاطر التطبيق الذي يحمل هذا الاسم فقط في هذا الموقع.
      • استخدم اختيار مسار ملف محدد لاستخدام نافذة منتقي ملفات مستكشف Windows قياسية للبحث عن الملف الذي تريده وتحديده.
  6. بعد تحديد التطبيق، سترى قائمة بكل عوامل تخفيف المخاطر التي يمكن تطبيقها. لتمكين تقليل المخاطر، حدد خانة الاختيار ثم قم بتغيير شريط التمرير إلى تشغيل. حدد أي خيارات إضافية تريدها. سيؤدي اختيار التدقيق إلى تطبيق تخفيف المخاطر في وضع التدقيق فقط. سيتم إعلامك إذا كنت بحاجة إلى إعادة تشغيل العملية أو التطبيق، أو إذا كنت بحاجة إلى إعادة تشغيل Windows.

  7. كرر هذه الخطوات لجميع التطبيقات وتقليل المخاطر التي تريد تكوينها. حدد تطبيق عند الانتهاء من إعداد التكوين.

يمكنك الآن تصدير هذه الإعدادات كملف XML أو المتابعة لتكوين عمليات تقليل المخاطر الخاصة بالتطبيق.

يسمح لك تصدير التكوين كملف XML بنسخ التكوين من جهاز إلى أجهزة أخرى.

مرجع PowerShell

يمكنك استخدام تطبيق أمن Windows لتكوين الحماية من الهجمات، أو يمكنك استخدام أوامر PowerShell cmdlets.

سيتم دائما تطبيق إعدادات التكوين التي تم تعديلها مؤخرًا - بغض النظر عما إذا كنت تستخدم PowerShell أو أمن Windows. وهذا يعني أنه إذا كنت تستخدم التطبيق لتكوين تقليل المخاطر، عندئذٍ استخدم PowerShell لتكوين التقليل نفسه، حيث يتم تحديث التطبيق لإظهار التغييرات التي أجريتها باستخدام PowerShell. إذا كنت تريد استخدام التطبيق لتغيير تقليل المخاطر مرة أخرى، فسيتم تطبيق هذا التغيير.

هام

ستؤدي أي تغييرات يتم نشرها على جهاز من خلال نهج المجموعة إلى تجاوز التكوين المحلي. عند إعداد تكوين أولي، استخدم جهازًا لن يتضمن تكوين نهج المجموعة عليه لضمان عدم تجاوز التغييرات التي أجريتها.

يمكنك استخدام فعل PowerShell Get أو Set مع ProcessMitigationcmdlet. سيؤدي استخدام Get إلى سرد حالة التكوين الحالية لأي عمليات تخفيف المخاطر التي تم تمكينها على الجهاز - أضف cmdlet وexe لـ -Name إلى التطبيق للاطلاع على عمليات تخفيف المخاطر لهذا التطبيق فقط:

Get-ProcessMitigation -Name processName.exe

هام

ستعرض عمليات تخفيف المخاطر على مستوى النظام التي لم يتم تكوينها حالة NOTSET.

بالنسبة للإعدادات على مستوى النظام، يشير NOTSET إلى أنه قد تم تطبيق الإعداد الافتراضي لتخفيف المخاطر.

بالنسبة للإعدادات على مستوى التطبيق، تشير NOTSET إلى أنه سيتم تطبيق الإعداد على مستوى النظام لتخفيف المخاطر.

يمكن رؤية الإعداد الافتراضي لكل تخفيف مخاطر على مستوى النظام في أمن Windows.

استخدم Set لتكوين كل عملية لتخفيف المخاطر بالتنسيق التالي:

Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>

المكان:

  • <النطاق>:
    • -Name للإشارة إلى أنه يجب تطبيق عوامل تخفيف المخاطر على تطبيق معين. حدد ملف تنفيذ التطبيق بعد هذه العلامة.
    • -System للإشارة إلى ضرورة تطبيق تخفيف المخاطر على مستوى النظام
  • <الإجراء>:
    • -Enable لتمكين تخفيف المخاطر
    • -Disable لتعطيل تخفيف المخاطر
  • <التخفيف من المخاطر>:
    • أمر cmdlet الخاص بتقليل المخاطر كما هو محدد في جدول أوامر cmdlets لتقليل المخاطر أدناه، إلى جانب أي خيارات فرعية (محاطة بمسافات). يتم فصل كل عامل تخفيف من المخاطر بفاصلة.

على سبيل المثال، لتمكين تخفيف مخاطر الحد من تنفيذ التعليمات البرمجية (DEP) مع محاكاة ATL thunk ولملف تنفيذي يسمى test.exe في المجلد C:\Apps\LOB\test، ولمنع ملف التنفيذ ذلك من إنشاء العمليات التابعة، يمكنك استخدام الأمر التالي:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable DEP, EmulateAtlThunks, DisallowChildProcessCreation

هام

افصل كل خيار من خيارات تخفيف المخاطر بفاصلة.

إذا أردت تطبيق ميزة "منع تنفيذ التعليمات البرمجية" على مستوى النظام، فستستخدم الأمر التالي:

Set-Processmitigation -System -Enable DEP

لتعطيل عوامل تخفيف المخاطر، يمكنك استبدال -Enable بـ -Disable. ومع ذلك، بالنسبة لعمليات تقليل المخاطر على مستوى التطبيق، يفرض هذا الإجراء تعطيل تقليل المخاطر لهذا التطبيق فقط.

إذا كنت بحاجة إلى إعادة تخفيف المخاطر إلى الإعداد الافتراضي للنظام، فستحتاج إلى تضمين -Remove cmdlet أيضا، كما هو الحال في المثال التالي:

Set-Processmitigation -Name test.exe -Remove -Disable DEP

يمكنك أيضا تعيين عوامل تقليل المخاطر إلى وضع التدقيق. بدلا من استخدام أوامر PowerShell cmdlet لتقليل المخاطر، استخدم أمر cmdlet لـ وضع التدقيق كما هو محدد في جدول أوامر cmdlets لتقليل المخاطر أدناه.

على سبيل المثال، لتمكين "حماية التعليمات البرمجية العشوائية" (ACG) لـ testing.exe المستخدم مسبقًا، يمكنك استخدام الأمر التالي:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable AuditDynamicCode

يمكنك تعطيل وضع التدقيق باستخدام الأمر نفسه ولكن مع استبدال -Enable بـ -Disable.

جدول مراجع PowerShell

يسرد هذا الجدول أوامر PowerShell cmdlets (وأوامر cmdlet لوضع التدقيق المقترن) التي يمكن استخدامها لتكوين كل تقليل للمخاطر.

تقليل المخاطر تنطبق على أوامر PowerShell Cmdlet أوامر cmdlet لوضع التدقيق
حماية تدفق التحكم (CFG) النظام ومستوى التطبيق CFG، StrictCFG، SuppressExports التدقيق غير متوفر
منع تنفيذ التعليمات البرمجية (DEP) النظام ومستوى التطبيق DEP، EmulateAtlThunks التدقيق غير متوفر
فرض إعادة الترتيب العشوائي للصور (ASLR إلزامي) النظام ومستوى التطبيق ForceRelocateImages التدقيق غير متوفر
تخصيصات الذاكرة عشوائيا (ASLR من الأسفل إلى الأعلى) النظام ومستوى التطبيق BottomUp، HighEntropy التدقيق غير متوفر
التحقق من صحة سلاسل الاستثناء (SEHOP) النظام ومستوى التطبيق SEHOP، SEHOPTelemetry التدقيق غير متوفر
التحقق من صحة تكامل كومة الذاكرة المؤقتة النظام ومستوى التطبيق TerminateOnError التدقيق غير متوفر
حماية التعليمات البرمجية العشوائية (ACG) على مستوى التطبيق فقط DynamicCode AuditDynamicCode
حظر الصور منخفضة التكامل على مستوى التطبيق فقط BlockLowLabel AuditImageLoad
حظر الصور البعيدة على مستوى التطبيق فقط BlockRemoteImages التدقيق غير متوفر
حظر الخطوط غير الموثوقة على مستوى التطبيق فقط DisableNonSystemFonts AuditFont، FontAuditOnly
حماية تكامل التعليمات البرمجية على مستوى التطبيق فقط BlockNonMicrosoftSigned، AllowStoreSigned AuditMicrosoftSigned، AuditStoreSigned
تعطيل نقاط الملحق على مستوى التطبيق فقط ExtensionPoint التدقيق غير متوفر
تعطيل مكالمات نظام Win32k على مستوى التطبيق فقط DisableWin32kSystemCalls AuditSystemCall
عدم السماح بالعمليات التابعة على مستوى التطبيق فقط DisallowChildProcessCreation AuditChildProcess
تصدير عوامل تصفية العنوان (EAF) على مستوى التطبيق فقط EnableExportAddressFilterPlus, EnableExportAddressFilter [1] التدقيق غير متوفر[2]
استيراد عوامل تصفية العنوان (IAF) على مستوى التطبيق فقط EnableImportAddressFilter التدقيق غير متوفر[2]
محاكاة التنفيذ (SimExec) على مستوى التطبيق فقط EnableRopSimExec التدقيق غير متوفر[2]
التحقق من صحة استدعاء واجهة برمجة التطبيقات API (CallerCheck) على مستوى التطبيق فقط EnableRopCallerCheck التدقيق غير متوفر[2]
التحقق من صحة استخدام المؤشر على مستوى التطبيق فقط StrictHandle التدقيق غير متوفر
التحقق من صحة تكامل تبعية الصورة على مستوى التطبيق فقط EnforceModuleDepencySigning التدقيق غير متوفر
التحقق من صحة تكامل المكدس (StackPivot) على مستوى التطبيق فقط EnableRopStackPivot التدقيق غير متوفر[2]

[1]: استخدم التنسيق التالي لتمكين وحدات EAF النمطية ل dlls لعملية:

Set-ProcessMitigation -Name processName.exe -Enable EnableExportAddressFilterPlus -EAFModules dllName1.dll,dllName2.dll

[2]: لا يتوفر التدقيق لهذا التخفيف عبر PowerShell cmdlets.

تخصيص الإعلام

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

راجع أيضًا

تلميح

هل تريد معرفة المزيد؟ Engage مع مجتمع أمان Microsoft في مجتمعنا التقني: Microsoft Defender لنقطة النهاية Tech Community.