سه آسیب پذیری در پشته های TCP Linux وجود دارد که منجر به انکار سرویس از راه دور می شود

سقوط لینوکس

Recientemente اخبار مربوط به شناسایی چندین آسیب پذیری مهم در پشته های TCP Linux را منتشر کرد و FreeBSD که به یک مهاجم اجازه می دهد تا از راه دور خرابی هسته را شروع کند یا با پردازش بسته های ویژه TCP (بسته مرگ) باعث مصرف بیش از حد منابع شود.

مشکلات ناشی از خطاهای موجود در دسته های حداکثر اندازه بلوک داده است در بسته TCP (MSS ، حداکثر اندازه قطعه) و سازوکار تشخیص اتصال انتخابی (SACK ، تشخیص انتخابی TCP).

تشخیص انتخابی چیست؟

تشخیص انتخابی TCP (SACK) این مکانیزمی است که گیرنده داده می تواند فرستنده را در مورد تمام بخشهایی که با موفقیت پذیرفته شده اند مطلع سازد.

این به فرستنده اجازه می دهد تا بخشهای جریان از دست رفته را دوباره انتقال دهد از مجموعه "شناخته شده" او. وقتی TCP SACK غیرفعال شود ، برای انتقال مجدد یک دنباله کامل ، مجموعه بسیار بیشتری از انتقال مجدد مورد نیاز است.

در هسته لینوکس ، مشکلات موجود در نسخه های 4.4.182 ، 4.9.182 ، 4.14.127 ، 4.19.52 و 5.1.11 برطرف شده است. راه حل FreeBSD به صورت پچ در دسترس است.

به روزرسانی های بسته هسته برای دبیان ، RHEL ، SUSE / openSUSE ، ALT ، اوبونتو ، فدورا و آرچ لینوکس منتشر می شود.

CVE-2019-11477 (SCK Panic)

مشکل از 2.6.29 در هسته های لینوکس خود را نشان می دهد و به شما امکان می دهد هسته را خراب کنید (وحشت) هنگام ارسال مجموعه ای از بسته های SACK به دلیل سرریز عدد صحیح در کنترل کننده.

برای یک حمله کافی است که مقدار MSS را برای اتصال TCP روی 48 بایت تنظیم کنید و ارسال دنباله ای از بسته های SACK مرتب شده به روشی خاص.

اصل مسئله این است که ساختار tcp_skb_cb (بافر سوکت) برای ذخیره 17 قطعه طراحی شده است ("MAX_SKB_FRAGS را تعریف کنید (65536 / PAGE_SIZE + 1) => 17").

در فرآیند ارسال یک بسته ، آن در صف ارسال قرار می گیرد و tcp_skb_cb جزئیات بسته را ذخیره می کند ، مانند شماره دنباله ، پرچم ها و همچنین قسمت های "tcp_gso_segs" و "tcp_gso_size" ، که برای ارسال استفاده می شود اطلاعات تقسیم بندی به کنترل کننده (TSO ، Segment Segment Download) برای پردازش بخشها در سمت کارت شبکه.

اگر SACK فعال باشد و TSO توسط درایور پشتیبانی شود ، قطعات در صورت از دست رفتن بسته یا نیاز به انتقال مجدد بسته انتخابی ، ذخیره می شوند.

به عنوان یک راه حل برای محافظت ، می توانید پردازش SACK را غیرفعال کنید یا ارتباطات را با یک MSS کوچک مسدود کنید (فقط زمانی کار می کند که sysctl net.ipv4.tcp_mtu_probing را روی 0 تنظیم کنید و ممکن است مقداری طبیعی خراب شود) با MSS کم)

CVE-2019-11478 (کندی SACK)

این شکست باعث قطع مکانیسم SACK می شود (هنگام استفاده از هسته لینوکس در 4.15) یا مصرف بیش از حد منابع.

این مشکل هنگام پردازش بسته های ویژه SACK ساخته شده است که می تواند برای تقسیم صف انتقال مجدد (انتقال مجدد TCP) استفاده شود. راه حل های محافظت مشابه آسیب پذیری های قبلی است

CVE-2019-5599 (کندی SACK)

اجازه می دهد تا باعث تکه تکه شدن نقشه بسته ارسال شده هنگام پردازش یک دنباله SACK شود در یک اتصال TCP منفرد و باعث می شود که یک عملیات جستجوی لیست گسترده انجام شود.

این مسئله در FreeBSD 12 با مکانیزم تشخیص از دست دادن بسته RACK خود را نشان می دهد. به عنوان یک راه حل می توانید ماژول RACK را غیرفعال کنید (به طور پیش فرض بارگیری نمی شود ، با مشخص کردن sysctl net.inet.tcp.functions_default = freebsd غیرفعال می شود)

CVE-2019-11479

این نقص به یک مهاجم اجازه می دهد تا هسته لینوکس پاسخها را به چندین بخش TCP تقسیم کند ، هر کدام فقط شامل 8 بایت داده است که می تواند منجر به افزایش قابل توجهی در ترافیک ، افزایش بار CPU و گرفتگی کانال ارتباطی شود.

علاوه بر این ، منابع اضافی را نیز مصرف می کند (قدرت پردازنده و کارت شبکه).

این حمله به تلاش مداوم مهاجم نیاز دارد و پس از توقف ارسال ترافیک توسط مهاجم ، این حملات پایان می یابد.

در حالی که این حمله در حال انجام است ، سیستم با کاهش ظرفیت کار می کند و باعث عدم پذیرش سرویس برای برخی از کاربران می شود.

یک کاربر از راه دور می تواند با تنظیم حداکثر اندازه بخش ، این مشکل را برانگیزد (MSS) اتصال TCP در کمترین حد خود (48 بایت) و ارسال دنباله ای از بسته های SACK ساخته شده مخصوص.

به عنوان یک راه حل ، توصیه می شود اتصالات با MSS پایین را مسدود کنید.


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.