التصحيح الطارئ للثغرة الأمنية سيئة السمعة في مكتبة Java Log4j ليس مضمونًا. تقوم مؤسسة Apache Software Foundation بإصدار إصدار جديد لإصلاح الثغرة الأمنية بشكل نهائي.
تزعزع إحدى الثغرات الأمنية في مكتبة تحظى بشعبية كبيرة في Java مشهد تكنولوجيا المعلومات العالمي. تشير التقديرات إلى أن المكتبة موجودة في معظم بيئات الشركات.
يستخدم Log4j بشكل أساسي للتسجيل. يمكن تسجيل الأحداث في التطبيقات مع الملاحظات. فكر في نسخة مطبوعة من تفاصيل تسجيل الدخول بعد محاولة تسجيل الدخول. أو ، في حالة وجود تطبيق ويب في Java ، اسم المتصفح الذي يحاول المستخدم الاتصال به.
الأمثلة الأخيرة شائعة. في كلتا الحالتين ، يؤثر مستخدم خارجي على السجل الذي يُخرجه Log4j. من الممكن إساءة استخدام هذا التأثير. يمكن لسجلات أي إصدار Log4j بين 13 سبتمبر 2013 و 5 ديسمبر 2021 توجيه تطبيقات Java لتشغيل الكود من خادم بعيد على جهاز محلي.
منذ عام 2013 ، يقوم Log4j بمعالجة API: JNDI ، أو Java Naming و Directory Interface. تسمح إضافة JNDI لتطبيق Java بتشغيل كود من وحدة خدمة عن بعد على جهاز محلي. يقوم المبرمجون بالإرشاد عن طريق إضافة سطر واحد من التفاصيل حول الخادم البعيد في أحد التطبيقات.
المشكلة هي أن المبرمجين ليسوا وحدهم قادرين على إضافة القاعدة إلى التطبيقات. افترض أن Log4j يسجل أسماء المستخدمين لمحاولات تسجيل الدخول. عندما يقوم شخص ما بإدخال السطر المذكور أعلاه في حقل اسم المستخدم ، يقوم Log4j بتشغيل السطر ويفسر تطبيق Java أمرًا لتشغيل الكود على الخادم المحدد. الأمر نفسه ينطبق على الحالات التي يسجل فيها Log4j طلب HTTPS. إذا قمت بتغيير اسم المستعرض إلى السطر ، يقوم Log4j بتشغيل الخط ، ويوجهه بشكل غير مباشر لتشغيل التعليمات البرمجية كما هو مطلوب.
يمكن أن تكون رقعة الطوارئ غير آمنة أيضًا
في 9 ديسمبر ، ظهرت الثغرة الأمنية على نطاق واسع. أصدرت مؤسسة Apache Software Foundation ، مطور Log4j ، تصحيحًا للطوارئ (2.15) لإصلاح الثغرة الأمنية. منذ ذلك الحين ، كانت الأولوية القصوى لبائعي البرامج معالجة الإصدار 2.15 وتوفير تصحيح للمؤسسات.
ومع ذلك ، ذكرت منظمة الأمن LunaSec أن التصحيح ليس مانعًا لتسرب الماء تمامًا. يظل من الممكن ضبط المحددات وتنفيذ أوامر JNDI التي تم تسجيلها.
يرجى ملاحظة: يجب تعديل الإعداد ذي الصلة يدويًا ، بحيث تكون المتغيرات غير المعدلة 2.15 آمنة بالفعل. ومع ذلك ، توصي Luna Sec بأن يقوم الموردون والمؤسسات بالتحديث إلى Log4j 2.16. تم نشر الإصدار 2.16 بواسطة Apache Software Foundation ردًا على LunaSec. يزيل الإصدار الجديد الإعداد الضعيف تمامًا ، مما يجعل من المستحيل تهيئة الظروف لسوء الاستخدام.