الخلاصة

  • يبدأ مقال LACNIC المنشور في 28 يوليو بتحديث BGP شوهد في 20 مايو 2025، ويحمل خاصية Prefix-SID معطوبة ذات الرمز 40، ثم يصف اندفاعاً تجاوز 150,000 تحديث خلال عشر ثوانٍ.
  • تفيد الرواية بأن Cisco IOS-XR وNokia SR OS أسقطا الخاصية، وأن Junos مرّرها، وأن Arista EOS أعاد ضبط الجلسات، بينما نقلتها خوادم مسارات في عدة نقاط تبادل.
  • يطلب RFC 8669 إسقاط خاصية Prefix-SID ذات البنية المعطوبة وتسجيل الخطأ، لكن قاعدة المعيار لا تكشف إصدار البرنامج أو إعداد تحمّل الأخطاء والسياسة الموروثة على أي موجه مركّب.
  • المطلوب سجل امتثال مؤرّخ يربط بايتات الاختبار نفسها بالمنصة والإصدار والإعداد الفعلي وحدّ العلاقة والفعل والرسالة الخارجة وأثرها في المسارات؛ فاسم المورّد وحده ليس حالة تشغيلية.

الرسالة نفسها، ونتائج ليست واحدة

قدّم LACNIC في 28 يوليو مدخلاً عملياً إلى فئة من أخطار التوجيه لا تصفها ثنائية «اختطاف البادئة أو تسريبها». المثال الأول محدد بما يكفي لتتبعه: في 20 مايو 2025 ظهر BGP UPDATE يحتوي على خاصية Prefix-SID اختيارية ومتعدية، خصص لها IANA الرمز 40، وكانت بنية الخاصية فاسدة.

وفقاً للمقال، لم يتعامل المسار كله مع البايتات بالطريقة ذاتها. أسقط Cisco IOS-XR وNokia SR OS الخاصية المعطوبة وأبقيا المعالجة جارية. مرّر Junos الرسالة. أما أجهزة Arista فأعادت ضبط جلسات BGP عند استقبالها. كذلك رحّلت خوادم مسارات في عدد من نقاط تبادل الإنترنت الخاصية من دون ترشيح. وتقول الرواية إن نظام التوجيه العالمي شهد أكثر من 150,000 تحديث في عشر ثوانٍ، مع تذبذب مسارات مرتبطة بشبكات مسماة، وإن السلوك تغيّر في EOS 4.28.11 والإصدارات اللاحقة.

تكمن قيمة العرض في أنه يفصل سلامة منشأ المسار عن سلامة كل خاصية في الرسالة. قد يكون المنشأ مخوّلاً بموجب ROA، بينما تظل خاصية اختيارية متعدية قادرة على كشف فروق في المحلّل أو سياسة معالجة الخطأ. لا يجيب RPKI عن السؤال الثاني، ولم يُصمم لذلك.

لكن عبارة «مورّد فعل كذا» تختصر حالة تقنية متعددة الأبعاد إلى شعار. اسم Junos أو EOS أو IOS-XR أو SR OS لا يخبر المشغّل أي إصدار كان يعمل، ولا ما إذا كان خيار RFC 7606 مفعلاً، ولا ما ورثته الجلسة من قالب مجموعة النظراء، ولا إن كانت العلاقة مع عميـل أو مزود عبور أو ند أو خادم مسارات. ومن دون تلك العناصر لا يستطيع فريق آخر إعادة النتيجة، حتى لو كانت الأفعال المنقولة صحيحة تماماً في لحظة الرصد.

المعيار يصف الفعل، لا الأسطول المركّب

RFC 8669 واضح في التعامل مع صياغة Prefix-SID المعطوبة. تتكون الخاصية من TLVs. فإذا كان طول الخاصية أقصر من اللازم، أو كان طول TLV غير صالح، أو امتد TLV إلى ما بعد حد الخاصية، فعلى متحدث BGP المستقبل إسقاط الخاصية وتسجيل الخطأ. ويحيل النص هذا الإجراء إلى Attribute discard في RFC 7606.

هذه قاعدة معيارية دقيقة، وليست جرداً لما تفعله كل نسخة برمجية في الشبكات الحية. قد يدعم المنتج القاعدة في إصدار ولا يدعمها في إصدار أقدم؛ وقد يتوقف التطبيق على مفتاح تحمّل الأخطاء؛ وقد يغيّر قالب موروث الإعداد الفعلي الذي يراه جار واحد. لذلك لا يكفي أن نضع علامة «متوافق» بجانب عائلة منتج.

يحافظ تحليل Ben Cox للحادثة على قيد مهم: IOS XR وSR OS رشّحا الكائن المسبب بافتراض أن الأنظمة ضُبطت لتحمّل أخطاء RFC 7606. أما مقال LACNIC فيختصر النتيجة إلى أن المنصتين فعلتا ما يطلبه RFC 7606. ليس بين الجملتين تعارض لازم، لكن الأولى تكشف متغيراً يجب أن يدخل الدليل.

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

توضح مناقشة NANOG العلنية السبب. ربط المشاركون السلوك بخلل Arista 899981 وذكروا إصلاحات في أربعة فروع من EOS: 4.28.11 و4.29.8 و4.30.6 و4.31.2. وفي الوقت نفسه ناقشوا ما إذا كان الإصلاح سيعطي النتيجة المرغوبة للرسالة نفسها. وعرض لاحق في JANOG 57 كرر مقارنة المورّدين وقائمة الإصدارات. هذه قرائن تشغيلية مفيدة، لكنها لا تساوي اختبار إعادة واحداً، بالمدخل نفسه والإعداد المعروف، على أربع عائلات منصات.

150,000 تحديث ليست 150,000 حادثة

الرقم الكبير يشرح التضخيم، لكنه يجب أن يبقى مرتبطاً بوحدته. المصدر يعرض معدل تحديثات رآه جامع BGP، محسوباً على نافذة متوسطها عشر ثوانٍ. لا يعني ذلك 150,000 بادئة فريدة أو جلسة أو موجه أو شبكة متضررة أو انقطاعاً للمستخدمين.

وينطبق الحد نفسه على أسماء Starlink وDisney وZscaler وByteDance الواردة في السرد. رؤية مسارات مرتبطة بهذه الشبكات تتذبذب لا تثبت أنها شغلت إصدار Arista متأثراً، ولا أنها استقبلت البايتات نفسها من الجار نفسه، ولا أنها عانت النتيجة الخدمية نفسها. هذه مشاهدات من نقاط رؤية داخل مستوى تحكم موزع، لا مسحاً لمعدات الشركات.

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

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

بطاقة امتثال لا جدول شعارات

يمكن لـLACNIC أن يحول المثال إلى أصل تشغيلي قابل لإعادة الاختبار من دون أن يدعي سلطة على برمجيات المورّدين أو شبكات الأعضاء. الكائن العام الأنسب هو مصفوفة امتثال ذات إصدارات، مبنية على إعادة تشغيل منزوعة الحساسية للـUPDATE المعطوب نفسه.

يبدأ كل صف بهاش ثابت لبايتات الإدخال ورقم إصدار لمتجه الاختبار. ويُسجل الرمز 40، والأعلام، والطول المعلن، وموضع خطأ TLV. ثم تأتي عائلة المنصة، والإصدار الدقيق، ومعرّف الإصلاح، وإعداد معالجة الخطأ الفعلي بعد توريث إعدادات المجموعة والقالب والجار.

ويجب أن يكون حد العلاقة عموداً مستقلاً. فقد تختلف سياسة جلسة داخلية عن عميل، أو مزود عبور، أو ند بلا تسوية، أو خادم مسارات في IXP. وعبارة «خادم مسارات» لا تصف منتجاً واحداً ولا سياسة ترشيح موحدة.

أما النتيجة فتُكتب بفعل محدد: إعادة ضبط الجلسة، أو تعطيل عائلة عناوين، أو treat-as-withdraw، أو إسقاط الخاصية، أو القبول، أو إجراء آخر منصوص عليه. إذا خرجت الرسالة إلى جار تالٍ، يُنشر هاش النسخة المنزوعة الحساسية من البايتات المرسلة؛ وإذا لم تخرج، يُسجل ذلك صراحة. ويرتبط الفعل بحالة الجلسة وبعدد المسارات التي تغيرت في Adj-RIB-In وLoc-RIB وجدول التحويل ضمن الاختبار المنضبط.

لا يتطلب الصف العام عنوان IP لنظير أو اسم عميل أو بيانات اعتماد أو مخططاً خاصاً أو نسخة من إعداد الإنتاج. يمكن إبقاء الالتقاط الخام تحت وصول مقيد ونشر متجه الاختبار والطريقة والنتيجة المجمعة وحالة الفقد وسجل التصحيح وتاريخ إعادة الفحص.

بهذا يتوزع الاختصاص بوضوح. يحدد مؤلفو RFC الفعل المطلوب. ينفذ المورّدون المحللات ويصلحونها. يختار المشغلون الإصدار والسياسة. ويقرر مشغلو خوادم المسارات ما الذي يعبر خدمتهم. أما دور LACNIC المشروع فهو حفظ حساب بحثي إقليمي واضح وتقديم طريقة يستطيع الممارسون تكرارها.

ما لا تثبته الأدلة

لا تقول المصادر إن LACNIC أنشأ UPDATE أو شغّل خادم مسارات متأثراً أو كان قادراً على وقف الواقعة. ولا تقدم تعداداً كاملاً للجلسات المتأثرة أو مستخدمين قيس أثرهم أو انقطاعاً عالمياً واحداً. كما لا تثبت إعداداً افتراضياً صالحاً لكل زمن ولكل منتج.

ولا تقلل الواقعة من RPKI داخل حدوده. يستطيع التحقق من المنشأ تقييم ما إذا كان زوج البادئة والمنشأ مغطى بتفويض صالح. لكنه لا يفحص سلامة كل خاصية اختيارية متعدية في رسالة BGP. دمج الوظيفتين سيحول مقياساً محدداً إلى وعد لا يستطيع الوفاء به.

الخبر، إذن، ليس فشل التشفير. الخبر أن وصفاً حديثاً لأمن التوجيه كشف موضعاً ما زال الدليل التشغيلي فيه محلياً ومشروطاً بالإصدار والإعداد. أعطانا LACNIC الأفعال الثلاثة؛ وينبغي للمنشور التالي أن يعطينا الشروط التي جعلت كل فعل صحيحاً.

Sources