امروزه حملات DoS / DDoS یکی از چالشهای مهم دنیای امنیت میباشد که گاهی نیز منجر به عدم دسترسی به سرویسهای پرمخاطب اینترنت گردیده است. محققان شرکت امنیتی TDC Security Operations Center اخیراً روش جدیدی از حملات DDoS را بنام BlackNurse شناسایی کردهاند که با کمترین امکانات سخت افزاری، حتی قویترین فایروالهای سختافزاری را تحت تاثیر قرار میگیرند.
این حمله DDoS با ارسال متعدد بسته های کوچک ICMP (معروف به ICMP Flooding) به سمت فایروالها پیاده سازی شده که این موضوع باعث ایجاد سربار اضافی برای فایروال و فشار مضاعف بر CPU فایروال مربوطه گردیده و در برخی موارد باعث از کارافتادگی آن میشود. در نظر داشتهباشید که بطور کلی پروتکل ICMP یکی از ابزارهایی هست که در بستر اینترنت جهت اشکال زدایی، خطایابی در کامپیوترها، روترها و بطور کلی بررسی وجود ارتباط بین تجهیزات شبکه بکار میرود.
این نوع حمله، عموماً فایروالهای شرکتهای مختلف را که قبلاً در مقابل Ping Flood Attack آسیب پذیر بوده اند مورد هدف قرار میدهد.
بر اساس نتایج محققان امنیت، این نوع حمله بر پایه ICMP Type 3 Code 3 – Port unreachable بوده و حتی با استفاده از 15 تا 20 مگابیت پهنای باند، میتواند باعث کاهش کیفیت دسترسیپذیری در شبکه (Throughput) گردد. شایان ذکر است زمانی که کاربران اجازه ارسال در خواست های ICMP Type 3 Code 3 را از طریق اینترفیس خروجی به دنیای اینترنت داشته باشند این نوع حمله می تواند بسیار موثر باشد. اطلاعات بیشتر در مورد نوع و کدهای پروتکل ICMP را می توانید از این لینک دریافت کنید.
اشاره به این مورد خالی از لطف نیست که بر اساس استاندارهای مختلف مانند RFC1191 و RFC1981، برخی از انواع بسته های ICMP میبایست در شبکهها مجاز باشند، لذا نباید تمام درخواست های ICMP را در شبکه بلاک کرد. بعنوان مثال شرایطی را تصویر کنید که با جلوگیری از تمام بسته های ICMP حتی نمیتوان با ابزار سادهی Ping از عملکرد سیستم های شبکه آگاهی پیدا کرد که این امر ممکن است باعث سردرگمی مدیران و یا تیم پشتیبانی شبکه گردد (این مطلب را فراموش نکنید).
نکتهی حائر اهمیت دیگر در چنین شرایطی، Log گرفتن یا ارسال Log برای تمام ترافیکی پردازششده توسط دیوارهی آتش هست که باعث افزایش CPU Utilization شده و موجب کندیِ پردازش ترافیک توسط فایروال و کاهش سرویسدهی در شبکه میگردد.
بررسیهای انجام شده نشان میدهمد که فایروالهایی که از یک CPU جهت پردازش ترافیک ورودی/خروجی اسفاده میکنند در مقابل این حمله شکنندهتر از سایر فایروال ها هستند.
چگونگی تشخیص حمله DDoS از نوع BlackNurse
تجهیزات IDS/IPS عموماً به محض تایید شدن نوعی از حمله بطور ساعتی یا روزانه بروزرسانی میگردند. همچنین در سیستم Snort میتوان با استفاده از اسکریپت زیر، این نوع حملات DDoS را شناسایی کرد:
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"TDC-SOC – Possible BlackNurse attack from external source "; itype:3; icode:3; detection_filter:track by_dst, count 250, seconds 1; reference:url, soc.tdc.dk/blacknurse/blacknurse.pdf; metadata:TDC-SOC-CERT,18032016; priority:3; sid:88000012; rev:1;) alert icmp $HOME_NET any -> $EXTERNAL_NET any (msg:"TDC-SOC – Possible BlackNurse attack from internal source"; itype:3; icode:3; detection_filter:track by_dst, count 250, seconds 1; reference:url, soc.tdc.dk/blacknurse/blacknurse.pdf; metadata:TDC-SOC-CERT,18032016; priority:3; sid:88000013; rev:1;)
محافظت از حملات DDoS از نوع BlackNurse
پیشنهاد شرکت TDC جلوگیری از ارسال پیام های ICMP Type 3 بر روی پورت خروجی فایروال میباشد. البته بهترین پیشنهاد جهت جلوگیری از این حمله، در کنار بروزرسانی برنامهریزی شده نرمافزار و سیستمعامل تجهیزات، محدود نمودن سرعت تصاعدی بسته های ICMP میباشد (Rate Limiting).
در صفحهی اصلی BlackNurse میتوانید لیست سیستمهای آسیبپذیر و سیستمهای مقاوم در برابر این حمله و همینطور آمار تستِ این حمله روی برخی از این سیستمها را بررسی کنید.
همچنین گزارش گروه امنیتی TDC از این لینک قابل مطالعه هست.
سلام
در مورد نحوه استفاده از اسکریپت Snort میشه بیشتر توضیح بدین؟
با سلام خدمت شما دوست گرامی
در مورد نرم افزار Snort که یک سیستم تشخیص نفوذ هست میشه گفت بعد از نصب یک سری Rule یا قانون داره که شما میتونید با توجه به نوع حملاتی که به شبکتون میشه اون رو پیکره بندی کنید.در مورد اسکریپتی که در مقاله ذکر شده باید بجای متغیر هایی که بعنوان EXTERNAL_NET$ و HOME_NET$ آورده شده شبکه خارجی و داخلی خودتون رو بهش معرفی کنید.در بدنه اسکریپت زمان رخ دادن حملات BlackNurse پیامی مبنی بر این رخداد در زمان لاگ برداری توسط Snort در خروجی چاپ خواهد شد.