رفتن به مطلب
بازگشایی انجمن! ×
GuardIran

پست های پیشنهاد شده

تکنیک HTTP Slow Post و حمله SYN/ACK flood

 

حملاتی که قصد آنها فقط و فقط جلوگیری از سرویس دهی می باشند را اصطلاحا DOS می گویند 

هر گاه این حملات به صورت توزیع شده و هماهنگ توسط زامبی ( کامپیوتر های قربانی ) اجرا شوند به آن DDOS ) distributed DOS ) می گویند.

 

در بسیاری از کتاب های مختلف و مقالات ارائه شده در کنفرانس های نفوذ گری سعی کرده اند برای آنها دسته بندی ای سازمان یافته در نظر بگیرند

و به آنها قالبی آکادمیک دهند ، اما باید اعتراف کرد که این دسته بندی ها اغلب حملات ریز شده ای هستند که در گروهان خود

فقط خودشان حضور دارند و زیر مجموعه ای برایشان یافت نمی شود . به همین دلیل ما در مورد این دسته بندی ها
فقط به DOS و DDOS بسنده می کنیم

 

حملات تکذیب سرویس تنها به جهت خراب کاری و قطع دسترسی نمی باشند ، برخی از آنها میتوانند کار بردهای عجیب دیگری را برایتان به ارمغان آورند :

 

زمانی که میخواهید یک سیستم نظر دهی را مختل کرده و نظر خود را در آن در بالاترین امتیاز قرار دهید

زمانی که میخواهید امتیاز سایت خود را در گوگل توسط حملات Black SEO بالا ببرید و در صفحه اول جستجو جای دهید ( البته بستگی به قوانین گوگل در هر بازه زمانی‌ دارد )

هر گاه که دست رسی به اخبار یک خبر گزاری ، دسترسی به پول مشتریان یک بانک ، به هم ریختن و یا کند کردن ترافیک یک کشور و ... را مد نظر قرار دهید
همواره در حال عملیات flooding ( جاری کردن سیل ) هستید .

 

هر گاه نقض پروتکلی رخ دهد و یا روشی که بتواند سیستم ای را درگیر خود کند ، پیدا کنید ، در اصل می توانید حملات DOS و یا DDOS انجام دهید

 

نام این تکنیک حمله در اصطلاح ، تکنیک HTTP Slow Post میباشد ، با استفاده از این روش حمله، عملاً درخواست هایی خاص
برای دریافت اطلاعات به سمت سرور ارسال می شود . این حمله نیز سال 2008 با استفاده از یکی از نقص های پروتکل HTTP کشف
و مورد سوء استفاده قرار گرفت . قبل از شروع با هم نگاهی به فرایند های انجام ارسال و دریافت درخواست بیاندازیم :

 

ارتباطات تحت وب، با استفاده از پروتکل های مختلفی امکان پذیر است که پر استفاده ترین پروتکل، پروتکل HTTP می باشد ، در
ارتباطات HTTP ، اطلاعاتی از سمت سرور به مشتری و بالعکس در قالب یک سری پیام ، ارسال می شود و در این میان پیام های
HTTP به دو دسته تقسیم می شود HTTP Request  که از طرف کلاینت به سرویس دهنده ارسال می شود و HTTP Response
ها که از طرف سرویس دهنده به مشتری ارسال می گردد  که آنها همگی در قالب یک پروتکل استاندارد با RFC 822

ارسال و دریافت می شوند

پیغام های ارسالی در قالب یک سری دستورات کنترل کننده به نام header ارسال می شوند

و در پاسخ نیز سرویس دهنده دستورات کنترلی مربوط به خودش را در درون header ها قرار می دهد و ارسال می کند

 

شکل کلی یک بسته HTTP به صورت زیر است :

 

This is the hidden content, please

 

با توجه به اطلاعات قرار داده شده در سرآیند ها ، سرویس دهنده و مشتری در مورد نحوۀ ادامه ارتباط با یکدیگر تصمیم خواهند
گرفت . یکی از فیلد های سرآیند که در هر دو نوع بسته های پیام HTTP در حالت موجود است، Content-Length می باشد . این
فیلد، مشخص کنندۀ طول اطلاعاتی است که در بدنۀ اصلی پیام قرار می گیرد. در حالت ارسال اطلاعات به صورت POST این
اطلاعات از طرف کلاینت مشخص شده ، و در همه حالات برگشت اطلاعات از سمت سرور این مقدار نشان دهنده مقدار اطلاعات
برگشتی است . در صورتی که طول این فیلد، بیشتر از طولی باشد که به عنوان حد اکثر طول پیام در نظر گرفته شده، گیرندۀ پیام، منتظر
می ماند تا ادامۀ پیام در بسته های بعدی دریافت شود . در طول زمان انتظار، نشستی که برقرار شده، به صورت باز باقی خواهد ماند .

 

نکتۀ قابل توجه در این نوع حمله، استفاده از ویژگی خودِ پروتکل http است.

در این حمله، سرآیند بسته های http که برای سرور ارسال می شود، به گونه ای تنظیم می شود که سرور همواره در حالت انتظار برای

دریافت ادامه اطلاعات باقی خواهد ماند. بدین ترتیب، میزان بار تحمیل شده به سرور، به مرور افزایش یافته

و علیرغم اینکه ترافیک خاصّی در شبکه مبادله نمی شود )بر عکس حملات DDOS که پهنای باند قربانی را مشغول کرده و ترافیک را در اصطلاح میخورند

( سیستم سرور به علّت افزایش بیش از حدّ ارتباطات کم سرعت، قادر به پاسخگویی به مشتریان واقعی نخواهد بود )

سرویس دهنده IIS به صورت پیش فرض یک مقدار مشخص از تعداد کانکشن ها را میتواند در لحظه پشتیبانی کند 

چون برای هر کدام از این Thread ها یا همان درخواست های موازی فرستاده شده ، یک مقدار CPU و RAM اختصاص میدهد .

در صورت پر شدن ظرفیت های سیستم ، دیگر قادر به پاسخ گویی به شما نیست

 

از دیدگاه فنی، این حمله با تنظیم فیلدِ Content-length در سرآیند بسته های HTTP Request انجام خواهد شد. بدین ترتیب
با تنظیم این فیلد به یک مقدار بسیار بزرگ ( مثلاً 1,000,000 بایت ) به سرور اعلام می کنیم که اطلاعاتی که قرار است به سرور ارسال
شود، حجم بالایی دارند. از طرفی پس از برقراری ارتباط و ارسال کامل بسته های HTTP Request اطلاعاتی که بنا بود به سرور
ارسال شود، در قالب چندین هزار بستۀ کوچک و با فاصلۀ زمانی نسبتاً زیاد ( هر 110 ثانیه 1 بایت ) از یکدیگر به سمت سرور ارسال

میشود. لازم به ذکر است که در این حمله، از شیوۀ POST برای برقراری ارتباط با سرور استفاده می شود. بدین ترتیب هر ارتباط کاملاً
پایدار بوده و دقیقاً مشابه زمانی است که یک کاربر قصد مرور اطلاعات سرور را از طریق خطوط کم سرعت Dial-Up داشته باشد .

 

این حمله در کنفرانس BlackHat سال 2011 به صورت کلی معرفی شد و نکتۀ حائز اهمیت در مورد آن، این است که این حمله

عملاً با سوء استفاده از خودِ پروتکلِ HTTP انجام می شود

 

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

 

حمله ای ساده و در عین حال عجیب که از ضعف ساختار پروتکل TCP/IP بهره می برد . زمانی که یک دست تکانی

3 مرحله ای در حال انجام است ، یک SYN از طرف ما و یک
SYN/ACK از سمت سرور به ما ارسال می شود

در این حالت اصطلاحا سرور منتظر می ماند تا دست تکانی انجام شود و ما یک بسته ACK به سمتش ارسال کنیم

در صورتی که ما این دست تکانی را 2 مرحله رها کنیم ، سرو connection را در حالت half-open
نگه می دارد و اگر تعداد این اتصال ها از مقدار مجاز تعریف شده بیشتر شود ، سرور دیگر
connection جدیدی را نمی پذیرد و عملا از سرویس دهی ساقط می گردد .

 

به این حمله اصطلاحا SYN/ACK flood می گویند ، حمله مشابه دیگری نیز وجود دارد که با نام SYN Flood که در آن فقط
بخش اول دست تکانی انجام می پذیرد ، با این وصف که IP استفاده شده در source IP جعلی می باشد . سرور بعد از ارسال بسته
ای که حاوی فلگ SYN از طرف یک آدرس جعلی است ، یک بسته SYN/ACK ار سال می کند ، اما در این حالت بسته به سمت
آدرس جعلی رفته و چون متعلق به او نیست حذف می شود

 

مشکلات ناشی از حملات در لایه TCP و لایه IP به همین جا ختم نمی شود ، به عنوان نمونه حمله ای موسوم به Land Attack

که در اصل آدرس مبدا و مقصد در سرآیند IP و پورت مبدا و مقصد در سرآیند TCP یکسان است . زمانی که قرار است دست تکانی با
بسته SYN انجام پذیرد ، سیستم عامل جواب بسته SYN را به خودش می دهد و در این حالت در یک loop گرفتار می شود

( بسیاری از روتر ها و سوئیچ های سیسکو که به درستی کانفیگ نشده اند ، در دام این حمله گرفتار می شوند )

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر


به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • ایجاد مورد جدید...