فرض کنید در یک حمله سایبری درخواست های متعددی به سمت سرور ارسال شده و سبب اختلال و عدم ارائه خدمات به کاربران می شود. این امر یک تهدید سایبری به نام SYN flood است. حمله SYN flood از پروتکل پایه handshake استفاده می کند که کامپیوترها برای ارتباط و گفتگو با یکدیگر آن را به کار می گیرند. البته در دنیای امنیت سایبری برای مقابله با این نوع حملات، راهکارهای هوشمندانه ای وجود دارد.
تصویر(1)
تاریخچه حمله SYN flood
در دهه 1990، مردی به نام ویتسه ونما، یک روش خاص حمله با نام SYN Flood را به صورت کامل توضیح داد. در این نوع حمله، هکر با ارسال مکرر درخواستهای TCP SYN، سعی خواهد کرد تا سرور هدف را از دسترس خارج کند.
حمله SYN flood
حمله SYN flood، مبتنی بر TCP/IP است و نوعی حمله DDoS به شمار می رود. حمله سیلاب را مانند یک شخص مزاحم در نظر بگیرید که دائما در حال شماره گیری تلفن یک شرکت است، تا خط را اشغال کند و سبب جلوگیری از برقراری تماس های واقعی گردد. در این نوع حمله، هکر با استفاده از یک یا چند آدرس IP جعلی، سیلی از درخواستهای SYN را به سرور موردنظر ارسال میکند. هدف این حمله توقف عملکرد سرور است. در حمله SYN flood، سرور با پاسخگویی به اتصالاتی که در واقعیت وجود ندارند یا Half-Open (نیمه باز) هستند، در یک حلقه نامحدود از پاسخها درگیر می شود. بدین ترتیب، سرور نمی تواند به درخواست های ورودی جدید پاسخ صحیح ارائه دهد و در نهایت عملکرد خوبی نخواهد داشت.
نحوه عملکرد حمله SYN flood
در حمله SYN flood، هکر دائما از پروتکل TCP handshake استفاده می نماید تا عملکرد سرور را مختل کند. پروتکل TCP handshake شامل چند مرحله است که در ادامه مقاله به بررسی آنها پرداخته می شود.
تصویر(2)
مرحله اول: شناسایی هدف
در ابتدا، هکر هدف خود را مشخص میکند. معمولاً، هدف آنها یک سایت یا اپلیکیشن است که در یک سرور خاص میزبانی می شود.
مرحله دوم: شروع درخواستهای SYN
در این مرحله، هکر با تولید تعداد زیادی از بستههای SYN، شروع به ایجاد مشکل میکند. هر بسته به سرور اجازه میدهد تا یک اتصال مجازی برقرار نماید.
مرحله سوم: اتصالات Half-Open
در این وضعیت، اتصال بین سرور و کلاینت با دریافت درخواست SYN از سمت کلاینت و ارسال پاسخ SYN-ACK (تاییدیه) توسط سرور، برقرار میشود. در این حالت، اتصال هنوز تکمیل نشده و سرور در انتظار دریافت ACK نهایی از سمت مشتری قرار دارد تا اتصال را به طور کامل برقرار کند.
مرحله چهارم: پاسخ سرور
در این مرحله، هکر سرور را نادیده میگیرد و هیچ گاه پاسخ ACK نهایی را برای تکمیل handshake ارسال نمیکند. به همین دلیل، صف وظایف نیمه کاره (backlog) سرور با handshake های ناقص پر خواهد شد.
تصویر(3)
مرحله پنجم: هدر دادن منابع
هر بار که سرور یک اتصال half-open را دریافت میکند، بخشی از منابع خود را به آن اتصال اختصاص میدهد. اگر تعداد اتصالات نیمه باز بیش از حد مجاز باشد و صف backlog سرور پر شود، منابع هدر می رود و ممکن است سرور عملکرد مناسبی نداشته باشد.
مرحله ششم: حملات Dos (عدم توانایی ارائه خدمات)
در این مرحله، سرور توانایی پذیرش اتصالات جدید را ندارد. در نتیجه کاربران واقعی که برای برقراری اتصال تلاش می کنند با زمانهای انتظار طولانی یا حتی شکست مواجه میشوند.
راهکار هایی برای کاهش حملات SYN flood
برای کاهش اثرات ناشی از حملات SYN Flood، می توانید استراتژیهای مختلفی در نظر بگیرید. در ادامه مقاله به بررسی چندین راهکار برای کنترل حملات SYN Flood پرداخته می شود.
کوکی های SYN
استفاده از کوکی های SYN به عنوان یک روش کارآمد برای کاهش خطرات حمله SYN flood است. کوکی های SYN به سرور کمک میکنند تا در صورت دریافت درخواستهای جدید، ابتدا منابع خود را به آنها اختصاص ندهد.
محدود سازی نرخ (Rate limiting)
یک راهکار مناسب دیگر، اعمال محدودیت نرخ روی بستههای SYN ورودی است. با تنظیم یک آستانه سخت برای تعداد اتصالات جدید مجاز در هر واحد زمان، سرور میتواند به طور موثر تلاشهای غیرمجاز برای حمله پروتکل SYN را در مرحله ابتدایی کاهش دهد.
حفاظت در برابر حملات DDoS
افزودن حفاظت در برابر حملات DDoS، یک استراتژی پیشرفته و ضروری است. راهکارها و استراتژیهای آن، علاوه بر ایمن سازی سرور در مقابل حمله SYN flood، از تهدیدات DDoS نیز محافظت می کند.
Anycast DNS
Anycast DNS به عنوان یک لایه دفاعی ارزشمند عمل میکند. Anycast DNS با توزیع ترافیک ورودی بین چند مرکز داده، مصرف منابع هر سرور را به حداقل میرساند. استفاده از Anycast DNS، به طور موثر حملات SYN flood را کاهش می دهد.
Anycast DNS به عنوان یک ابزار اضافی برای حفاظت سیستم در برابر حملات DDoS عمل میکند.
متعادل کننده بار قوی
استفاده از Load Balancing (فرآیندی است که با هدف بهبود عملکرد کلی پردازش، وظایف مختلف را روی مجموعهای از منابع توزیع میکند) های با ظرفیت بالا میتواند به طرز چشمگیری ظرفیت سیستم شما در مدیریت حجم عظیمی از درخواستهای اتصال را بهبود بخشد. Load Balancing های با ظرفیت بالا میتوانند توانایی شبکه شما در مقابله با حملات SYN flood را تقویت کنند.
خدمات مانیتورینگ
سرویسهای مانیتورینگ سریعا الگوها، فعالیتها و عملکرد شبکه را ردیابی و بررسی کرده و امکان تشخیص زودهنگام تهدیدات یا حملات احتمالی را فراهم میکنند. این خدمات قادر به بررسی سلامت سرور، عملکرد شبکه و الگوهای ترافیک هستند. در نتیجه، میتوانند مشکلات و اختلال سرورها که ناشی از حمله SYN flood است را شناسایی نموده و هشدار دهند.
قوانین فایروال
تغییر تنظیمات فایروال میتواند بسیار مفید باشد. در واقع با تنظیم قوانین در فایروال، میتوانید محدودیتهایی را برای درخواستهای ورودی از یک آدرس IP خاص اعمال کنید. به عنوان مثال، اگر آدرس IP مورد نظر در یک بازه زمانی کوتاه درخواست های SYN بیش از حد تعیین شده ارسال کند، فایروال بتواند درخواستهای ورودی از آن آدرس IP را مسدود نماید.
تصویر(4)
عواقب عدم حفاظت
- اختلال در سرویس: حمله SYN flood میتواند منجر به اختلال در سرویس یا قطعی در آن شود زیرا باعث اشباع سرور هدف و ناتوانی آن در پردازش درخواستهای معتبر خواهد شد.
- خسارت مالی: قطعی سرویس میتواند باعث بروز خسارت مالی برای کسب و کارها، به ویژه وبسایتهای تجارت الکترونیک، خدمات آنلاین و سازمانهایی شود که به طور قابل توجهی عملکرد آنها بر اساس دسترسی به اینترنت و شبکه است.
- تخریب شهرت: حملات مکرر DDoS، از جمله SYN flood، میتوانند به شهرت یک شرکت آسیب زده و منجر به کاهش اعتماد و اطمینان کاربران شوند.
جمع بندی
جهان به فناوری دیجیتال وابسته است که موجب می شود درک و دفاع در برابر تهدیداتی مانند حمله SYN flood بسیار اهمیت داشته باشد. با وجود قدرت تهاجمی بالای حملات SYN flood، استفاده از راه حلهایی مانند کوکی های SYN، میتواند در کاهش این تهدیدات موثر واقع شود.