انواع سیستم های Intrusion Detection System (IDS) و روش های مختلف تشخیص ترافیک مخرب شبکه توسط IDS/IPS

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

بطور کلی سیستم های IDS را از نظر نوع جستجو برای شناسایی تهاجم به سه دسته تقسیم می‌کنند: 

1️⃣ دسته اول: NIDS یا Network-based Intrusion Detection


در این سیستم ها، بدنه اصلی شبکه (ترافیک عبوری بر روی میزبان های مختلف) مورد بررسی قرار می‌گیرد. با اتصال سرور IDS به شبکه از طریق Switch، یا ... و بررسی ‌Packet های ورودی و خروجی میزبان ها، حملات را مورد بررسی قرار می‌دهند. ‌NIDSها می توانند از طریق اتصال به یک switch شبکه که بر روی آن port mirroring پیکربندی شده و یا یک network tap به ترافیک شبکه دسترسی داشته باشند. سنسورهایی نیز در نقاطی از شبکه که می بایست مانیتور شوند قرار می گیرند (اغلب در ناحیه DMZ یا در لبه های شبکه). سنسورها وظیفه Capture کردن کل ترافیک شبکه و آنالیز پکت های شبکه برای ترافیک های مخرب را برعهده دارند. از سیستم های نرم افزاری موجود می‌توان از Snort ‌و Suricata و Bro نام برد. (شکل 1)

ids1

2️⃣ دسته دوم: HIDS یا Host-based Intrusion Detection

در این دسته، سیستم به بررسی فعالیت ها و ترافیک یک میزبان می‌پردازد و در واقع HIDSها یک agent هستند که بر روی یک host جهت شناسایی نفوذها یا intrusionها توسط analyzing system callها، application logها، file-system modificationها (شامل باینری ها، password فایل ها، databaseها، Access control listها و...) و سایر فعالیت ها و stateهای یک host نصب می شوند. در یک HIDS سنسورها معمولاً شامل یک software agent هستند. بطور کلی HIDS دارای دو تفاوت اساسی با سیستم NIDS است. بدلیل اینکه در HIDS ترافیک یک میزبان مورد بررسی قرار می‌گیرد از سرعت و اطمینان بیشتری نسبت به NIDS برخوردار است. ویژگی بعدی HIDS کمتر بودن تعداد قوانین آن است، بطور مثال سروری که سرویس DNS را ارائه نمی‌دهد هیچ لزومی ندارد که قوانین شناسایی تهدیدات مربوط به این سرویس را بداند در نتیجه مصرف CPU کمتر و کارایی سیستم بیشتر می‌شود. از جمله سیستم های معروف این دسته می توان به OSSEC و Tripwire و Samhain اشاره کرد.
(شکل 2)

ids2

3️⃣ دسته سوم: DIDS یا Distributed Intrusion Detection

این گروه از‌IDS ها از چند HIDS یا NIDS یا ترکیبی از این دو به همراه یک سیستم مدیریت مرکزی تشکیل می‌شود. بدین صورت که هر IDS موجود در شبکه گزارش های خود را برای مدیریت مرکزی ارسال می‌کند و سیستم مرکزی وظیفه بررسی کردن گزارش ها، اخطار در صورت نیاز و دیگر اقدامات لازم را دارد. این سیستم همچنین وظیفه بروزرسانی بانک قوانین شناسایی را نیز دارا می‌باشد. از AIDE‌و ACARM-ng می توان به عنوان یک DIDS نام برد که بر روی سیستم عامل Unix و Linux نصب می شوند. (شکل 3)

 

⭕️ توجه: ابزارهای Snort و Suricata و ACARM-ng هر سه می توانند به عنوان سیستم های IDS/IPS+NMS عمل می کنند.

💎 روش های مختلف تشخیص ترافیک مخرب شبکه توسط سنسورهای IDS/IPS

سنسور IDS/IPS می تواند ترافیک مخرب را به روش های مختلفی شناسایی کرده و زمانی که سنسور ترافیک را آنالیز می کند براساس مجموعه قوانین و ruleهایی که برای آن مشخص شده به دنبال ترافیک مخرب می گردد. روش های مختلفی هم برای شناسایی ترافیک مخرب توسط IPS/IDS وجود داره به عنوان مثال:

1️⃣ روش Anomaly-based

منظور از Anomaly هر گونه رفتار غیر طبیعی و غیر نرمال در ترافیک های شبکه هست که توسط یک دستگاه IDS/IPS تشخیص داده می شود. به این روش Profile-Based (Anomaly) Intrusion Detection هم می گویند. در روش Anomaly-based رفتار معمول شبکه در نظر گرفته می شود و غیر از این شرایط به عنوان رفتار غیر مجاز در نظر گرفته می شود. این روش False Positive زیادی هم دارد.

2️⃣ روش Signature-based (misuse) detection

یک signature الگویی هست که سنسور آن را با ترافیک در حال عبور مقایسه می کند. این الگوی می تواند در یک بسته یا مجموعه ای از بسته ها توسط IDS/IPS‌ شما پیدا شود. یه سنسور می تواند تعداد زیادی signature را شامل شود. همه اینsignature ها به صورت پیش فرض فعال نیستند ولی برحسب نیاز می توانید آنها را فعال، غیر فعال یا تغییر دهید و حتی براساس شرایط شبکه می توانید signature مورد نظر خودتان را بنویسید (البته که کار راحتی نیست). 

3️⃣ روش Pattern-Matching

یعنی بروزرسانی و update کردن ‌Signatureهایی هستند که الگوی ترافیک را با ساختار این ‌Signatureها بررسی می کنند و در صورت مطابقت action‌ مورد نظر بر روی ترافیک مزبور صورت می گیرد. از آنجایی که خیلی از protocolها و Attachها از پورت های شناخته شده استفاده نمی‌کنند، روش Pattern-Matching برای تشخیص انواع حمله با مشکل می تواند مواجه شود. کلاً Pattern-Matching میاد ‌fixed sequenceهای بایت های یه پکت را مشاهده کرده و براساس مکانیزم straight forward هم پیاده سازی شده و معمولاً براساس یک سرویس یا پورت های Source و Destination‌ کار می کند. برای مثال اگر پکت IPv4 و یا پکت UDP باشد، Destination Portش 12570 هست و توی payload هم رشته “meysam"‌وجود داره که از روی اینها IDS/IPS نوع پکت را تشخیص داده و ترافیک آن را سعی می کند با sample trafficهای IPv4 و UDP ‌در database ‌خودش مطابقت دهد.

4️⃣ روش Stateful Pattern-Matching

در این روش IDS/IPS شما در واقع unique sequenceها را در چندین پکت از یک stream توسط pattern-matching مطابقت می دهد. مثلاً فرض کنید رشته “mey” را در یک پکت تشخیص می دهد و رشته “sam” را هم در یکی از subsequentهایش تشخیص می‌دهد (همان ‌meysam).

5️⃣ روش Heuristics-Based Analysis یا Behavior-Based Analysis

در این روش مثلاً IPS/IDS شما Signature را محدود می‌کند به مثلاً پکت های SYN که از یک source خاص می‌آیند (برای مثال پکت های SYN که از یه روتر می آیند)، بعد آن را با signatureهایش مطابقت می‌دهد و براساس آن یک Actionی را انجام می دهد.

🌀 میثم ناظمی

تهران - بلوار كشاورز، خيابان شهيد نادري پائين تر از خيابان ايتاليا، پلاك ۲ واحد ۵۰۵
۷۳ ۴۲۲ (۰۲۱)
۴۲۲۳۸۰۰۰ (۰۲۱)
۱۴۱۶۶۱۳۶۶۹
info{at}apk-group.net
یزد - خیابان شهید دکتر چمران، روبـروی کارخانه درخشان
۳۶۲۹۰۹۹۰ (۰۳۵)
۸۹۱۶۷۱۵۹۵۷

 امن پردازان کویر