أظهرت دراسة حديثة أجراها باحثون في جامعة تكساس أن معالجة الثغرات الأمنية في البرمجيات مفتوحة المصدر من خلال سلسلة من الرقع البرمجية (الإصلاحات) المتعددة، بدلاً من تطبيق رقعة واحدة شاملة، تتسبب غالباً في توفير نافذة زمنية تظل خلالها الأنظمة عرضة للاستغلال الهجومي. وكشف التحليل الذي شمل 1,646 ثغرة أمنية مسجلة في قاعدة بيانات الثغرات الوطنية (NVD) بين عامي 1999 و2025، أن أدوات الكشف الآلي تعجز بشكل شبه كامل عن التمييز بين الإصلاح الجزئي الناقص والإصلاح الشامل، ما يضاعف خطورة هذه الفجوة الأمنية الخفية.
وأوضحت نتائج الدراسة أن سيناريو الرقع المتعددة يظهر فيما يقارب حالة واحدة من بين كل 15 ثغرة في البرمجيات مفتوحة المصدر التي تتضمن رقعة برمجية مرتبطة بها في قاعدة البيانات. وعبر التحليل اليدوي لهذه الحالات، قسم الباحثون الأسباب الجذرية إلى ثلاث فئات أساسية:
- الإصلاحات متعددة المواقع، حيث تتواجد الشيفرة المصدرية المعيبة في عدة فروع أو مشاريع، ما يتطلب نقل الرقعة البرمجية إلى كل موقع (830 سجلاً).
- الإصلاحات المرتبطة بأعمال جانبية، مثل إضافة التوثيق أو تطبيق حلول مؤقتة عبر التزامات برمجية منفصلة.
- الإصلاحات المعيبة أو الناقصة، وهي الفئة الأكثر خطورة، والتي تفشل فيها الرقعة البرمجية الأولى في معالجة الثغرة بالكامل أو تتسبب في إدخال خلل جديد (641 سجلاً).
ويعكس الواقع العملي أبعاد هذه الفجوة الأمنية؛ ففي ثغرة تجاوز سعة الأعداد الصحيحة في نظام الملفات Linux XFS المسجلة بالمعرف CVE-2012-0038، أضاف الإصلاح الأولي عملية تحقق من حدود القيمة لكنه اعتمد على دالة تُرجع عدداً صحيحاً غير موقع ما سمح بتجاوز التحقق، ولم تُعالج الثغرة كلياً إلا بعد 18 يوماً عبر تعديل نوع المتغير.
وفي حالة أخرى تضمنت ثغرة تحميل الملفات العشوائي في نظام Chamilo LMS المسجلة بالمعرف CVE-2023-4226، طُرح حل بديل في البداية ثم تبعه الإصلاح الرسمي بعد 16 يوماً. وتكشف هذه الأرقام عن خلل زمني هيكلي، حيث تستغرق 31.7% من حالات الرقع المتعددة أكثر من يوم واحد للانتقال من الالتزام البرمجي الأول إلى الأخير، ما يتيح للمهاجمين فرصة لرصد الثغرة في مستودع الشيفرة المصدرية بعد نشر الرقعة الأولى واستغلالها قبل وصول الإصلاح الكامل لبقية الفروع.
ولتقييم كفاءة أدوات الكشف الآلي في التعامل مع هذه الحالات، اختبر الباحثون سبعة نماذج متخصصة في اكتشاف الثغرات، شملت CodeBERT وUniXcoder وLineVul وReVeal، على مجموعة البيانات الخاضعة للإصلاحات الناقصة. وجاءت النتائج لتبين أن دقة هذه النماذج ومقياس F1 ظلا دون مستوى 50%، وهو ما وصفه الفريق بأنه أدنى من التخمين العشوائي. كما شهد أداء أدوات كشف الشيفرات المكررة مثل FIRE تراجعاً حاداً، حيث انخفض معدل الاكتشاف الإيجابي الحقيقي من نحو 90% إلى 52% عند البحث عن الشيفرات المعيبة في مواقع متعددة.
وأرجع ويليانغ تشي، الباحث المشارك في الدراسة، هذا القصور إلى اعتماد أغلب الأدوات على تقنيات مطابقة التواقيع وأنماط الشيفرة، ما يجعلها محدودة الفاعلية أمام الإصلاحات الناقصة غير المرصودة سابقاً.
ولا تقتصر المشكلة على ذلك، إذ تتخلل سجلات الرقع البرمجية بيانات غير متعلقة بالأمن تصعب عمليات التحليل الآلي؛ حيث أوضحت الدراسة أن نحو 5.8% من حالات الرقع المتعددة تتضمن التزامات برمجية لا صلة لها بالأمن السيبراني، كالتعديلات على ملفات التوثيق أو تحديث أرقام الإصدارات. وتلقي هذه الظاهرة بظلالها على مجموعات البيانات المستخدمة في أبحاث الأمن السيبراني؛ ففي مجموعة BigVul الشهيرة التي تضم آلاف الدوال البرمجية الضعيفة، قد يؤدي التراجع عن رقعة متأخرة ضمن سلسلة إصلاحات متعددة إلى استعادة حالة برمجية وسطية لا تعبر عن الشيفرة الضعيفة الأصلية، وتشويه جودة البيانات والأبحاث المترتبة عليها.
وحول إمكانية استغلال هذه الفجوات في هجمات فعلية، أوضح تشي أن الدراسة لم ترصد أدلة مباشرة على وقوع هجمات خلال الفترات الفاصلة بين طرح الرقع البرمجية، لكنه أكد أن الخطر بنيوي وقابل للمقارنة بمخاطر إعادة استخدام الشيفرات البرمجية التي تحظى باهتمام واسع في الأوساط الأمنية. وأضاف: “نعتقد أن الخطر حقيقي، لأن نقاط الضعف الناشئة عن إعادة استخدام الشيفرات بين المشاريع المختلفة حظيت باهتمام كبير وأدت إلى تطوير أدوات مثل VUDDY وFIRE، وحالات الرقع المتعددة تمثل نمطاً مشابهاً ضمن المشروع الواحد، حيث يمكن لرقعة مبكرة أن تكشف أدلة عن عيوب مماثلة في مواقع غير مصححة”.
وتدفع هذه النتائج الباحثين إلى التأكيد على ضرورة تطوير منهجيات جديدة لاكتشاف الإصلاحات الناقصة، ورفع وعي المطورين بأهمية معالجة الثغرات الأمنية عبر التزام برمجي واحد كلما أمكن ذلك، أو تقليص الفجوة الزمنية بين الرقعة الأولى والأخيرة. كما تبرز أهمية تحسين ممارسات الحوكمة في مستودعات البرمجيات مفتوحة المصدر لضمان عدم تحول عملية الإصلاح ذاتها إلى ثغرة أمنية جديدة.







