كيفية فحص وإصلاح ثغرة Log4j؟

نشرت: 2022-05-10

تعد ثغرة Log4j من بين أكثر مشكلات الأمان فتكًا في الأنظمة الحديثة.

يعد التسجيل ميزة أساسية في التطبيقات الحديثة ، ومكتبة التسجيل Log4j رائدة في هذا المجال.

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

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

وعندما تم اكتشاف هذه الثغرة الأمنية ، فقد شددت بشكل أكبر على المهنيين والشركات.

ومن ثم ، فإن اكتشاف ثغرة Log4j وإصلاحها يعد أمرًا ضروريًا إذا كنت ترغب في حماية بياناتك وشبكتك وسمعتك وثقة العملاء.

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

لنبدأ بفهم Log4j ولماذا تحتاجه.

ما هو Log4j؟

Log4j هي ​​أداة تسجيل مفتوحة المصدر مكتوبة بلغة Java تُستخدم بشكل أساسي لتخزين وتنسيق ونشر سجلات التسجيل التي تم إنشاؤها بواسطة التطبيقات والأنظمة ثم التحقق من الأخطاء. يمكن أن تكون السجلات من أنواع مختلفة ، من صفحة الويب وبيانات المستعرض إلى التفاصيل الفنية للنظام حيث يتم تشغيل Log4j.

بدلاً من كتابة التعليمات البرمجية من البداية ، يمكن للمطورين استخدام مكتبة Log4j من خلال دمج كودها في تطبيقاتهم.

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

تمت كتابة هذه المكتبة التي تستند إلى Java بواسطة Ceki Gulcu وتم إصدارها في عام 2001 بموجب ترخيص Apache 2.0. يستخدم خدمات تسمية Java و Directory Interface (JNDI) للسماح للتطبيقات بالتفاعل مع تطبيقات أخرى مثل LDAP و DNS و CORBA وما إلى ذلك ، والحصول على وظيفة دليل وتسمية للتطبيقات المستندة إلى Java. يتكون Log4j من ثلاثة مكونات لأداء مهامه:

  • قطع الأشجار لالتقاط سجلات التسجيل
  • تخطيطات لتنسيق سجلات التسجيل في أنماط مختلفة
  • ملاحق لنشر سجلات التسجيل إلى وجهات مختلفة

تعد Log4j ، في الواقع ، واحدة من أشهر مكتبات التسجيل على الويب وتستخدمها مؤسسات من صناعات ودول متعددة. لقد قاموا بدمج مكتبة التسجيل هذه في الكثير من التطبيقات ، بما في ذلك أفضل الخدمات السحابية من Google و Microsoft و Apple و Cloudflare و Twitter وما إلى ذلك.

قام مطورها ، Apache Software Foundation ، بتطوير Log4j 2 ، وهو ترقية إلى Log4j لمعالجة المشكلات الموجودة في الإصدارات السابقة. في العام الماضي ، تم العثور على ثغرة أمنية في Log4j ، والتي ، عند تركها دون معالجة ، يمكن أن تسمح للمهاجمين باختراق التطبيقات والأنظمة ، وسرقة البيانات ، وإصابة شبكة ، وتنفيذ أنشطة ضارة أخرى.

دعونا نفهمها أكثر.

ما هو Log4Shell - الثغرة الأمنية Log4j؟

Log4Shell هي ثغرة أمنية حاسمة في مكتبة Log4j ، والتي تؤثر على الأداء الأساسي للمكتبة. يسمح للمهاجم بالتحكم في جهاز أو تطبيق متصل بالإنترنت عن طريق تنفيذ التعليمات البرمجية عن بُعد. عندما ينجحون في ذلك ، يمكنهم:

  • قم بتشغيل أي رمز على الجهاز أو النظام
  • الوصول إلى جميع الشبكات والبيانات
  • قم بتعديل أو تشفير أي ملف على التطبيق أو الجهاز المتأثر

تم الإبلاغ عن هذه الثغرة الأمنية لأول مرة في 24 نوفمبر 2021 ، بواسطة Chen Zhaojun ، الباحث الأمني ​​في Alibaba (عملاق التجارة الإلكترونية الصيني). أثرت الثغرة الأمنية على خوادم Minecraft الخاصة بهم ، والتي اكتشفها فريق الأمان السحابي في Alibaba في 9 ديسمبر.

بعد ذلك ، نشر المعهد القومي للمعايير والتقنية (NIST) هذه الثغرة الأمنية في قاعدة بيانات الثغرات الأمنية الوطنية وأطلق عليها اسم CVE-2021-44228. ثم صنفت Apache Software Foundation هذه الثغرة الأمنية بـ 10 في درجة خطورة CVSS. نادرًا ما يتم تخصيص هذا الأمر وهو شديد الخطورة نظرًا لأنه من المحتمل أن يتم استغلاله على نطاق واسع وبسهولة ، مما يؤدي إلى أضرار جسيمة للمنظمات والأفراد.

رداً على ذلك ، أصدر أباتشي تصحيحًا لهذه الثغرة الأمنية ولكن مع ذلك ، تُركت بعض الأجزاء دون معالجة ، مما أدى إلى ثغرات أخرى:

  • CVE-2021-45046 التي سهلت هجمات رفض الخدمة (DoS) من خلال عمليات بحث JNDI
  • CVE-2021-45105 للسماح للقراصنة بالتحكم في معلومات خريطة سياق سلسلة الرسائل والتسبب في هجمات DoS عن طريق تفسير سلسلة متقنة
  • يؤثر CVE-2021-44832 على جميع إصدارات Log4j 2 عبر حقن الكود عن بعد (RCE)

كيف يعمل Log4Shell؟

لفهم شدتها ومدى الضرر الذي يمكن أن يحدثه Log4Shell ، من المناسب معرفة كيفية عمل الثغرة الأمنية Log4j.

تسمح ثغرة Log4Shell للمهاجم بحقن أي رمز عشوائي في الشبكة عن بُعد والتحكم فيه بشكل كامل.

يبدأ تسلسل الهجوم الإلكتروني هذا بمكتبة التسجيل ، مثل Log4j ، التي تجمع وتخزن معلومات السجل. إذا لم تكن هناك مكتبة تسجيل ، فسيتم أرشفة جميع البيانات من الخادم على الفور بعد جمع البيانات.

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

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

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

إذن ، هذه هي الطريقة التي يمكن بها استغلال ثغرة Log4j:

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

كيف يمكن أن تضر ثغرة Log4j بالمستخدمين؟

تعتبر ثغرة Log4j مثيرة للقلق نظرًا لاستخدامها في مجموعة واسعة من تطبيقات وأنظمة البرامج.

نظرًا لأن التسجيل هو ميزة أساسية في معظم تطبيقات البرامج ويعتبر Log4j حلاً رائدًا في الفضاء ، يجد Log4j تطبيقات في مجموعة متنوعة من أنظمة البرامج.

بعض الخدمات والتطبيقات الشائعة التي تستخدم Log4j هي ​​Minecraft و AWS و iCloud و Microsoft و Twitter وأجهزة توجيه الإنترنت وأدوات تطوير البرامج وأدوات الأمان وما إلى ذلك. وبالتالي ، يمكن للمهاجمين استهداف عدد كبير من التطبيقات والخدمات والأنظمة من المستخدمين المنزليين ومطوري التعليمات البرمجية وموفري الخدمات وغيرهم من المهنيين والأفراد ذوي الصلة.

بالإضافة إلى ذلك ، من السهل للغاية على المهاجم استغلال الثغرة الأمنية Log4j. تتطلب العملية الكلية مجموعات مهارات أقل ، وليس على مستوى الخبراء ، لتنفيذ هجوم. هذا هو سبب تزايد عدد الهجمات التي تستغل هذه الثغرة الأمنية.

تأثير ضعف Log4j هو:

  • هجمات DoS
  • هجمات سلسلة التوريد
  • تعدين العملات
  • حقن البرامج الضارة مثل برامج الفدية وأحصنة طروادة
  • حقن رمز تعسفي
  • تنفيذ التعليمات البرمجية عن بعد

و اكثر.

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

وفقًا لأحد التقارير ، تعرضت أكثر من 40٪ من شبكات الشركات العالمية لهجمات بسبب هذه الثغرة الأمنية.

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

لاحظ أن جميع إصدارات Log4j قبل Log4j 2.17.0. تتأثر ومن ثم ، يجب ترقية المسجل إذا كنت تستخدمه. أيضًا ، البائعون المشهورون الذين تأثروا بهذه الثغرة الأمنية Log4j هم Adobe و AWS و IBM و Cisco و VMware و Okta و Fortinet وما إلى ذلك. إذا كنت تستخدم أيًا منها ، راقب تطبيقاتك باستمرار واستخدم أنظمة الأمان لإصلاح المشكلات بمجرد حدوثها ينشأ.

كيفية الكشف عن البرامج المتأثرة Log4j وإصلاح المشكلات

ثغرة Log4Shell لديها 10 نقاط في CVSS. وبالتالي ، لم يتم تصحيح جميع المشكلات في Log4j بعد. ولكن من المحتمل أن تكون أنت أو البائع الخارجي الذي تتعامل معه تستخدم Log4j ، والذي استخدمته في تطبيقك.

وبالتالي ، إذا كنت ترغب في حماية بياناتك وأنظمتك وشبكتك ، فتأكد من اتباع بعض خطوات الإصلاح.

# 1. قم بتحديث إصدار Log4j الخاص بك

يعد تحديث إصدار Log4j الحالي لديك إلى Log 4j 2.17.1 هو أسلوب العلاج الأكثر فعالية إذا كنت ترغب في حماية جهازك وتطبيقاتك من الهجمات نتيجة لثغرة Log4j.

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

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

# 2. استخدم أحدث أنظمة الحماية والجدران النارية

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

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

بالإضافة إلى ذلك ، قم بتحديث جميع أنظمة الأمان الخاصة بك ، مثل أنظمة اكتشاف التسلل (IDS) وأنظمة منع التطفل (IPS) وما إلى ذلك ، بأحدث التوقيعات والقواعد. ستساعد هذه الأنظمة في منع أو تصفية حركة مرور RMI و LDAP من الاتصال بخادم LDAP الضار.

# 3. تنفيذ أسلوب العائالت المتعددة MFA

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

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

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

# 4. تغيير خصائص النظام

في حالة عدم تمكنك من الترقية إلى أحدث إصدار من مكتبة Log4j ، يجب عليك تغيير خصائص نظام جافا الخاص بك على الفور إذا كنت تستخدم إصدارًا يتراوح من Log4j 2.10 إلى Log4j 2.14.1.

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

# 5. إزالة JNDI

يكمن سبب هذه الثغرة الأمنية الحرجة في تصميمها. يحتوي المكون الإضافي JNDI Lookup على عيب في التصميم يمكن للمهاجمين من خلاله تنفيذ هجوم.

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

اكتشف باحثو الأمن أن هذا المكون الإضافي كان دائمًا يسمح ببيانات غير محللة منذ إصداره في 2013 ويرسلها إلى مكتبة Log4j.

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

لذلك ، إذا كنت ترغب في تأمين الأنظمة والتطبيقات الخاصة بك ، فيجب عليك تعطيل الفئة - JndiLookup. سيؤدي هذا إلى منع المسجل من اتخاذ إجراء بناءً على بيانات السجل.

في الواقع ، تم تعطيل بحث JNDI بالفعل في Log4j 2.16.0 افتراضيًا في محاولة لتأمين التطبيقات والأنظمة الخاصة بك.

لذلك ، إذا كنت تستخدم إصدار Log4j أقل من 2.16.0 ، فتأكد من تعطيل JNDI Lookup.

# 6. تحدث إلى البائعين لديك

إذا كنت قد حصلت على كل شيء بشكل صحيح ، فقد تم تحديث جدران الحماية وأنظمة الأمان لديك ، وتحديث إصدار Log4j ، وتعطيل JNDI Lookup ، وما إلى ذلك ، فلا تسترخي حتى الآن.

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

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

# 7. استخدم ماسح الثغرات الأمنية Log4j

هناك العديد من أدوات فحص الثغرات الأمنية Log4j متوفرة في السوق لتسهيل اكتشاف ثغرات Log4j في الأنظمة والتطبيقات الخاصة بك.

لذلك ، عندما تبحث عن هذه الأدوات ، تحقق من معدلات دقتها لأن العديد منها يولد نتائج إيجابية خاطئة. ابحث أيضًا عن أداة يمكنها تلبية احتياجاتك لأنها قد تركز على تحديد ثغرة Log4j والإبلاغ عن التعرض ومعالجة الثغرة الأمنية.

لذلك ، إذا كان تركيزك هو الاكتشاف ، فابحث عن ماسح الثغرات الأمنية Log4j الذي يمكنه اكتشاف المشكلة أو استخدام ما يمكنه اكتشاف المشكلة ومعالجتها.

بعض من أفضل أدوات المسح Log4j هي:

  • Microsoft 365 Defende r: تقدم Microsoft مجموعة من حلول الأمان والأدوات لمساعدتك على اكتشاف ومنع استغلال Log4j في شبكتك. ستكون قادرًا على اكتشاف محاولات تنفيذ التعليمات البرمجية واستغلالها عن بُعد ، مما يحميك من ثغرات Log4j في أجهزة Windows و Linux.
  • Amazon Inspector و AWS: أنشأت Amazon أداة مسح للبحث عن ثغرة Log4j في مثيلات Amazon EC2 و Amazon ECR.
  • أداة مسح أرشيف CloudStrike (CAST): أنشأت CloudStrike أيضًا أداة مسح ممتازة للكشف عن ثغرة Log4j لمساعدتك في إصلاح المشكلات في الوقت المناسب قبل أن يتمكن المهاجمون من استغلالها.
  • اكتشاف Google Cloud Logging: يتيح لك حل اكتشاف التسجيل في السحابة من Google اكتشاف عمليات استغلال Log4j باستخدام مستكشف السجلات. يمكنك إنشاء استعلام سجل في هذه الأداة والبحث عن سلاسل الاستغلال المحتملة.
  • قامت Google أيضًا بإنشاء log4jscanner ، وهو ماسح ضوئي لنظام الملفات مفتوح المصدر لاكتشاف ثغرة Log4j.
  • BurpSuite Log4j Scanner: هذا مكون إضافي للأمان للمحترفين والمؤسسات لمساعدتهم على اكتشاف ثغرة Log4j.
  • Huntress Log4Shell Vulnerability Tester: تنشئ هذه الأداة معرفًا فريدًا عشوائيًا يمكنك استخدامه أثناء اختبار حقول الإدخال. عند العثور على ثغرة أمنية في التطبيق أو حقل الإدخال ، سينهي خادم LDAP الآمن الاتصال الضار على الفور ويحافظ على سلامتك.
  • WhiteSource Log4j Detect: أنشأت WhiteSource أداة CLI مجانية ، WhiteSource Log4j Detect ، مستضافة على GitHub لمساعدتك في اكتشاف الثغرات الأمنية في Log4j وإصلاحها - CVE-2021-445046 و CVE-2021-44228.
  • أدوات المسح مفتوح المصدر JFrog لـ Log4j: أنشأ JFrog العديد من الحلول والأدوات مفتوحة المصدر للعثور على ثغرات Log4j في الثنائيات وكود المصدر.

استنتاج

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

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