الخلاصة

  • حمل FEP رزمة IP كاملة في جسم HTTP، وفكّها مضيف متعاون داخل الجدار الناري ثم أدخلها إلى مكدس البروتوكولات لديه.
  • أثبت عبور اتصال HTTP قبول الناقل الخارجي فقط؛ ولم يثبت الإذن بالعناوين أو المنافذ أو التطبيق أو المستخدم أو الحقن أو النتيجة الداخلية.

رأى الجدار الناري الغلاف

انطلقت الوثيقة من صدام بين الابتكار عند الأطراف والتحكم داخل المسار. قد يعمل تطبيق جديد بين مضيفين، لكنه يعجز عن عبور جدار المؤسسة لأن بروتوكوله لا يطابق القواعد القائمة. دفعت RFC 3093 الرد إلى حدود السخرية: إذا كان HTTP يعبر عادة، فيمكن لأي رزمة أن ترتدي شكله.

كان المسار محدداً. يسلّم المضيف الخارجي رزمة TCP/IP إلى FEP، فيضعها البرنامج داخل رسالة HTTP ويرسلها عبر الطريق العادي. يستخرج برنامج داخلي البايتات، ويعيد بناء رزمة IP، ويدخلها إلى المكدس المحمي كأن الجدار غير موجود.

لكن ما رآه الجدار كان الجلسة الخارجية. احتفظت الرزمة الداخلية بمصدرها ووجهتها وطبقة النقل وغرضها. قرار السماح بالوسيلة لم ينتقل بذاته إلى ما تحمله.

صار المتعاون الداخلي نقطة سلطة

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

تحكم مشغل الجدار في الاتصال الخارجي. وتحكم مشغل المضيف في تشغيل FEP وامتياز الحقن. واختار المستخدم التطبيق، بينما قرر التنفيذ كيف يفسر البايتات. لا يثبت أي فعل منفرد أن المؤسسة أجازت السلوك المركب.

لذلك لا يصف سجل «HTTP مقبول» التدفق الخفي. واستلام الرسالة عند النفق لا يثبت الحقن؛ والحقن لا يثبت قبول مقبس؛ وقبول المقبس لا يثبت معالجة التطبيق أو حدوث أثر خارجي.

كانت الترويسات المقروءة نسخاً

وجدت رزمة IP الكاملة في جسم HTTP. ونسخ FEP أيضاً حقول TCP وحقول IP الاختيارية إلى ترويسات مقروءة: منافذ عشرية، وحروف كبيرة للدلالة على الاستعجال، ومدة بعبارة، ومصدر ظاهري على هيئة اسم نطاق.

أقرت RFC نفسها بأن هذه النسخ للقراءة فقط لأن الجسم يحمل الرزمة كاملة. لذا لم يوثّق TCP_Dport الظاهر الوجهة الحقيقية. وقد تختلف النسختان، فيلزم أن يحدد التنفيذ أيهما يحكم إعادة البناء، وأن يتحقق من الحدود ويطبق السياسة قبل أي حقن.

كما أن إرسال الرزم في GET أو رد GET استعمل شكلاً مألوفاً. لم يحوّل ذلك الرزمة إلى طلب ويب عادي. كان HTTP سطحاً يستطيع الوسيط التعرف عليه. وأظهر التصميم أن التعرف على البنية لا يساوي التعرف على القصد.

أبقت السخرية مشكلة تشغيلية حقيقية

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

ناقشت RFC 2775 تراجع الشفافية، وRFC 2979 سلوك الجدران، وسجلت RFC 2663 و3027 و3234 أثر NAT والأجهزة الوسيطة. تفاوض SOCKS5 صراحة مع بوابة وأتاح أساليب مصادقة. هذه سياقات مجاورة، ولا تثبت تنفيذ FEP.

النتيجة محدودة: يستطيع الجدار أن يسمح بـ HTTP على نحو صحيح ويبقى صامتاً عن معنى الداخل. إثبات التحكم يحتاج إلى تعريف نقطة النفق ومصادقتها، وتقييد الرزم والوجهات، وتسجيل الحقن، ومراقبة التطبيق. نجاح طبقة لا يملأ سجلات الطبقات الأخرى.

المصادر

  1. https://www.rfc-editor.org/info/rfc3093
  2. https://www.rfc-editor.org/rfc/rfc3093.html
  3. https://www.rfc-editor.org/rfc/rfc3093.txt
  4. https://datatracker.ietf.org/doc/rfc3093/
  5. https://www.rfc-editor.org/errata/rfc3093
  6. https://www.rfc-editor.org/rfc/rfc2775.html
  7. https://www.rfc-editor.org/rfc/rfc2979.html
  8. https://www.rfc-editor.org/rfc/rfc3234.html
  9. https://www.rfc-editor.org/rfc/rfc2663.html
  10. https://www.rfc-editor.org/rfc/rfc3027.html
  11. https://www.rfc-editor.org/rfc/rfc1928.html
  12. https://www.rfc-editor.org/rfc/rfc2616.html
  13. https://www.rfc-editor.org/rfc/rfc793.html
  14. https://www.rfc-editor.org/rfc/rfc791.html
  15. https://www.rfc-editor.org/rfc/rfc2119.html