الملخص

  • كانت RFC 793 تقبل في الحالات المتزامنة حزمة RST إذا وقع رقم تسلسلها داخل نافذة الاستقبال؛ حصرت RFC 5961 الإغلاق الفوري في التطابق الدقيق مع RCV.NXT.
  • إذا وقع RST داخل النافذة من دون تطابق دقيق، يرسل المستقبل challenge ACK ثم يسقط الحزمة. يستطيع الطرف الحقيقي تقديم تأكيد نابع من حالته، بينما لا يرى المرسل الأعمى السؤال عادةً.

بدأ الخلل من استخدام اختبار واحد لمنح صلاحيتين مختلفتين. صُممت نافذة الاستقبال لتحديد ما إذا كانت البايتات قد تنتمي إلى التدفق. لكن قاعدة RFC 793 الأصلية جعلت هذا الاحتمال نفسه كافياً لمسح حالة الاتصال كلها عند رفع علم RST. ولم يكن المهاجم خارج المسار بحاجة إلى رؤية الرزم؛ كان يمكنه تجربة أرقام تسلسل إلى أن يصيب نقطة داخل النافذة.

لم تضف RFC 5961، الصادرة عام 2010، تشفيراً إلى TCP. بل قسمت القرار إلى ثلاث حالات. تُسقط حزمة RST الواقعة خارج النافذة بصمت. وإذا ساوى رقمها البايت التالي المتوقع RCV.NXT تماماً، يُعاد ضبط الاتصال. أما الحزمة الواقعة داخل النافذة من دون مساواة دقيقة، فيرد عليها المستقبل بإقرار يحمل SEQ=SND.NXT وACK=RCV.NXT، ثم يسقطها ويواصل معالجة ما يأتي بعدها.

سُمّي الرد «إقرار تحدٍ» لأنه يحول الادعاء إلى سؤال عن الحالة. إذا كان الطرف البعيد قد أغلق فعلاً أو أعاد التشغيل ولم يعد يحتفظ بكتلة التحكم القديمة، فقد يدفعه الإقرار إلى إرسال RST جديد مشتق من رقم الإقرار. ويمكن لهذا الرد الثاني أن يطابق ما يتوقعه الطرف الباقي بدقة. أما من يحقن الرزم من دون رؤية المسار فلا يشاهد التحدي عادةً، ولا يستطيع تحويل تخمين تقريبي إلى جواب دقيق.

هنا تكمن قيمة التغيير التاريخية: فصل القبول المحتمل عن سلطة التنفيذ. وجود الرقم داخل النافذة يبرر الرد، لكنه لا يبرر انتقالاً لا رجعة فيه. ظهر بين التجاهل والتدمير فعل ثالث يحافظ على الحالة مؤقتاً ويطلب دليلاً متسقاً مع حالة الطرف المقابل.

تطبق RFC 5961 المنطق نفسه على SYN غير المتوقع بعد تزامن الاتصال. تُرسل challenge ACK بصرف النظر عن رقم تسلسل SYN، ثم يتوقف التعامل مع الحزمة. تؤدي SYN المزورة غالباً إلى ACK إضافي يعامله الطرف المستقر بوصفه تكراراً. أما الطرف الذي أعيد تشغيله حقاً فقد فقد الحالة القديمة، ويستطيع أن يجيب بطريقة تؤكد انتهاء الاتصال السابق.

للدفاع حدود صريحة. فهو لا يثبت الهوية تشفيرياً ولا يمنع مهاجماً على المسار يستطيع رؤية أرقام التسلسل والإقرار. وتذكر الوثيقة حالة نادرة يعاد فيها استخدام العنوان والمنفذ ويُختار رقم ابتدائي بعينه مصادفةً. الآلية ترفع كلفة الهجوم الأعمى، لكنها لا تجعل TCP بروتوكول مصادقة.

كما تختلف قوة التوصيات. توصي الوثيقة بتخفيف هجمات RST وSYN، بينما تجعل فحص نطاق ACK الأضيق لمقاومة حقن البيانات اختيارياً. وتبقى RFC 9293 المواصفة الأساسية الحالية لـTCP، مع الإشارة إلى RFC 5961 بوصفها تعزيزاً للمتانة. وهكذا يظل الإصلاح طبقة ظاهرة فوق العقد القديم، لا محواً للتاريخ.

المصادر الأولية