كان استغلال Log4j ، المسمى Log4Shell أو CVE-2021-44228 (يفتح في نافذة جديدة) من قبل البعض ، في الأخبار خلال الأسابيع القليلة الماضية. إنه أمر سيء! انها في كل مكان! ولكن ما هو حقا؟ كيف شقت طريقها إلى الملايين من الخوادم؟ وكيف يمكنك حماية نفسك من عواقب هذا الثقب الأمني؟
هذه ليست بيانات - هذا رمز!
في قلب مشكلة Log4j هو الخلط بين البيانات البسيطة والأوامر القابلة للتنفيذ. يستغل المبرمجون الخبيثون هذا النوع من الارتباك عمليًا إلى الأبد.
في أيام فيروسات الكمبيوتر المستندة إلى DOS ، كانت البرامج الموجودة على القرص تُنسخ مباشرة إلى الذاكرة ويتم تشغيلها. ألحقت الفيروسات المبكرة نفسها في شكل كتلة بيانات في نهاية البرنامج المضيف. عن طريق تعديل بايت أو اثنين في بداية البرنامج ، تسببوا في قيام DOS بتنفيذ رمز الفيروس قبل بدء تشغيل البرنامج. وألحق الفيروس نفسه بمزيد من البرامج خلال فترة تشغيله القصيرة.
تعد برامج Windows ، التي تسمى برامج قابلة للتنفيذ المحمولة (PE) ، أكثر تعقيدًا إلى حد كبير. يتم تحميل كتل مختلفة من المعلومات في منطقة الذاكرة المناسبة ، ويتم تمييز هذه الكتل كرمز أو بيانات. ومع ذلك ، نجح المخربون في إدارة الهجمات التي فرضت تنفيذ ما كان من المفترض أن يكون بيانات. تستخدم إصدارات Windows الحديثة Data Execution Prevention (DEP) و Address Space Layout Randomization (ASLR) لإحباط مثل هذه الهجمات.
جافا والمصدر المفتوح
تمت كتابة Log4j بلغة Java ، مما يعني أنه لا يحتوي في جوهره على وسائل حماية مثل DEP و ASLR. من ناحية أخرى ، إنها حزمة مفتوحة المصدر. هذا يعني أن أي شخص (حسنًا ، أي شخص لديه مهارات في البرمجة) يمكنه قراءة الكود المصدري ، واكتشاف أي أخطاء ، والمساهمة في تحسين الحزمة.
النظرية هي أن الكود مفتوح المصدر أكثر أمانًا لأنه تم فحصه من قبل مجموعات عديدة من العيون ، ولأنه لا توجد إمكانية لوجود باب خلفي أو بعض الميزات الأخرى غير المرغوب فيها التي تختبئ في الشفرة. عندما تكون المكتبة المعنية حساسة للغاية ، وربما تنطوي على تشفير ، فإنها في الحقيقة تخضع لتدقيق جاد. ولكن من الواضح أن هذه الوحدة النمطية البسيطة لكتابة السجل لم تحظ بالاهتمام الكافي.
لماذا يوجد في كل مكان؟
عندما يكون هناك ثغرة أمنية في نظام تشغيل أو متصفح شائع ، فإنها عادة ما تؤثر فقط على مستخدمي نظام التشغيل هذا أو ذلك المتصفح. يعمل الناشر على إنشاء إصدار جديد يعمل على تصحيح الثقب ، ويدفع التحديث ، وكل شيء على ما يرام.
Log4j مختلف. إنه ليس نظام تشغيل أو متصفح أو حتى برنامج. بل هو ما يسميه المبرمجون مكتبة ، أو حزمة ، أو وحدة تعليمات برمجية. يخدم غرضًا واحدًا - الاحتفاظ بسجل لما يحدث على الخادم.
يريد الأشخاص الذين يكتبون رمزًا التركيز على ما يجعل برنامجهم فريدًا. لا يريدون إعادة اختراع العجلة. لذلك ، فهم يعتمدون على مكتبات لا حصر لها من الكود الموجود ، مثل Log4j. تأتي وحدة Log4j من Apache ، وهو أكثر برامج خادم الويب استخدامًا. وهذا هو سبب وجودها في ملايين الخوادم.
من الضحية هنا؟
هذه نقطة مهمة. الهجمات التي تستخدم الثغرة الأمنية في Log4j ليست يستهدفك. المخترق الذي يجبره على تسجيل سطر نصي يتحول إلى أمر يهدف إلى تثبيت برامج ضارة على الخادم . تشير Microsoft إلى أن المتسللين الذين ترعاهم الدولة يستخدمونها ، على الأرجح لدفع برامج الفدية. لقد تأثرت Apple و Cloudflare و Twitter و Valve وغيرها من الشركات الكبيرة.
ربما تكون قد شاهدت (أو شاهدت) مقطع فيديو على YouTube أظهر فيه باحث أمني الاستيلاء على خادم Minecraft باستخدام لا شيء أكثر من الدردشة داخل اللعبة. هذا لا يعني أنه أثر على اللاعبين المشاركين في الدردشة. هذا يعني أن الباحث فرض الخادم لتشغيل تعليمات برمجية عشوائية.
موصى به بواسطة محررينا
عدد لا يحصى من الخوادم معرضة لاستغلال Apache Log4j Zero-Day Exploit الحرج Apache Log4j الموضح في Minecraft Microsoft:المتسللون الذين ترعاهم الدولة يستغلون ثغرة Log4jلكن لا تسترخي بعد. المتسلل الذي يمكنه تشغيل تعليمات برمجية عشوائية على الخادم المتأثر لديه خيارات غير محدودة. بالتأكيد ، قد يكون هجوم برامج الفدية على مالك الخادم مربحًا للغاية ، كما يمكن أن يكون اختيار الخادم للقيام بتعدين البيتكوين. ولكن من الممكن أيضًا أن يتمكن المخترق من تخريب الخادم ، مما يتسبب في إلحاق برامج ضارة بزوار مواقع الويب المستضافة على ذلك الخادم.
ماذا يمكنني أن أفعل؟
استغلال Log4j هو مجرد واحد من العديد من الثغرات الأمنية التي يتم استغلالها من قبل الجهات السيئة. يسرد كتالوج الثغرات الأمنية المستغلة CISA (يفتح في نافذة جديدة) 20 تم العثور عليها في ديسمبر وحده. بالنظر عن كثب ، سترى أن بعضها تم إصلاحه بالفعل ، لكن البعض الآخر لديه إصلاح لن يكون مستحقًا لمدة ستة أشهر أو أكثر. القليل سيكون له تأثير استغلال Log4j بالطبع.
أما بالنسبة للحماية من Log4j على جانب الخادم ، فالأمر بسيط بشكل مثير للضحك. هناك إعداد يتحكم فيما إذا كان نظام التسجيل يمكنه تفسير البيانات كرمز أم لا. تشغيل هذا المفتاح يؤدي المهمة. وبطبيعة الحال ، أصدر Apache تحديثًا لوحدة التعليمات البرمجية ، لكن بعض الباحثين أفادوا أن التغيير المهم الوحيد في التحديث هو أن هذا المفتاح افتراضي على وضع الإيقاف.
كما لوحظ ، فإن Log4j هو رمز مصمم للخوادم ، ويؤثر هجوم الاستغلال على الخوادم. ومع ذلك ، قد تتأثر بشكل غير مباشر إذا استخدمه أحد المتطفلين لإزالة خادم مهم بالنسبة لك ، أو حاول استخدام الخادم للتنزيلات من محرك الأقراص أو هجمات البرامج الضارة الأخرى.
ليس هناك شيء أنت لتجنب تأثير إزالة الخادم ، ولكن يمكنك يمكنك الحماية من تلك الهجمات الثانوية عن طريق تثبيت أداة قوية لمكافحة الفيروسات وتحديثها باستمرار. قم بواجبك من خلال البقاء في حالة تأهب لخداع التصيد الاحتيالي ، واستخدام مدير كلمات المرور ، وتشغيل حركة المرور على الإنترنت من خلال شبكة افتراضية خاصة ، أو VPN. يعني الحفاظ على أمان بياناتك وأجهزتك واتصالاتك أنه من غير المحتمل أن تتأثر بالتداعيات الناجمة عن هجوم استغلال Log4j.