اكتشاف الباب الخلفي “xz” الذى يخترق الحواسيب.. جرس إنذار للأمن السيبراني
كتب: أشرف التهامي
مع حلول شهر مارس وأبريل، كان مجتمع الأمن السيبراني منشغلًا بالأخبار التي تفيد بأن liblzma، أحد مكونات الأداة المساعدة لضغط البيانات مفتوحة المصدر xz، قد تم اختطافه كوسيلة للتعليمات البرمجية التي يمكن أن تخلق بابًا خلفيًا إلى أجهزة الكمبيوتر التي قامت بتثبيت البرنامج وتشغيله .
من المحتمل أنك لم تسمع من قبل عن liblzma أو xz، ولا تقضي الكثير من الوقت في التفكير في الأدوات المساعدة لضغط البرامج.
ولكن سواء كنت تعرف ذلك أم لا، فربما تكون قد قمت بالفعل بتثبيت xz واستخدامه من خلال تضمينه في أدوات برمجية أخرى، كما هو الحال مع العديد من حزم البرامج المفتوحة المصدر الغامضة، وهذه مشكلة للأمن السيبراني.
لم يتم اكتشاف التعليمات البرمجية الضارة المخفية في xz بسبب الفحص الدقيق للبرنامج من قبل فرق من المتخصصين في الأمن السيبراني في مهمة للتخلص من البرامج الضارة، بل تم اكتشاف المشكلة عن طريق الصدفة.
والخبر السيئ هو أننا غالبًا ما نكون تحت رحمة الحظ عندما يتعلق الأمر باكتشاف هجمات الأمن السيبراني قبل نشرها واستخدامها فعليًا.
استخدامات الأداة المساعدة xz وماهي؟
على الرغم من غموضها العام، يتم استخدام الأداة المساعدة xz على نطاق واسع في العديد من منصات الحوسبة.
لا يوجد شيء جدير بالملاحظة بشكل خاص حول xz، وهو أحد أدوات ضغط البرامج العديدة التي تأخذ الملفات الكبيرة وتدفقات البيانات وتجعلها أصغر من خلال الاستفادة من التكرار الإحصائي في المعلومات.
يمكن تقديم أدوات الضغط كبرامج مستقلة ولكنها في أغلب الأحيان جزء من حزمة برامج أكبر قد تستخدم وظائف الضغط بشكل غير مرئي كجزء من غرضها العام.
هذه هي الطريقة التي أصبحت بها حزمة xz مدمجة في مشاريع برمجية أكبر، لقد كانت أداة xz موجودة منذ أكثر من 15 عامًا دون أي عيوب أمنية وتم نشرها في العديد من أنظمة التشغيل منذ ذلك الحين، بما في ذلك معظم توزيعات Linux وMicrosoft Windows .
بالإضافة إلى ذلك، تمت إضافة xz باعتباره تابعًا في حزمة برامج OpenSSH، وهي مجموعة أدوات مستخدمة على نطاق واسع لتسجيل الدخول الآمن بين أجهزة الكمبيوتر.
ما هو جدير بالملاحظة بشأن تضمين xz هو أنه تمت إضافته بشكل غير مباشر للعمل بشكل اختياري مع الوظائف الداخلية لأنظمة تشغيل Linux، وليس كجزء من تقنية OpenSSH الأساسية.
قد تظن أن مشروعًا برمجيًا مفتوح المصدر يعتمد على نطاق واسع مثل xz ستتم صيانته بواسطة فريق كبير من المطورين الذين تتم مراجعة أكوادهم البرمجية بانتظام بواسطة خبراء الأمان.
لم يكن هذا هو الحال. تمت صيانة الأداة المساعدة xz بواسطة مطور واحد بدأ يعاني من مشاكل تتعلق بصحته وكان بطيئًا في نشر التحديثات إلى xz بسبب هذه المشاكل.
في أكتوبر 2021، بدأ مطور يُدعى جيا تان في تقديم مساهمات في كود xz وعرض تولي صيانة المشروع.
في عام 2023، تم نقل زمام الأمور إلى جيا، وبدأوا في إدخال جزء مخفي جيدًا من البرامج الضارة بعناية في كود xz، وأصدروا الإصدار النهائي في فبراير 2024، حيث التقطه مستخدمو الكود مثل توزيعات Linux التى إدراجها في الإصدارات المستقبلية من البرامج الخاصة بهم.
اكتشاف رمز الباب الخلفي xz عن طريق الصدفة
تم اكتشاف رمز الباب الخلفي xz عن طريق الصدفة، وكان ذلك في أواخر اشهر الماضى (مارس 2024)، حين لاحظ مهندس برمجيات في Microsoft أنه عندما استخدم OpenSSH لتسجيل الدخول إلى أجهزة الكمبيوتر البعيدة، كانت تستغرق حوالي 500 مللي ثانية وقتًا أطول مما ينبغي في العادة.
لقد بحث في كود OpenSSH ولاحظ أنه كان يجري مكالمات غير عادية إلى مكتبة liblzma الخاصة بـ xz على جهاز الكمبيوتر الخاص به الذي يعمل بنظام التشغيل Debian Linux وبعد تحليل كود xz، وجد نصًا مخفيًا بعناية من شأنه أن يمكّن المستخدم البعيد من تسجيل الدخول إلى جهاز الكمبيوتر الخاص به دون أي ترخيص – وهو باب خلفي.
قام المهندس على الفور بتنبيه فريق الأمان في دبيان، وتابع فريق Red Hat Linux ذلك بإرسال CVE – تهيئة لـ “نقاط الضعف والتعرضات الشائعة”، وهي طريقة مرجعية لتتبع ثغرات أمن المعلومات – بدرجة خطورة 10، وهي أعلى خطورة مستوى.
xz هو محاولة اختراق معقدة ومخطط لها جيدًا.
تشير جميع الدلائل إلى أن الباب الخلفي xz هو محاولة اختراق معقدة ومخطط لها جيدًا، ظهر “جيا تان” – وهو على الأرجح اسم مستعار – فجأة في عام 2021، حيث أجرى تحديثات متعددة لمشروع xz على GitHub، وكانت جميعها ذات جودة عالية بشكل عام.
بعد ذلك بوقت قصير، بدأ مشرف xz الأصلي في التعرض للمضايقات المستمرة من خلال حسابات متعددة يديرها جيا تان أو شركاؤه.
وفي نهاية المطاف، رضخ المشرف في عام 2023، وبدأ جيا تان في إضافة شفرته الخبيثة إلى المشروع.
لاحظ المهندسون في Red Hat Linux أيضًا أن جيا تان كان يضغط بشكل متكرر على مشرفي التوزيع لاستخدام الإصدار الجديد من كود xz بسبب “ميزاته الجديدة الرائعة”.
هذا النموذج لتطوير البرمجيات مفتوحة المصدر ليس غير عادي، ويمثل مشكلة تتعلق بالأمن السيبراني.
في الواقع، هذا السيناريو، الذي يُشار إليه غالبًا باسم مشكلة سلسلة التوريد، شائع جدًا لدرجة أن موقع xkcd webcomic قد نشر توضيحًا ذكيًا للمشكلة.
تستخدم أنظمة التشغيل والتطبيقات البرمجية في جميع أنحاء العالم بشكل منتظم حزم البرامج والمكتبات مفتوحة المصدر، ولا يتم دائمًا فحصها بعناية مسبقًا.
تعد البرمجيات مفتوحة المصدر مفيدة جدًا وغالبًا ما تكون ضرورية لمشاريع برمجية ضخمة ومعقدة للغاية مثل أنظمة التشغيل، والتي يمكنها بعد ذلك أن توفر للمستخدمين وظائف قد لا تكون متاحة بدون وقت إضافي وتكاليف إضافية للشركة المصنعة.
وهناك القليل جدًا من التنظيم أو المسؤولية القانونية التي قد تقدم لشركات التكنولوجيا كمستخدمين للبرمجيات مفتوحة المصدر مع الحوافز لتحمل التكاليف اللازمة لتجنب تعريض العملاء لمخاطر الأمن السيبراني كنوع من العوامل الخارجية السلبية.
الحلول لهذه المشكلة بعيدة المنال بشكل محبط
لقد أدركت حكومة الولايات المتحدة هذه المشكلة، وأنشأت برامج مثل مفهوم قائمة المواد البرمجية (SBOM) التابع لوكالة الأمن السيبراني وأمن البنية التحتية الأمريكية (CISA) لتحديد مخاطر سلسلة التوريد بشكل أفضل من تبعيات البرامج.
ولكن من غير المحتمل أن يكون متطلب SBOM وحده قد اكتشف الباب الخلفي xz، وتبين أن الحلول لهذه المشكلة بعيدة المنال بشكل محبط.
إن الاعتماد على الحظ ليس استراتيجية مستدامة للأمن السيبراني، خاصة عندما نأخذ في الاعتبار مدى اعتماد عالمنا على برامج آمنة وموثوقة.
ربما لم يكن من السهل اكتشاف محاولة اختراق خبيثة ومعقدة مثل الباب الخلفي xz لولا مهندس Microsoft الذي لديه فضول بشأن تأخير قدره 500 مللي ثانية في وقت تسجيل الدخول الخاص به.
الكارثة والحظ السعيد
نحن نعتمد حاليًا بشكل كبير على الحظ السعيد عندما يتعلق الأمر بأمان البرامج. ماذا يحدث عندما تبدأ المشاريع مفتوحة المصدر في السماح للأدوات المستندة إلى الذكاء الاصطناعي بكتابة أجزاء من قاعدة التعليمات البرمجية الخاصة بها؟
إن النظام المعقد بالفعل والذي يتحرك بوتيرة أسرع يعد بمثابة وصفة لكارثة.
وكحد أدنى، يتعين علينا أن ننظر بجدية في الأنظمة التنظيمية التي تتقاسم المخاطر والمسؤوليات بشكل مناسب.