سیستم کشف مزاحمت که به اختصار IDS نامیده می شود ، برنامه ایست که با تحلیل ترافیک جاری شبکه یا تحلیل تقاضاها سعی در شناسائی فعالیتهای نفوذگر می نماید و در صورتی که تشخیص داد ترافیک ورودی به یک شبکه یا ماشین از طرف کاربران مجاز و عادی نیست بلکه از فعالیتهای یک نفوذگر ناشی می شود به نحو مناسب مسئول شبکه را در جریان می گذارد یا یک واکنش خاص نشان می دهد. در حقیقت IDS نقش آژیر دزدگیر شبکه را ایفا می نماید.
در این بخش پس از بررسی عملکرد IDS در سطوح مختلف، روشهای فرار نفوذگر از آنرا نیز بررسی خواهیم کرد.سیستم IDS در دو سطح ((لایه شبکه )) و ((لایه کاربرد)) عمل می کند و مکانیزم هر یک با دیگری متفاوت است.
عملکرد سیستم IDS مبتنی بر لایه شبکه
در این نوع سیستم کشف مزاحمت،IDS تمام بسته های IP وارده به شبکه محلی را دریافت، جمع آوری و پردازش می کند و پس از تحلیل بسته ها ، بسته های معمولی و بسته های مزاحم (متعلق به نفوذگر) را تشخیص می دهد.IDS باید انبوهی از بسته های IP (و محتویات آنها شامل بسته های TCPوUDP)را مرتب کرده و بروز واقعی یک حمله را تشخیص بدهد.
بطور معمول سیستمهای IDS یک بانک اطلاعاتی از الگوی حملات مختلف در اختیار دارند.
(به این بانک اطلاعاتی، بانک ویژگیها و امضای حمله Features &Signatures Attack گفته می شود) در حقیقت اکثر سیستمهای IDS تحلیلهای خود را بر تطابق الگوهای حمله با ترافیک موجود در شبکه متمرکز کرده اند و هرگاه الگوی ترافیک جاری در شبکه با ویژگی یکی از حملات منطبق باشد یک حمله گزارش خواهد شد.لذا نفوذگر برای فرار از IDS سعی می کند به روشهای مختلف مراحل حمله را بگونه ای سازماندهی کند که IDS آنرا ترافیک معمولی و طبیعی بپندارد.(در این مورد صحبت خواهیم کرد.)
وقتی حمله ای کشف شود سیستم IDS با ارسال e-mail سیستم پی جو(Pager) یا به صدا درآوردن بوق آژیرآنرا به اطلاع مسئول شبکه می رساند و در عین حال به تعقیب حمله ادامه می دهد.شکل (19-6) یک سیستم IDS معمولی (در سطح شبکه) را نشان می دهد.
در این شکل سیستم IDS در حین نظارت برترافیک شبکه متوجه تلاش برای ارتباط با پورتهای 80و23شده است.این سیستم تلاش برای برقرای ارتباط با پورت 23(مربوط به TelNet) را اصلاٌ طبیعی نمی داند و آنرا به عنوان علائم یک حمله گزارش می کند.یا مثلاٌ سیستم IDS با تحلیل جریان بسته های IP متوجه می شود که چند هزار بسته SYN با فیلد Source IP یکسان و با شماره های مختلف پورت به شبکه ارسال شده است. این مسئله قطعاٌ علامت بروز یک حمله است.
حال باید دید نفوذگر به چه نحوی تلاش می کند از IDS مبتنی بر لایه شبکه فرار کند؟
نفوذگر از مکانیزمهای زیر برای فرار از IDS (IDS Evasion) بهره می گیرد:
ترافیک ارسالی به شبکه هدف بگونه ای تنظیم می شود که با الگوی هیچ حمله ای تطابق نداشته باشد.در چنین حالتی ممکن است نفوذگر از برنامه نویسی استفاده کند چرا که ابزارهای موجود الگوی حمله شناخته شده ای دارند.
بسته های ارسالی به یک شبکه بگونه ای سازماندهی می شوند که عملکرد دقیق آن فقط در ماشین نهائی (Host) مشخص شود.
برای روشن شدن نکات ابهام در روشهای فوق به چند مثال عملی خواهیم پرداخت:
بگونه ای که در فصل مفاهیم TCP/IP تشریح شد یک بسته IP را به همراه دارد.قطعات کوچکتر (Fragment) شکسته شود.هر بسته شکسته شده سرآیند بسته IP را به همراه دارد.قطعات مختلف از طریق شبکه ارسال شده و نهایتاٌ در ماشین مقصد بازسازی خواهند شد.وقتی سیستم IDS با بسته های قطعه قطعه شده IP مواجه می شود باید همانند ماشین نهائی آنها را دریافت و بازسازی نماید.نفوذگر می تواند بسته های IP را در قطعات بسیار کوچک (مثلاٌ 8 بایتی) شکسته و آنها را ارسال کند.در ضمن برای فلج کردن IDS بسته های IP بسیار زیاد و قطعه قطعه شده بی هدفی را نیز لابلای بسته های حمله ارسال می کند.IDS باید بافر بسیار زیادی در اختیار داشته باشد تا بتواند ضمن بازسازی قطعات شکسته شده درون آنها به جستجوی الگوی حمله بپردازد.
تا تابستان سال 2000تقریباٌ هیچ سیستم IDSوجود نداشت که قادر به بازسازی قطعات بسته های IP باشد لذا هر نفوذگری با قطعه قطعه کردن بسته های IP (محتوی بسته TCPیا UDP) از سیستم IDS فرار می کرد. بعنوان مثال ابزار Snort(که یک نرم افزار Open Source و رایگان است) بعنوان یک سیستم IDS بسیار معروف تا سال 2000 در مقابله با بسته های قطعه قطعه شده ناتوان بود!
در ضمن نفوذگر می تواند قطعه قطعه کردن بسته IP را به روش های نامتعارف انجام بدهد بگونه ای که سیستم IDS نتواند بدرستی آنرا بازسازی کند. مکانیزم این نوع حمله به شرح زیر است: