حملات DoS یکی از بزرگترین تهدیدها برای امنیت اطلاعات در اینترنت مدرن است. ده ها بات نت وجود دارد که مهاجمان برای انجام چنین حملاتی اجاره می دهند.
دانشمندان دانشگاه سن دیگو مطالعه تا چه حد استفاده از پراکسی ها به کاهش تأثیر منفی حملات DoS کمک می کند - ما به شما تزهای اصلی این کار را ارائه می دهیم.
مقدمه: پروکسی به عنوان یک ابزار مبارزه با DoS
آزمایش های مشابه به صورت دوره ای توسط محققان کشورهای مختلف انجام می شود، اما مشکل مشترک آنها کمبود منابع برای شبیه سازی حملات نزدیک به واقعیت است. تستهای روی نیمکتهای کوچک اجازه پاسخگویی به سوالاتی در مورد اینکه چگونه پراکسیها با موفقیت در برابر حمله در شبکههای پیچیده مقاومت میکنند، چه پارامترهایی نقش کلیدی در توانایی به حداقل رساندن آسیب دارند و غیره را نمیدهد.
برای این آزمایش، دانشمندان مدلی از یک برنامه وب معمولی را ایجاد کردند - به عنوان مثال، یک سرویس تجارت الکترونیک. با کمک خوشه ای از سرورها کار می کند، کاربران در مکان های جغرافیایی مختلف توزیع شده اند و از اینترنت برای دسترسی به این سرویس استفاده می کنند. در این مدل، اینترنت به عنوان وسیله ای برای ارتباط بین سرویس و کاربران عمل می کند - این روشی است که خدمات وب از موتورهای جستجو تا ابزارهای بانکداری آنلاین کار می کنند.
حملات DoS تعامل عادی بین سرویس و کاربران را غیرممکن می کند. دو نوع DoS وجود دارد: حملات لایه برنامه و حملات لایه زیرساخت. در مورد دوم، مهاجمان مستقیماً به شبکه و میزبان هایی که سرویس در آن اجرا می شود حمله می کنند (به عنوان مثال، کل پهنای باند شبکه را با ترافیک سیل پر می کنند). در مورد حمله در سطح برنامه، هدف مهاجم رابط تعامل کاربر است - برای این کار آنها تعداد زیادی درخواست ارسال می کنند تا باعث از کار افتادن برنامه شوند. آزمایش توصیف شده مربوط به حملات در سطح زیرساخت است.
شبکه های پراکسی یکی از ابزارهایی برای به حداقل رساندن آسیب ناشی از حملات DoS هستند. در صورت استفاده از پروکسی، تمامی درخواستهای کاربر به سرویس و پاسخها به آنها مستقیماً ارسال نمیشود، بلکه از طریق سرورهای میانی ارسال میشود. هم کاربر و هم برنامه به طور مستقیم یکدیگر را نمی بینند، فقط آدرس های پروکسی در دسترس آنها است. در نتیجه حمله مستقیم به برنامه غیرممکن است. در لبه شبکه به اصطلاح پروکسی های لبه وجود دارد - پراکسی های خارجی با آدرس های IP موجود، اتصال ابتدا به آنها می رود.
به منظور مقاومت موفقیت آمیز در برابر حمله DoS، یک شبکه پروکسی باید دو قابلیت کلیدی داشته باشد. اولاً ، چنین شبکه میانی باید نقش یک واسطه را بازی کند ، یعنی فقط از طریق آن می توانید به برنامه "از طریق" وارد شوید. این امر امکان حمله مستقیم به سرویس را از بین می برد. دوم، شبکه پروکسی باید بتواند به کاربران اجازه دهد که همچنان با برنامه تعامل داشته باشند، حتی در هنگام حمله.
شبیه سازی در محیط MicroGrid انجام شد - می توان از آن برای شبیه سازی شبکه ها با 20 هزار روتر استفاده کرد که قابل مقایسه با شبکه های اپراتورهای Tier-1 است.
یک شبکه معمولی Trinoo شامل مجموعهای از میزبانهای در معرض خطر است که دیمون برنامه را اجرا میکنند. همچنین نرم افزار نظارتی برای کنترل شبکه و مستقیم حملات DoS وجود دارد. با توجه به لیستی از آدرس های IP، شبح Trinoo بسته های UDP را در زمان مشخص شده به اهداف ارسال می کند.
در طول آزمایش از دو خوشه استفاده شد. شبیه ساز MicroGrid روی یک خوشه لینوکس Xeon از 16 گره (سرورهای 2.4 گیگاهرتز با 1 گیگابایت حافظه در هر دستگاه) اجرا می شود که از طریق یک هاب اترنت 1 گیگابیت بر ثانیه متصل شده اند. سایر اجزای نرم افزار در مجموعه ای از 24 گره (450 مگاهرتز PII لینوکس با 1 گیگابایت حافظه در هر دستگاه) قرار داشتند که توسط یک هاب اترنت 100 مگابیت بر ثانیه متصل شده بودند. دو خوشه توسط یک کانال 1Gbps به هم متصل شدند.
شبکه پروکسی در مجموعه ای از 1000 هاست میزبانی می شود. پراکسی های لبه به طور مساوی در سرتاسر مجموعه منابع توزیع شده اند. پراکسی های کار با برنامه روی هاست هایی قرار دارند که به زیرساخت آن نزدیک تر هستند. بقیه پراکسی ها به طور مساوی بین پراکسی های لبه و پراکسی های برنامه توزیع شده اند.
شبکه برای شبیه سازی
برای مطالعه اثربخشی یک پروکسی به عنوان ابزاری برای مقابله با حمله DoS، محققان بهرهوری برنامه را تحت سناریوهای مختلف تأثیرات خارجی اندازهگیری کردند. در مجموع، 192 پراکسی در شبکه پروکسی وجود داشت (64 نفر از آنها مرزی بودند). برای انجام این حمله، یک شبکه Trinoo شامل 100 شیطان ایجاد شد. هر کدام از دیمون ها یک کانال 100 مگابیت بر ثانیه داشتند. این مربوط به یک بات نت از 10 روتر خانگی است.
تأثیر یک حمله DoS بر روی برنامه و شبکه پراکسی اندازه گیری شد. در پیکربندی آزمایشی، برنامه دارای یک کانال اینترنتی 250 مگابیت بر ثانیه و هر پراکسی مرزی 100 مگابیت بر ثانیه بود.
نتایج آزمایش
با توجه به نتایج تجزیه و تحلیل، مشخص شد که حمله به 250 مگابیت در ثانیه زمان پاسخگویی برنامه را به طور قابل توجهی افزایش می دهد (حدود ده برابر)، در نتیجه استفاده از آن غیرممکن می شود. با این حال، هنگام استفاده از یک شبکه پروکسی، این حمله تأثیر قابل توجهی بر عملکرد ندارد و تجربه کاربر را کاهش نمی دهد. این به این دلیل است که پراکسیهای لبه تأثیر حمله را کاهش میدهند و کل منابع شبکه پراکسی بیشتر از منابع خود برنامه است.
طبق آمار، اگر قدرت حمله از 6.0 گیگابیت بر ثانیه تجاوز نکند (علیرغم این واقعیت که کل پهنای باند کانال های پراکسی مرزی تنها 6.4 گیگابیت در ثانیه است)، 95٪ از کاربران کاهش عملکرد قابل توجهی را تجربه نمی کنند. در عین حال، در مورد یک حمله بسیار قدرتمند بیش از 6.4 گیگابیت بر ثانیه، حتی استفاده از یک شبکه پراکسی اجازه نمی دهد تا از کاهش سطح خدمات برای کاربران نهایی جلوگیری شود.
در مورد حملات متمرکز، زمانی که قدرت آنها بر روی یک مجموعه تصادفی از پراکسی های لبه متمرکز می شود. در این حالت، حمله بخشی از شبکه پروکسی را مسدود می کند، بنابراین بخش قابل توجهی از کاربران متوجه کاهش عملکرد خواهند شد.
یافته ها
نتایج آزمایش نشان میدهد که شبکههای پراکسی میتوانند عملکرد برنامههای TCP را بهبود بخشند و سطحی از خدمات آشنا را برای کاربران فراهم کنند، حتی در صورت حملات DoS. با توجه به داده های به دست آمده، پراکسی های شبکه یک راه موثر برای به حداقل رساندن عواقب حملات هستند، بیش از 90٪ از کاربران در طول آزمایش کاهش کیفیت سرویس را احساس نکردند. علاوه بر این، محققان دریافتند که با افزایش اندازه شبکه پروکسی، مقیاس حملات DoS که می تواند تحمل کند تقریباً به صورت خطی افزایش می یابد. بنابراین، هر چه شبکه بزرگتر باشد، به طور موثرتری با DoS مقابله خواهد کرد.