تعرف على كيفية إدارة الثغرة الأمنية Log4Shell في Microsoft Defender لنقطة النهاية

الثغرة الأمنية Log4Shell هي ثغرة أمنية لتنفيذ التعليمات البرمجية عن بعد (RCE) موجودة في مكتبة تسجيل Apache Log4j 2. نظرا لاستخدام Apache Log4j 2 بشكل شائع من قبل العديد من تطبيقات البرامج خدمات الإنترنت، فإنه يمثل وضعا معقدا وعالي المخاطر للشركات في جميع أنحاء العالم. يشار إليه باسم "Log4Shell" (CVE-2021-44228، CVE-2021-45046) يقدم متجه هجوم جديد يمكن للمهاجمين استغلاله لاستخراج البيانات ونشر برامج الفدية الضارة في مؤسسة.

ملاحظة

راجع إرشادات المدونات لمنع واكتشاف وتعقب استغلال الثغرة الأمنية Log4j 2 ومركزاستجابة أمان Microsoft للحصول على إرشادات ومعلومات تقنية حول الثغرة الأمنية وتوصيات التخفيف الخاصة بالمنتج لحماية مؤسستك.

نظرة عامة على قدرات الاكتشاف والمراقبة والتخفيف

توفر لك إدارة الثغرات الأمنية ل Defender الإمكانات التالية لمساعدتك في تحديد التعرض التنظيمي لثغرة Log4Shell الأمنية ومراقبته والتخفيف من حدته:

  • الاكتشاف: يعتمد الكشف عن الأجهزة المكشوفة، سواء Microsoft Defender لنقطة النهاية الأجهزة المإلحاقة بالإضافة إلى الأجهزة التي تم اكتشافها ولكنها لم يتم إلحاقها بعد، على البرامج الضعيفة والملفات الضعيفة التي تم اكتشافها على القرص.
  • الوعي بالتهديدات: طريقة عرض موحدة لتقييم تعرضك التنظيمي. تظهر طريقة العرض هذه تعرضك على مستوى الجهاز ومستوى البرنامج، وتوفر الوصول إلى تفاصيل حول الملفات الضعيفة مثل، آخر مرة شوهد فيها، وآخر مرة تم تنفيذها وآخر مرة تم تنفيذها فيها بمنافذ مفتوحة. يمكنك استخدام هذه المعلومات لتحديد أولويات إجراءات المعالجة. قد يستغرق ظهور البيانات المتعلقة بالأجهزة المكشوفة على لوحة المعلومات ما يصل إلى 24 ساعة.
  • خيارات التخفيف من المخاطر: تطبيق خيارات التخفيف للمساعدة في تقليل مخاطر التعرض.
  • التتبع المتقدم: استخدم التتبع المتقدم لإرجاع تفاصيل ملفات log4j الضعيفة المحددة على القرص.

ملاحظة

يتم دعم هذه الإمكانات على Windows 10 & Windows 11 وWindows Server وLinux وmacOS.

يتطلب الدعم على Linux Microsoft Defender لنقطة النهاية إصدار عميل Linux 101.52.57 (30.121092.15257.0) أو أحدث.

يتطلب الدعم على macOS Microsoft Defender لنقطة النهاية إصدار عميل macOS 20.1211111.15416.0 أو أحدث.

لمزيد من المعلومات حول الإصدارات المدعومة، راجع الأنظمة الأساسية والقدرات المعتمدة لأنظمة التشغيل.

اكتشاف الأجهزة المكشوفة

ستساعدك إمكانات Defender Vulnerability Management المضمنة، جنبا إلى جنب مع تمكين اكتشاف Log4j، في مدخل Microsoft Defender، على اكتشاف الأجهزة المعرضة للثغرة الأمنية Log4Shell.

يتم تقييم الأجهزة المدمجة باستخدام قدرات Defender Vulnerability Management الحالية المضمنة التي يمكنها اكتشاف البرامج والملفات المعرضة للخطر.

للكشف عن الأجهزة المكتشفة ولكن لم يتم إلحاقها بعد، يجب تمكين الكشف عن Log4j. سيؤدي ذلك إلى بدء التحقيقات بنفس الطريقة التي يفحص بها اكتشاف الجهاز شبكتك بنشاط. يتضمن ذلك التحقق من نقاط النهاية المتعددة المضمنة (Windows 10+ وأجهزة Windows Server 2019+ ) والكشف فقط داخل الشبكات الفرعية، للكشف عن الأجهزة الضعيفة والمعرضة عن بعد ل CVE-2021-44228.

لتمكين الكشف عن Log4:

  1. انتقل إلى الإعدادات>إعداد اكتشاف> الجهاز.
  2. حدد Enable Log4j2 detection (CVE-2021-44228).
  3. حدد حفظ.

لقطة شاشة للإعداد لتمكين الكشف عن log4j2.

سيؤدي تشغيل هذه الفحوصات إلى تشغيل تدفق Log4j القياسي دون التسبب في أي تأثير ضار على الجهاز الذي يتم فحصه أو جهاز الفحص. يتم إجراء التحقق نفسه عن طريق إرسال طلبات HTTP متعددة إلى الأجهزة المكتشفة، واستهداف منافذ تطبيق الويب الشائعة (على سبيل المثال - 8080080,443,8443) وعناوين URL. يحتوي الطلب على رؤوس HTTP مع حمولة JNDI التي تقوم بتشغيل طلب DNS من الجهاز الذي تم فحصه.

على سبيل المثال، User-Agent: ${jndi:dns://192.168.1.3:5353/MDEDiscoveryUser-Agent} حيث 192.168.1.3 هو عنوان IP لجهاز التحقق.

ملاحظة

تمكين الكشف عن Log4j2 يعني أيضا أن الأجهزة المإلحاقة ستستخدم فحصا ذاتيا للكشف عن الثغرات الأمنية المحلية.

الكشف عن البرامج والملفات المعرضة للخطر

توفر إدارة الثغرات الأمنية ل Defender طبقات من الكشف لمساعدتك في اكتشاف:

  • البرامج الضعيفة: يستند الاكتشاف إلى تعدادات النظام الأساسي الشائعة (CPE) المثبتة للتطبيق والتي تعرف بأنها عرضة لتنفيذ التعليمات البرمجية عن بعد Log4j.

  • الملفات المعرضة للخطر: يتم تقييم كل من الملفات الموجودة في الذاكرة والملفات في نظام الملفات. يمكن أن تكون هذه الملفات ملفات jar ل Log4j-core مع الإصدار الضعيف المعروف أو Uber-JAR الذي يحتوي إما على فئة بحث jndi ضعيفة أو ملف log4j-core ضعيف. على وجه التحديد، فإنه:

    • يحدد ما إذا كان ملف JAR يحتوي على ملف Log4j ضعيف من خلال فحص ملفات JAR والبحث عن الملف التالي: \META-INF\maven\org.apache.logging.log4j\log4j-core\pom.properties - إذا كان هذا الملف موجودا، تتم قراءة إصدار Log4j واستخراجه.
    • يبحث عن ملف JndiLookup.class داخل ملف JAR من خلال البحث عن المسارات التي تحتوي على السلسلة "/log4j/core/lookup/JndiLookup.class" - إذا كان ملف JndiLookup.class موجودا، فإن إدارة الثغرات الأمنية ل Defender تحدد ما إذا كان JAR هذا يحتوي على ملف Log4j مع الإصدار المحدد في pom.properties.
    • يبحث عن أي ملفات JAR ل Log4j-core ضعيفة مضمنة داخل JAR متداخلة عن طريق البحث عن المسارات التي تحتوي على أي من هذه السلاسل:
      • lib/log4j-core-
      • WEB-INF/lib/log4j-core-
      • App-INF/lib/log4j-core-

يصف هذا الجدول الأنظمة الأساسية والإصدارات المدعومة لإمكانيات البحث:

القدره نوع الملف Windows10+،
server2019+
Server 2012R2،
server2016
Server 2008R2 Linux + macOS
ذاكرة البحث Log4j-core نعم نعم[1] - نعم
Uber-JARs نعم نعم[1] - نعم
البحث جميع الملفات على القرص Log4j-core نعم نعم[1] نعم -
Uber-JARs نعم نعم[1] - -

(1) تتوفر الإمكانات عند تثبيت KB5005292 على Windows Server 2012 R2 و2016.

تعرف على خيارات التعرض والتخفيف من مخاطر Log4Shell

  1. في مدخل Microsoft Defender، انتقل إلىنقاط ضعفإدارة> الثغرات الأمنية.
  2. حدد CVE-2021-44228.
  3. حدد فتح صفحة الثغرات الأمنية.

لقطة شاشة لصفحة الثغرات الأمنية على لوحة معلومات إدارة الثغرات الأمنية.

التخفيف من الثغرات الأمنية ل Log4Shell

يمكن تخفيف الثغرة الأمنية log4Shell عن طريق منع عمليات بحث JNDI على إصدارات Log4j 2.10 - 2.14.1 مع التكوينات الافتراضية. لإنشاء إجراء التخفيف هذا، من لوحة معلومات التوعية بالتهديدات:

  1. حدد عرض تفاصيل الثغرات الأمنية.
  2. حدد خيارات التخفيف من المخاطر.

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

لقطة شاشة لخيارات التخفيف من المخاطر ل CVE-2021-44228.

حالة التخفيف من المخاطر

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

لقطة شاشة لحالة التخفيف المحتملة.

يسرد الجدول أدناه حالات التخفيف المحتملة:

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

Linux + macOS: تحتوي جميع العمليات قيد التشغيل على LOG4J_FORMAT_MSG_NO_LOOKUPS=true في متغيرات البيئة الخاصة بها.
الحل البديل المعلق لإعادة التشغيل يتم تعيين متغير البيئة LOG4J_FORMAT_MSG_NO_LOOKUPS، ولكن لم يتم الكشف عن إعادة التشغيل التالية.
غير مطبق Windows: لم تتم ملاحظة متغير البيئة LOG4J_FORMAT_MSG_NO_LOOKUPS.

Linux + macOS: لا تحتوي جميع العمليات قيد التشغيل على LOG4J_FORMAT_MSG_NO_LOOKUPS=true في متغيرات البيئة الخاصة بها، ولم يتم تطبيق إجراء التخفيف على الجهاز.
مخفف جزئيا Linux + macOS: على الرغم من تطبيق إجراء التخفيف على الجهاز، إلا أن جميع العمليات قيد التشغيل لا تحتوي على LOG4J_FORMAT_MSG_NO_LOOKUPS=true في متغيرات البيئة الخاصة به.
غير قابل للتطبيق الأجهزة التي تحتوي على ملفات ضعيفة غير موجودة في نطاق إصدار التخفيف.
غير معروف تعذر تحديد حالة التخفيف في الوقت الحالي.

ملاحظة

قد يستغرق الأمر بضع ساعات حتى تنعكس حالة التخفيف المحدثة للجهاز.

إرجاع عوامل التخفيف المطبقة على الثغرة الأمنية Log4Shell

في الحالات التي يحتاج فيها التخفيف إلى العودة، اتبع الخطوات التالية:

بالنسبة إلى Windows:

  1. افتح نافذة PowerShell غير مقيدة.
  2. قم بتنفيذ الأمر التالي:
  [Environment]::SetEnvironmentVariable("LOG4J\_FORMAT\_MSG\_NO\_LOOKUPS", $null,[EnvironmentVariableTarget]::Machine)

سيدخل التغيير حيز التنفيذ بعد إعادة تشغيل الجهاز.

بالنسبة إلى Linux:

  1. افتح الملف /etc/environment واحذف السطر LOG4J_FORMAT_MSG_NO_LOOKUPS=true
  2. حذف الملف /etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf
  3. حذف الملف /etc/systemd/user.conf.d/log4j_disable_jndi_lookups.conf

سيدخل التغيير حيز التنفيذ بعد إعادة تشغيل الجهاز.

بالنسبة لنظام التشغيل macOS:

قم بإزالة الملف setenv. LOG4J_FORMAT_MSG_NO_LOOKUPS.plist من المجلدات التالية:

  • /Library/LaunchDaemons/
  • /Library/LaunchAgents/
  • /Users/[username]/Library/LaunchAgents/ - لجميع المستخدمين

سيدخل التغيير حيز التنفيذ بعد إعادة تشغيل الجهاز.

توصيات أمان Apache Log4j

لمشاهدة توصية الأمان النشطة المتعلقة ب Apache log4j، حدد علامة التبويب توصيات الأمان من صفحة تفاصيل الثغرات الأمنية. في هذا المثال، إذا حددت Update Apache Log4j ، فسترى قائمة منبثقة أخرى مع مزيد من المعلومات:

لقطة شاشة لتحديث توصية أمان apache log4j.

حدد معالجة الطلب لإنشاء طلب معالجة.

استكشاف الثغرة الأمنية في مدخل Microsoft Defender

بمجرد العثور على الأجهزة والملفات والبرامج المكشوفة، سيتم أيضا نقل المعلومات ذات الصلة من خلال التجارب التالية في مدخل Microsoft Defender:

بيانات البرامج

في صفحة مخزون البرامج، ابحث عن CVE-2021-44228 للاطلاع على تفاصيل حول عمليات تثبيت برامج Log4j والتعرض لها:

لقطة شاشة لثغرة log4j في صفحة مخزون البرامج.

الضعف

في صفحة نقاط الضعف، ابحث عن CVE-2021-44228 للاطلاع على معلومات حول ثغرة Log4Shell:

لقطة شاشة لثغرة log4j في صفحة نقاط الضعف.

استخدام التتبع المتقدم

يمكنك استخدام استعلام التتبع المتقدم التالي لتحديد الثغرات الأمنية في البرامج المثبتة على الأجهزة:

   DeviceTvmSoftwareVulnerabilities
   | where CveId in ("CVE-2021-44228", "CVE-2021-45046")

يمكنك استخدام استعلام التتبع المتقدم التالي لتحديد الثغرات الأمنية في البرامج المثبتة على الأجهزة لعرض النتائج على مستوى الملف من القرص:

   DeviceTvmSoftwareEvidenceBeta
   | mv-expand DiskPaths
   | where DiskPaths contains "log4j"
   | project DeviceId, SoftwareName, SoftwareVendor, SoftwareVersion, DiskPaths