حمله Slowloris چیست و چطور باید با آن مقابله کرد؟

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

نحوه عملکرد حمله Slowloris

تصویر(۱)

حمله Slowloris چیست؟

Slowloris نوعی حمله DoS است که با ارسال درخواست‌های ناقص HTTP به یک سرور هدف، تلاش می‌کند آن را از کار بیندازد. در نتیجه، سرور با جریان آهسته و مداومی از ترافیک ناقص تحت فشار قرار می‌گیرد. این حمله با ارسال حجم زیادی از درخواست‌های ناقص، از محدود بودن تعداد اتصالات سرور سوءاستفاده کرده و در نهایت باعث از کار افتادن کامل سرور می‌شود.

ویژگی کلیدی حمله Slowloris این است که با پهنای باند بسیار کم انجام می‌شود و می‌تواند برای مدت طولانی ادامه داشته باشد. همین موضوع باعث می‌شود شناسایی و مقابله با آن دشوار گردد و خسارت زیادی به همراه داشته باشد. تجربه نشان داده که این حمله به‌خصوص در برابر نرم‌افزارهای وب‌سرور مانند Apache 1.x و ۲.x بسیار مؤثر بوده است.

تاریخچه و تکامل حمله Slowloris

حمله Slowloris نخستین‌بار در سال ۲۰۰۹ معرفی شد؛ زمانی که پژوهشگر امنیتی Robert “RSnake” Hansen آن را به‌عنوان یک اثبات مفهومی توسعه داد تا ضعف مهم در نحوه پردازش اتصالات HTTP توسط سرورها را نشان دهد. این حمله با هدف ایجاد روشی «آهسته و کم‌تنش» برای از کار انداختن سرورها طراحی شد و در مقایسه با حملات سنتی DDoS به پهنای باند بسیار کمتری نیاز داشت. نکته جالب این است که نام Slowloris از نوعی حیوان بومی آسیا گرفته شده که حرکات آهسته اما مداومی دارد و در نهایت کار را به نتیجه می‌رساند.

در ابتدا حمله اسلولوریس برای نسخه‌های قدیمی‌تر وب‌سرور Apache بسیار مخرب بود زیرا این سرورها در مدیریت تعداد بالای اتصال ناقص، مشکل داشتند. مصرف کم منابع و ماهیت پنهانی آن باعث شد که هم هکرهای کلاه‌سفید و هم مهاجمان مخرب از آن استفاده کنند. با گذشت زمان، جامعه امنیت سایبری راهکارهایی جهت مقابله با این حمله از جمله افزایش timeout اتصال‌ها، اعمال محدودیت برای تعداد درخواست‌ها و استفاده از فایروال‌های تحت وب توسعه داد.

با تکامل فناوری سرورها، اثربخشی این حمله روی سیستم‌های مدرن و مقاوم کاهش یافت. با این حال، Slowloris همچنان برای سرورهای قدیمی یا بروزرسانی‌نشده تهدیدی جدی محسوب می شود و نشان می‌دهد که همواره به امنیت قوی در سطح سرور نیاز است.

چرا حملات Slowloris خطرناک هستند؟

حملات Slowloris به‌سختی شناسایی می‌شوند زیرا به‌جای ارسال بسته‌های خراب، بسته‌های ناقص می‌فرستند. این موضوع زمانی پیچیده‌تر می‌شود که مهاجم از یک شبکه دستگاه های آلوده برای راه‌اندازی حمله Slowloris DDoS استفاده کند. در چنین شرایطی، سیستم‌های سنتی تشخیص نفوذ کارایی چندانی جهت شناسایی این نوع حمله ندارند. علاوه بر این، اگر حمله Slowloris برای مدت طولانی شناسایی نشود، می‌تواند آسیب زیادی وارد کند.

مهم‌ترین دلایل خطرناک بودن حملات Slowloris عبارتند از:

  • پنهان بودن: به‌دلیل مصرف پایین پهنای باند و تحلیل تدریجی منابع سرور، شناسایی آن دشوار است.
  • ماندگاری: این حملات می‌توانند برای مدت طولانی ادامه داشته باشند و مقابله با آنها دشوارتر از دیگر انواع DDoS است.
  • اختلال جدی: حملات Slowloris می‌توانند با ایجاد کندی، خرابی یا از بین بردن داده‌ها، عملکرد یک وب‌سایت یا سرور را مختل کنند.
  • مصرف بالای منابع: دفاع در برابر این حمله نیازمند استفاده گسترده از منابع سرور می باشد که ممکن است به کاهش بازدهی یا حتی از کار افتادن کامل منجر شود.
  • تأثیر گسترده: این حملات نه تنها سرور یا وب‌سایت هدف را تحت تأثیر قرار می‌دهند بلکه کاربران و مشتریان آن نیز با کندی، خطا یا قطع دسترسی مواجه می‌شوند.

حمله Slowloris چگونه کار می‌کند؟

حمله Slowloris با ارسال حجم زیادی از درخواست‌های ناقص HTTP به وب‌سرور هدف عمل می‌کند و مهاجم سایبری هرگز این درخواست‌ها را کامل نخواهد کرد. سرور هدف این اتصالات را باز نگه می‌دارد و منتظر دریافت اطلاعات باقیمانده خواهد ماند. با گذشت زمان، افزایش تعداد این اتصالات باز باعث مصرف منابع سرور می‌شود تا جایی که سرور دیگر توانایی پردازش درخواست‌های واقعی را نداشته باشد. در این مرحله، حمله DoS رخ داده و سرور کند، بی‌پاسخ یا حتی دچار خرابی می‌شود.

حمله اسلولوریس معمولاً در ۴ مرحله اصلی اجرا می‌گردد:

  1. ایجاد اتصالات متعدد: مهاجم با ارسال چندین هدر ناقص HTTP، اتصالات مختلفی به سرور هدف باز می‌کند.
  2. رشته‌های (Threads) سرور: سرور هدف برای هر اتصال ورودی یک Thread باز کرده و برنامه‌ریزی می‌کند که پس از تکمیل اتصال، آن را ببندد. اگر مدت زمان یک اتصال خیلی طولانی شود، سرور معمولا آن را برای آزادسازی رشته‌، می بندد.
  3. فعال نگه داشتن اتصال‌ها: برای جلوگیری از Timeout، مهاجم به‌طور دوره‌ای هدرهای ناقص دیگری می‌فرستد تا اتصال باز بماند. در واقع به سرور این پیام را می‌دهد: “من هنوز اینجا هستم و فقط کُندم. لطفاً منتظر بمان!”
  4. مصرف منابع: سرور هدف نمی‌تواند اتصالات ناقص را تا زمانی که کامل نشده‌اند ببندد. وقتی تمام رشته‌های موجود اشغال شوند، سرور دیگر امکان پاسخگویی به درخواست‌های واقعی را نخواهد داشت و حمله DoS رخ می‌دهد.

مزیت اصلی حمله Slowloris این است که می‌تواند با مصرف پهنای باند بسیار کم، خسارت قابل‌توجهی وارد کند.

محافظت در برابر حمله Slowloris

تصویر(۲)

نشانه‌های حمله Slowloris

همانطور که از نام آن مشخص است، حمله Slowloris آرام و مرحله‌به‌مرحله عمل می‌کند. در این حمله، درخواست‌های ناقص HTTP به وب‌سرور هدف ارسال می‌شوند اما هرگز تکمیل نخواهند شد. در نتیجه، سرور دائما و به امید اینکه درخواست‌ها کامل شوند، اتصالات جدیدی باز می‌کند. با گذشت زمان، ظرفیت سرور پر می‌شود و دیگر جایی برای پردازش درخواست‌های واقعی باقی نمی‌ماند. در وب‌سایت‌هایی با ترافیک بالا، ممکن است بیشتر زمان ببرد تا Slowloris کنترل کامل پیدا کند اما در نهایت تمام درخواست‌های معتبر مسدود خواهند شد.

برخی نشانه‌های حمله Slowloris عبارتند از:

  • کُندی عملکرد وب‌سایت: وب‌سایت ممکن است ناگهان کند یا از دسترس شود.
  • افزایش مصرف منابع سرور: مشاهده جهش ناگهانی در مصرف منابعی مانند CPU یا memory می‌تواند نشانه حمله باشد.
  • پیغام‌های خطا: دریافت خطاهایی مانند ۵۰۴ Gateway Timeout یا ۴۰۳ Forbidden می‌تواند علامت حمله Slowloris باشد.
  • افزایش غیرمنتظره ترافیک: اگر ترافیک ورودی بدون دلیل منطقی افزایش یابد، احتمال حمله وجود دارد.
  • پیغام‌های قطع اتصال (Connection Reset): دریافت این پیام‌ها ممکن است نشان دهد که مهاجم در حال ایجاد اختلال روی اتصالات وب‌سایت می باشد.

بنابراین نظارت مداوم روی عملکرد وب‌سایت و سرور بسیار حیاتی است. اگر کوچک‌ترین نشانه‌ای از حمله مشاهده شود، باید سریعاً اقدام نمود زیرا شناسایی و واکنش زودهنگام نقشی اساسی در کاهش اثر حمله Slowloris دارد.

چگونه می‌توان از خود در برابر حمله Slowloris محافظت کرد؟

برای محافظت در برابر حمله Slowloris و کاهش خطر آن، استفاده از چندین روش امنیتی ضروری است. برخی راهکارهای مؤثر عبارتند از:

  • افزایش محدودیت اتصالات مجاز سرور: با افزایش محدودیت تعداد اتصالات باز، می‌توان احتمال آسیب‌پذیری در برابر Slowloris را کاهش داد. در این صورت، مهاجم مجبور می‌شود تعداد بسیار بیشتری اتصال باز کند تا بتواند سرور را تحت فشار قرار دهد.

  • پیاده‌سازی Rate Limiting: با محدود کردن دسترسی بر اساس الگوهای استفاده، می‌توان از حمله Slowloris جلوگیری کرد. برای مثال می توان به محدود کردن تعداد اتصالات مجاز از یک IP، مدت‌زمان اتصال کاربر یا سرعت انتقال داده اشاره نمود.

  • استفاده از Load Balancer: تکنیک‌های Load balancing می‌توانند اتصالات را مدیریت کنند و مانع از تاثیرگذاری درخواست‌های ناقص روی اپلیکیشن‌ها و وب‌سرورها شوند.

  • بهره‌گیری از WAF: فایروال‌های تحت وب می‌توانند حملات اپلیکیشنی مانند Slowloris را شناسایی و پیش از رسیدن به شبکه مسدود کنند.
  • فعال‌سازی سرویس‌های محافظت در برابر DDoS: این سرویس‌ها یک لایه امنیتی اضافی فراهم می‌کنند و ترافیک مخرب را قبل از رسیدن به وب‌سایت متوقف می‌سازند.
  • مانیتورینگ مداوم ترافیک شبکه: نظارت پیوسته می‌تواند به شناسایی زودهنگام حملات کمک کرده و امکان واکنش سریع را فراهم نماید.
  • بروزرسانی منظم سیستم‌ها: نصب آخرین پچ‌های امنیتی برای مقابله با سوءاستفاده مهاجمان از آسیب‌پذیری‌های شناخته‌شده ضروری است.
  • ارتقاء نرم‌افزار وب‌سرور: با آپدیت مداوم وب‌سرور، آسیب‌پذیری‌های امنیتی برطرف می‌شوند و مهاجمان شانس کمتری برای نفوذ خواهند داشت.

نمونه‌ پیکربندی برای وب‌سرورهای رایج

موثرترین راه دفاع در برابر حمله Slowloris، پیکربندی دقیق وب‌سرور می باشد. در ادامه نمونه‌هایی برای وب‌سرورهای پرکاربرد آورده شده است:

Apache:

  • باید ماژول mod_reqtimeout فعال گردد تا زمان‌بندی مشخصی برای هدرها و بدنه درخواست‌ها تعیین شود.
    مثال:
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
  • همچنین استفاده از mod_evasive یا یک reverse proxy (منظور از Reverse Proxy نوعی پروکسی سرور است که منابع مورد نیاز را از یک یا چند سرور مختلف دریافت کرده و در اختیار کاربر قرار می‌دهد) پیشنهاد می‌شود تا اتصالات مکرر از یک آی‌پی محدود شوند.

Nginx:

  • تنظیم تایم‌اوت برای بستن اتصالاتی که به مدت طولانی باز می‌مانند:
client_header_timeout 10s;
client_body_timeout 10s;
send_timeout 30s;
  • محدود کردن کلاینت‌های کند با:
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 10;

IIS (Windows Server):

  • به کار بردن Dynamic IP Restrictions برای محدود کردن تعداد درخواست‌های همزمان از یک IP.
  • تغییر مقدار connectionTimeout در فایل applicationHost.config به منظور جلوگیری از باز نگه‌داشتن طولانی‌مدت رشته‌ها.

تفاوت حمله Slowloris و HTTP Flood

تصویر(۳)

تفاوت حمله HTTP Flood و حمله Slowloris

در ادامه با تفاوت حمله Slowloris و HTTP Flood آشنا خواهید شد:

حمله HTTP Flood:

  • مکانیزم: در این نوع حمله، سرور با حجم بسیار زیادی از درخواست‌های HTTP اشباع می‌شود. مهاجم درخواست‌های کامل و ظاهراً معتبر را با سرعت بالا ارسال می‌کند تا منابع سرور تمام شود و سرویس برای کاربران واقعی از دسترس خارج گردد.
  • هدف: توانایی سرور در پردازش و پاسخ به درخواست‌ها.
  • شدت و سرعت: این حملات معمولاً پر حجم و سریع هستند و در زمان کوتاهی منابع سرور را اشغال می‌کنند.

حمله Slowloris:

  • مکانیزم: در این حمله، مهاجم تعداد زیادی درخواست ناقص ارسال می‌کند و آنها را باز نگه می‌دارد. او با ارسال تدریجی یا تکراری هدرها، هیچ‌وقت درخواست را کامل نمی‌کند. سرور در انتظار تکمیل این درخواست‌ها باقی مانده و تمام اتصالات را باز نگه می‌دارد. این ارجاعات به تدریج ظرفیت سرور را پر می کنند.
  • هدف: این حمله به‌طور مشخص اتصالات سرور را هدف قرار می‌دهد و از این واقعیت که اتصالات همزمان وب‌سرورها محدود هستند، سوءاستفاده می‌کند.
  • شدت و سرعت: این حملات کم‌سرعت و تدریجی هستند. به حجم زیادی از ترافیک نیاز ندارند و همین موضوع باعث می‌شود شناسایی آنها دشوار باشد.

به طور خلاصه، هر دو حمله HTTP Flood و Slowloris با هدف از دسترس خارج کردن سرویس‌ها انجام می‌شوند اما روش اجرای آنها متفاوت است.
HTTP Flood با حجم انبوه درخواست‌های کامل، سرور را از کار می‌اندازد، در حالی که Slowloris با اتصالات ناقص و طولانی‌مدت باعث اختلال در سرور می‌شود.

مقایسه حمله Slowloris با SYN Flood و Ping of Death

در امنیت سایبری، درک تفاوت روش‌های مختلف حمله اهمیت زیادی دارد. Slowloris به دلیل رویکرد خاص خود، با دیگر حملات DoS متفاوت می باشد. در ادامه یک مقایسه ساده آورده شده است:

حمله Slowloris:

  • روش اجرا: ارسال آرام و مداوم درخواست‌های ناقص HTTP برای باز نگه داشتن اتصالات.
  • مصرف پهنای باند: بسیار کم و پنهان‌کارانه.
  • تشخیص: دشوار است زیرا مشابه ترافیک واقعی به نظر می‌رسد.
  • نقاط ضعف هدف: مؤثر روی وب‌سرورهایی که در مدیریت اتصالات همزمان (مانند نسخه‌های قدیمی Apache) ظرفیت محدودی دارند.

حمله SYN Flood:

  • روش اجرا: ارسال متوالی درخواست‌های SYN (مرحله اول هندشیک TCP) بدون تکمیل فرآیند.
  • مصرف پهنای باند: بالاتر از Slowloris است زیرا در زمانی کوتاه، تعداد زیادی درخواست فرستاده می‌شود.
  • تشخیص: به‌دلیل جهش غیرمعمول در تعداد اتصالات نیمه‌باز و افزایش ناگهانی اتصالات ناقص، امکان شناسایی آن نسبتاً بیشتر است.
  • نقاط ضعف هدف: توان سرور در مدیریت تعداد زیاد اتصالات جدید.

حمله Ping of Death:

  • روش اجرا: ارسال بسته‌های معیوب یا بیش‌ازحد بزرگ توسط پروتکل ICMP که می‌تواند سرور را قطع یا بی‌ثبات کند.
  • مصرف پهنای باند: متغیر اما اغلب به دلیل اندازه غیرعادی بسته‌ها، بالا است.
  • تشخیص: به دلیل الگوی غیرعادی بسته‌ها، نسبتاً آسان می باشد.
  • نقاط ضعف هدف: روی سیستم‌هایی که در مدیریت بسته‌های غیر استاندارد مشکل دارند تاثیر خواهد داشت.

به‌طور خلاصه، حمله Slowloris رویکردی مخفیانه و کم‌مصرف در پهنای باند دارد اما روش‌هایی مانند SYN Flood و Ping of Death بیشتر بر پایه ایجاد فشار شدید و استفاده حداکثری از منابع عمل می‌کنند. درک این تفاوت‌ها به مدیران سیستم کمک می‌کند تا راهکارهای دفاعی متناسب با هر نوع از این تهدیدات سایبری را طراحی و پیاده‌سازی کنند.

نمونه ای از حملات Slowloris

تصویر(۴)

نمونه‌های واقعی از حملات Slowloris

حملات Slowloris در چندین حادثه مهم نقش داشته‌اند و نشان داده‌اند که در صورت هدف قرار دادن سیستم‌های آسیب‌پذیر، توانایی ایجاد اختلال گسترده دارند.

  • سال ۲۰۰۹: در دوره‌ای از تنش‌های سیاسی، ایران کشور ایالات متحده را متهم کرد که از حملات Slowloris علیه وب‌سایت‌های دولتی استفاده کرده است. این حملات که چندین هفته ادامه داشت، باعث اختلال شدید در سرویس‌های آنلاین کلیدی شد و مانع از دسترسی به منابع و ارتباطات حیاتی گردید.

  • سال ۲۰۱۱: گروه هکری LulzSec مدعی شد که حمله Slowloris را برای هدف قرار دادن وب‌سایت عمومی CIA اجرا کرده است. هرچند هیچ سیستم محرمانه‌ای آسیب ندید اما وب‌سایت برای چندین ساعت از دسترس خارج شد. این اتفاق نشان داد که حتی سازمان‌های بزرگ و حساس نیز می‌توانند در برابر چنین حملاتی آسیب‌پذیر باشند.

  • سال ۲۰۱۸: گروهی از هکرها با نام MoneyTaker reportedly حمله هماهنگ Slowloris را علیه چندین بانک روسیه انجام دادند. این حمله باعث شد وب‌سایت‌های بانک‌ها موقتاً از دسترس خارج شوند، مشتریان امکان استفاده نداشته باشند و در نهایت اعتبار بانک‌ها خدشه‌دار شود. این رویداد نشان داد که حملات Slowloris می‌توانند پیامدهای مالی و عملیاتی سنگینی به‌ویژه در حوزه بانکداری داشته باشند.

جمع‌بندی

حمله Slowloris نوع خطرناکی از DoS است که با ارسال تعداد زیادی درخواست ناقص HTTP به سرور هدف، باعث کندی، خرابی یا حتی از دست رفتن داده‌ها می‌شود. این حمله به‌سختی قابل شناسایی است و می‌تواند برای مدت طولانی ادامه پیدا کند؛ به همین دلیل بسیار مؤثر و مخرب محسوب می‌شود.

برای مقابله با آن، ضروری است که عملکرد و مصرف منابع وب‌سایت به‌طور مداوم پایش شود و اقدامات حفاظتی مانند فایروال‌ها و سرویس‌های محافظت در برابر DDoS پیاده‌سازی گردند. با این کار می‌توان حضور آنلاین را امن نگه داشت و از اختلال در دسترسی به وب‌سایت جلوگیری کرد.

دیدگاه‌ خود را بنویسید

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

اسکرول به بالا