استفاده‌ی مهاجمان از UPnP برای دورزدن دفاع عليه حملات DDoS

شنبه ۲۹ اردیبهشت ۱۳۹۷
مهاجمان از پروتکل‌های شبکه‌ای Universal Plug and Play (UPnP) برای دورزدن روش‌های مقابله با حملات تقویتی DDoS استفاده می‌کنند.
مرکز آپا شریف
SUT-APA-LOGO

مهاجمان از پروتکل‌های شبکه‌ای Universal Plug and Play (UPnP) برای دورزدن روش‌های مقابله با حملات تقویتی DDoS استفاده می‌کنند.
UPnP مجموعه‌ای از استانداردهای جهانی برای اتصال سریع‌تر و راحت‌تر دستگاه‌های دیجیتال بی‌سیم یا سیمی به‌منظور رد و بدل کردن اطلاعات با یکدیگر است. در اثبات ادعای حمله‌ی انکار سرویس توزیعی (DDoS)، محققان Imperva روشی برای سوءاستفاده از پروتکل UPnP به‌منظور دورزدن روش‌های مقابله و انجام حملات تقویتی DDoS، طراحی کرده‌اند.
اثبات ادعای Imperva ریشه در تجزیه و تحلیل آن‌ها از حملات DDoS مبتنی بر انعکاس سال 2017 که برای افزایش تأثیراتشان از پروتکل‌های مختلفی سوءاستفاده می‌کردند، دارد. برای مثال، حملات DDoS مبتنی بر تقویت پروتکل Network Time یک سوم حملاتی است که Imperva در تجزیه و تحلیل خود استفاده کرده است. تقویت مبتنی بر انعکاس بااستفاده از کارگزارهای Domain Name System و پروتکل Simple Service Discovery (SSDP) همگی در تجزیه و تحلیل Imperva ارایه شده‌اند (یک سوم دیگر حملات را نشان می‌دهند).
برای عاملان حمله، بردارهای تقویت‌کننده میانبری برای راه‌اندازی حملات با پهنای باند سنگین بدون نیاز به منابع بات‌نت به همان بزرگی پیشنهاد می‌دهند. از دیدگاه مقابله، این حملات، تهدیدات جدی نیستند، زیرا اکثر خدمات مقابله‌ با نقطه‌ای که پهنای باند حمله جای نگرانی ندارد، مقیاس می‌شوند.
مقابله با این نوع حملات عادی شده است. به همین دلیل محققان از حملات تقویتی SSDP غیرمتعارفی که در ماه آوریل روی داد، غافلگیر نشدند. آن‌ها متوجه شدند که درصد مشخصی از خرابکاری‌های SSDP (گاهی اوقات تا 12درصد)، از درگاه منبعی غیرمنتظره وارد شده است نه از درگاه UDP/1900.
SSDP پروتکلی است که دستگاه‌های UPnP برای اشتراک داده‌ها بااستفاده از پروتکل دیتاگرام کاربر (یک پروتکل کنترل انتقال جایگزین) بر پورت 1900 استفاده می‌کنند. در تلاش برای افزایش حملات ماه آوریل، محققان Imperva یک روش حمله‌ی جدید متحد UPnP ایجاد کردند که می‌تواند برای مبهم‌ساختن اطلاعات درگاه منبع برای هر نوع خرابکاری تقویت‌شده، از جمله حملات SSDP، DNS و NTP استفاده شود؛ البته نمی‌توان مطمئن بود که دیگر بردارهای تقویت (به عنوان مثال، Memcached) نیز درست کار نکنند.
در ماه مارس، GitHub متحمل یک حمله‌ی عظیم به میزان 1.3 ترابیت در هر ثانیه (Tbps) ترافیک پایدار به مدت هشت دقیقه شد. در این حمله، مهاجمان از تکنیک تقویت Memcached استفاده کرده بودند.
توصیف ساده‌ای از اثبات ادعای UPnP شامل استفاده از موتور جستجوی Shodan برای یافتن دستگاه‌های دروازه‌ی UPnP قابل سوءاستفاده و یک فایل مرتبط با UPnP به نام rootDesc.xml است. تمامی دستگاه و خدمات موجود UPnP در rootDesc.xml فهرست شده‌اند.
هنگامی که مهاجم فایل rootDesc.xml را شناسایی کرد، می‌تواند از آن برای تعیین اقداماتی که دستگاه به صورت از راه دور خواهد پذیرفت، استفاده کند. یکی از این اقدامات، AddPortMapping است. AddPortMapping دستوری است که برای پیکربندی قوانین ارسال (forward) درگاه استفاده می‌شود.
به گفته‌ی محققان، بااستفاده از طرح درون فایل، یک درخواست SOAP (Simple Object Access یک پروتکل پیام‌رسانی برای تبادل اطلاعات ساختاریافته در پیاده‌سازی سرویس‌های وب در شبکه‌های رایانه‌ای است.) می‌تواند برای ایجاد یک قانون ارسال ساخته شود. این قانون ارسال، تمامی بسته‌‌های UDP فرستاده‌شده به درگاه 1337 یک کارگزار DNS خارجی (3.3.3.3) را از طریق درگاه UDP/53 مجدداً تعیین مسیر می‌کند.
این نوع ارسال درگاه، به مهاجم DDoS اجازه می‌دهد تا یک درخواست DNS را بر روی یک درگاه (UDP/1337) ارسال کند و سپس آن را به یک DNS resolver بر روی درگاه مقصد (UDP/53) پروکسی کند. DNS resolver بر روی درگاه منبع UDP/53 به دستگاه پاسخ می‌دهد. سپس دستگاه، پاسخ DNS را به درخواست‌کننده‌ی اصلی بازمی‌گرداند؛ البته نه پیش از آنکه درگاه منبع را دوباره به UDP/1337 تغییر دهد.
همین برای اثبات ادعای فرضیه‌ی محققان کافی است. البته در سناریوی حمله‌ی واقعی، درخواست DNS اولیه از IP جعلی قربانی صادر می‌شود، یعنی پاسخ به قربانی بازگردانده می‌شود.
Imperva ادعا می‌کند اثبات ادعایش باید متخصصین امنیتی را وادارد که برای مقابله با حملات تقویتی مجدداً فکری بکنند.