تم العثور على ثلاث ثغرات أمنية في حزم Linux TCP تؤدي إلى رفض الخدمة عن بُعد

تحطم لينكس

مؤخرا صدر الخبر بشأن تحديد العديد من نقاط الضعف الحرجة في مكدسات Linux TCP و FreeBSD ذلك يسمح للمهاجم ببدء فشل kernel عن بعد أو التسبب في استهلاك مفرط للموارد من خلال معالجة حزم TCP المعدة خصيصًا (حزمة الموت).

تحدث المشاكل بسبب أخطاء في معالجات الحجم الأقصى لكتلة البيانات في حزمة TCP (MSS ، الحد الأقصى لحجم المقطع) وآلية التعرف على الاتصال الانتقائي (SACK ، التعرف الانتقائي على TCP).

ما هو الاعتراف الانتقائي؟

التعرف الانتقائي على TCP (SACK) إنها آلية حيث يمكن لمتلقي البيانات إبلاغ المرسل بجميع المقاطع التي تم قبولها بنجاح.

هذا يسمح للمرسل بإعادة إرسال مقاطع التدفق المفقودة من مجموعته "المعروفة". عندما يتم تعطيل TCP SACK ، يلزم وجود مجموعة أكبر من عمليات إعادة الإرسال لإعادة إرسال تسلسل كامل.

في Linux kernel ، تم إصلاح المشكلات في الإصدارات 4.4.182 و 4.9.182 و 4.14.127 و 4.19.52 و 5.1.11. حل FreeBSD متاح في شكل رقعة.

تم إصدار تحديثات حزمة Kernel لـ Debian و RHEL و SUSE / openSUSE و ALT و Ubuntu و Fedora و Arch Linux.

CVE-2019-11477 (كيس الذعر)

المشكلة يتجلى في نواة لينكس اعتبارًا من 2.6.29 ويسمح لك بتحطيم النواة (الذعر) عند إرسال سلسلة من حزم SACK بسبب تجاوز عدد صحيح في وحدة التحكم.

بالنسبة للهجوم ، يكفي تعيين قيمة MSS إلى 48 بايت لاتصال TCP وإرسال سلسلة من حزم SACK المرتبة بطريقة معينة.

جوهر المشكلة هو أن الهيكل tcp_skb_cb (المخزن المؤقت للمقبس) مصممة لتخزين 17 شظية ("حدد MAX_SKB_FRAGS (65536 / PAGE_SIZE + 1) => 17").

في عملية إرسال الحزمة ، يتم وضعها في قائمة انتظار الإرسال ويقوم tcp_skb_cb بتخزين تفاصيل حول الحزمة ، مثل رقم التسلسل ، والعلامات ، بالإضافة إلى حقلي "tcp_gso_segs" و "tcp_gso_size" ، والتي تستخدم للإرسال معلومات التجزئة إلى وحدة التحكم (TSO ، تنزيل المقطع المقطع) لمعالجة المقاطع على جانب بطاقة الشبكة.

يتم حفظ القطع عند فقدان الحزمة أو الحاجة إلى إعادة إرسال الحزمة الانتقائي ، إذا تم تمكين SACK وكان TSO مدعومًا من قبل السائق.

كحل بديل للحماية ، يمكنك تعطيل معالجة SACK أو حظر الاتصالات باستخدام MSS صغير (يعمل فقط عندما تقوم بتعيين sysctl net.ipv4.tcp_mtu_probing على 0 وقد ينكسر بعضًا طبيعيًا مع انخفاض MSS).

CVE-2019-11478 (كيس بطيء)

هذا الفشل يتسبب في مقاطعة آلية SACK (عند استخدام Linux kernel في 4.15) أو الاستهلاك المفرط للموارد.

تتجلى المشكلة عند معالجة حزم SACK المصممة خصيصًا والتي يمكن استخدامها لتجزئة قائمة انتظار إعادة الإرسال (إعادة إرسال TCP). تتشابه حلول الحماية مع نقاط الضعف السابقة

CVE-2019-5599 (كيس بطيء)

يسمح بالتسبب في تجزئة خريطة الحزم المرسلة عند معالجة تسلسل SACK ضمن اتصال TCP واحد وتسبب في تشغيل عملية بحث قائمة كثيفة الموارد.

تتجلى المشكلة في FreeBSD 12 مع آلية الكشف عن فقدان حزم RACK. كحل بديل ، يمكنك تعطيل وحدة RACK (غير محملة افتراضيًا ، معطلة بتحديد sysctl net.inet.tcp.functions_default = freebsd)

CVE-2019-11479

يسمح الخلل للمهاجم بجعل نواة Linux تقسم الردود إلى مقاطع TCP متعددة ، يحتوي كل منها على 8 بايت فقط من البيانات ، مما قد يؤدي إلى زيادة كبيرة في حركة المرور وزيادة حمل وحدة المعالجة المركزية وقناة اتصال مسدودة.

بالإضافة إلى ذلك ، فإنه يستهلك موارد إضافية (طاقة المعالج وبطاقة الشبكة).

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

أثناء تقدم هذا الهجوم ، سيعمل النظام بسعة منخفضة ، مما يتسبب في رفض الخدمة لبعض المستخدمين.

يمكن للمستخدم البعيد تشغيل هذه المشكلة عن طريق تعيين الحد الأقصى لحجم المقطع (MSS) لاتصال TCP بأدنى حد له (48 بايت) وإرسال سلسلة من حزم SACK المصممة خصيصًا.

كحل بديل ، يوصى بحظر الاتصالات ذات MSS المنخفضة.


كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.