كيف كان من الممكن لديبيان تجاوز الباب الخلفي في XZ؟ تحليل موجز للقضية 

الباب الخلفي XZ

الباب الخلفي XZ

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

في مشاركة مدونة بواسطة إيفان بوهس (مبرمج ومتسلل)، شارك تحليلًا زمنيًا صغيرًا لحالة الباب الخلفي في XZ. وفي المنشور يذكر ذلك كان المطور جيا تان مسؤولاً عن تقديم الباب الخلفي في حزمة XZ، منذ جيا تان حصلت على حالة المشرف في عام 2022 وبدأت في إصدار الإصدارات منذ 5.4.2 من مشروع XZ. بالإضافة إلى العمل على XZ، جيا تان كما ساهم أيضًا في حزم xz-java وxz-embedded، وتم الاعتراف به كمشرف على مشروع XZ Embedded المستخدم في Linux kernel.

بالإضافة إلى جيا تان، و بمشاركة مستخدمين آخرين، جيجار كومار وهانز يانسن، الذي يفترض الكثيرون ذلك على ما يبدو يمكن أن يكونوا شخصيات افتراضية. شارك جيجار كومار في الترويج للبقع الأولى لـ Jia Tan على XZ الضغط على المشرف آنذاك لاسي كولين لقبول التغييرات المفيدة وتنفيذ الدعم لمرشحات السلسلة في أبريل 2022.

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

مع الوضع الجديد من المشرف، بدأ جيا تان في إجراء تغييرات بنشاط على مشروع XZ وبحسب الإحصائيات فقد احتلت المرتبة الثانية بين المطورين من حيث عدد التغييرات لمدة عامين.

في مارس 2023، استبدل Lasse Collin الشخص المسؤول عن اختبار حزمة XZ في خدمة oss-fuzz بـ Jia Tan، وفي يونيو تم تنفيذ تغييرات على تكوين XZ، بما في ذلك دعم آلية IFUNC في liblzma، والتي تم استخدامها بعد ذلك لتنظيم اعتراض الوظائف في الباب الخلفي. جاء اقتراح هذا التغيير من Hans Jansen، الذي تم إنشاء حسابه قبل تقديم طلب السحب المتعلق بهذه التغييرات مباشرةً.

En في يوليو 2023، طلب جيا تان من مطوري oss-fuzz تعطيل التحقق من ifunc لعدم توافقه مع «-fsanitize=address". في فبراير 2024، تم تغيير الرابط إلى موقع مشروع XZ على oss-fuzz وtukaani.org، والانتقال من النطاق الرئيسي إلى النطاق الفرعي. تمت استضافة هذا النطاق الفرعي الأخير على صفحات GitHub وكان يتحكم فيه شخصيًا جيا تان.

في 23 فبراير، تم نشر ملفات لاختبار وحدة فك التشفير، بما في ذلك الملفات ذات الباب الخلفي، على موقع الويب ولكنها ظهرت في ملف .gitignore.

في 17 مارس، هانز يانسن، شاركت سابقًا في التصحيحات بدعم IFUNC، مسجل كمساهم في مشروع دبيان. 25 مارس، تلقى طلبًا لتحديث إصدار حزمة xz-utils في المستودع من ديبيان. ومن الجدير بالذكر أن طلبات مماثلة جاءت من مطوري Fedora وUbuntu (على الرغم من رفض التغيير في Ubuntu بسبب تجميد المستودع).

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

حول هذا ، أصدر لاسي كولين بيانا مؤكدا أن الملفات التي تحتوي على إصدارات الباب الخلفي تم إنشاؤها وتوقيعها من قبل جيا تان، بالإضافة إلى ذلك، أعلن عن إزالة النطاق الفرعي xz.tukaani.org، مشيرا إلى أن موقع xz سيعود إلى خادم tukaani.org الرئيسي. وذكر أيضًا أنه تم حظر حسابه على GitHub. ومن المهم تسليط الضوء على ذلك يمتلك Lasse Collin السيطرة فقط على موقع tukaani.org ومستودعات git.tukaani.org. من ناحية أخرى، كان جيا تان يتحكم فقط في المشروع على GitHub ومضيف xz.tukaani.org، لكنه لم يكن لديه حق الوصول إلى خادم tukaani.org.

إذا كنت مهتمًا بمعرفة المزيد عنه، يمكنك الرجوع إلى التفاصيل على الرابط التالي.