در ادامه معرفی حملات DDoS قصد داریم متود جدیدی از حملات DDoS با عنوان TCP FIN Flood را مورد بررسی قرار دهیم؛ این نوع حملات همانطور که مشخص است مبتنی بر یک ارتباط TCP به همراه بیت های FIN فعال است؛ روش عملکرد این نوع حمله DDoS مشابه حملات قبلی است که در آنها پکت های TCP بدون ایجاد یک اتصال TCP و بی هدف ارسال می شوند.
قبل از شروع معرفی باید با مراحل سه گانه اتصال TCP آشنا شوید:
اول کلاینت یک بسته SYN به سرور می فرستد.
دوم سرور یک بسته SYN ACK به کلاینت می فرستد.
سوم کلاینت یک بسته ACK به سرور می فرستد.
هنگامی که این سه مرحله به اتمام برسد یک ارتباط مشروع و قانونی بین سرور و کلاینت برقرار می شود که می توانند به تبادل اطلاعات بپردازند. حمله TCP FIN Flood پکت های زیادی به صورت TCP ارسال می کند که شامل بیت های FIN فعال است؛ این نوع حمله بسیار شبیه حملات DDoS ACK Flood می باشد.
اول اجازه دهید یک حمله TCP FIN Flood را برای شما به تصویر بکشیم، این حمله دیداس TCP FIN Flood جعلی بر روی آی پی فرضی 10.100.101.102 و بر روی پورت 80 در حال انجام است.
18:23:05.758116 00:25:90:7b:14:b4 > 00:00:0c:07:ac:00, ethertype IPv4 (0x0800), length 54: 243.223.35.196.1189 > 10.100.101.102.80: Flags [F], seq 291345328, win 512, length 0 0x0000: 4500 0028 07da 0000 4006 fd2f f3df 23c4 E..(….@../..#. 0x0010: 4814 160f 0b57 0050 115d 93b0 7c0b bafa H….W.P.]..|… 0x0020: 5001 0200 5062 0000 P…Pb.. 18:23:06.758161 00:25:90:7b:14:b4 > 00:00:0c:07:ac:00, ethertype IPv4 (0x0800), length 54: 240.215.77.241.2904 > 10.100.101.102.80: Flags [F], seq 625995225, win 512, length 0 0x0000: 4500 0028 0ef2 0000 4006 cef2 f0d7 4df1 E..(….@…..M. 0x0010: 4814 160f 0b58 0050 254f edd9 3320 3c74 H….X.P%O..3. 00:00:0c:07:ac:00, ethertype IPv4 (0x0800), length 54: 227.145.56.197.2602 > 10.100.101.102.80: Flags [F], seq 109721345, win 512, length 0 0x0000: 4500 0028 a3d4 0000 4006 5c82 e391 38c5 E..(….@.\…8. 0x0010: 4814 160f 0b59 0050 068a 3701 0f1f ea83 H….Y.P..7….. 0x0020: 5001 0200 f092 0000 P……. 18:23:08.758254 00:25:90:7b:14:b4 > 00:00:0c:07:ac:00, ethertype IPv4 (0x0800), length 54: 161.243.44.92.1988 > 10.100.101.102.80: Flags [F], seq 509639743, win 512, length 0 0x0000: 4500 0028 b9ca 0000 4006 9493 a1f3 2c5c E..(….@…..,\ 0x0010: 4814 160f 0b5a 0050 1e60 7c3f 4861 e86a H….Z.P.`|?Ha.j 0x0020: 5001 0200 aa5b 0000 P….[.. 18:23:09.758299 00:25:90:7b:14:b4 > 00:00:0c:07:ac:00, ethertype IPv4 (0x0800), length 54: 176.194.145.35.3456 > 10.100.101.102.80: Flags [F], seq 2119169564, win 512, length 0 0x0000: 4500 0028 bfca 0000 4006 1afd b0c2 9123 E..(….@……# 0x0010: 4814 160f 0b5b 0050 7e4f f61c 3e62 852c H….[.P~O..>b., 0x0020: 5001 0200 ca34 0000 P….4..
عبارت [F.] نشان دهنده یک پکت FIN است.
ساخت یک TCP session برای برقراری یک اتصال TCP در سرور ضروری است و اگر یک session برای یک ارتباط آی پی های مبدا/مقصد وجود نداشته باشد پکت های ارسالی توسط سرور دریافت نخواهند شد.
در خصوص یک پکت TCP FIN ؛ سرور با RST (reset) packet به کلاینت پاسخ ارسال می کند که هنوز ارتباطی ایجاد نکرده است و پکت پذیرفته نمی شود.
در یک حمله TCP FIN اتکر با تعداد زیادی آی پی جعلی پکت هایی را به سرور قربانی ارسال می کند و زمانی که پکت ها به سرور می رسند سرور مجبور می شود به تمامی آی پی های جعلی یک RST packet ارسال نماید تا به آنها بگوید که هیچ کانکشن TCP صورت نپذیرفته است.
این پکت ها نیاز به پروسس در سرور دارند؛ حتی اگر قرار باشد سرور به آنها پاسخ دهد که هیچ کانکشنی ایجاد نشده است و پکت ها نا معتبر است! بنابر این حجم بالای این پکت ها می توانند منابع سرور را به صورت جدی درگیر نماید؛ تشخیص و مهار آن دشوار است.
سلام عالی بود