وجود نقص در پیاده سازی HTTP/2، وبسایت ها را درمعرض حمله DoS قرار می دهد

پیاده سازی های متنوعی از HTTP / 2، آخرین نسخه پروتکل شبکه HTTP، آسیب پذیر شناخته شدهاند که این آسیب پذیری های متعدد بر محبوب ترین نرم افزارهای وب سرور از جمله Apache ، IIS و NGINX تاثیر میگذارند.
پروتکل HTTP/2 در سال ۲۰۱۵ به منظور امنیت بیشتر و تجربه ی آنلاین بهتر طراحی شد و اکنون در حدود ۴۰ درصد از وبسایت های اینترنتی از این پروتکل استفاده می کند.
در مجموع هشت آسیب پذیری HTTP / 2 با درجه اهمیت بالا وجود دارد که هفت مورد توسط Jonathan Looney از نتفلیکس و یک مورد توسط Piotr Sikora از گوگل کشف شده است که دلیل آن، resource exhaustion، موقع هندل کردن یک ورودی مخرب می باشد، که به کلاینت اجازه میدهد تا یک کد، مدیریت صف سرور را بارگذاری( overload) کند.
از این آسیب پذیری ها میتوان برای شروع حملات Denial of Service (DoS) علیه میلیونها سرویس آنلاین و وب سایتهایی که بر روی یک وب سرور آسیب پذیر با ساختار HTTP / 2 در حال اجرا هستند، استفاده کرد و آنها را به صورت آفلاین و غیرفعال درآورد.
به زبان ساده، سناریوی حمله بدین شکل است که یک کلاینت مخرب از سرور آسیب پذیر هدف، درخواست انجام کاری که نیازمند برگرداندن پاسخ(response) باشد، میکند و سپس کلاینت پاسخ را نمیپذیرد و سرور مجبور می شود برای پردازش درخواست، از حافظه و CPU بیش از حد استفاده کند.
“نتفلیکس در مقالهای که روز سه شنبه منتشر شد توضیح می دهد:” این نقص ها در تعداد کمی از نشستهای مخرب با پهنای باند کم، از اتصالات مشارکت کنندگان برای انجام کارهای اضافی، جلوگیری میکنند. این حملات منابع را مصرف و تمام میکنند، به طوری که سایر اتصالات یا فرآیندهای موجود در همان دستگاه نیز ممکن است تحت تأثیر قرار گرفته یا خراب شوند. ”
بیشتر آسیب پذیری های ذکر شده در زیر در لایه انتقال HTTP / 2 کار می کنند:
- CVE-2019-9511 — HTTP/2 “Data Dribble”
- CVE-2019-9512 — HTTP/2 “Ping Flood”
- CVE-2019-9513 — HTTP/2 “Resource Loop”
- CVE-2019-9514 — HTTP/2 “Reset Flood”
- CVE-2019-9515 — HTTP/2 “Settings Flood”
- CVE-2019-9516 — HTTP/2 “0-Length Headers Leak”
- CVE-2017-9517 — HTTP/2 “Internal Data Buffering”
- CVE-2019-9518 — HTTP/2 “Request Data/Header Flood”
با این حال، باید توجه داشت که از این آسیب پذیری ها فقط میتوان برای ایجاد یک وضعیت DoS استفاده کرد، و به مهاجمان اجازه داده نمیشود که محرمانگی یا یکپارچگی داده های موجود در سرورهای آسیب پذیر را به خطر بیاندازند.
تیم امنیتی Netflix، که برای افشای نقص HTTP / 2 با مرکز هماهنگی Google و CERT همکاری داشتند، در ماه مه ۲۰۱۹، هفت مورد از هشت آسیب پذیری را در چند سرور HTTP / 2 کشف کردند و به هر یک از فروشندگان و نگهدارندگان تحت تأثیر، گزارش کردند.
طبق CERT ، فروشندگان تحت تأثیر شامل NGINX, Apache, H2O, Nghttp2, Microsoft (IIS), Cloudflare, Akamai, Apple (SwiftNIO), Amazon, Facebook (Proxygen), Node.js, and Envoy proxy هستند، که بسیاری از آنها قبلاً نکات امنیتی و مشاوره ای را منتشر کرده اند.
نظرات کاربران