در چند سال گذشته، پیشرفت های تکنولوژی با افزایش قابل توجهی در حوزه هک و جاسوسی اینترنتی روبرو شده است. کل جهان از طریق اینترنت به طور عمیق متصل است و یک دستگاه آسیب پذیر می تواند دروازه ای به یک سری رویدادهای نامطلوب باشد. انگیزه برای چنین رویدادی می تواند مواردی از قبیل سود مالی ، اظهارات سیاسی یا صرفا سرگرم کننده باشد. اما برای قربانیان چنین حملاتی ، ممکن است باعث از دست دادن پارامتر های مهمتر از آنچه که در نظر گرفته شده است باشد . به عنوان مثال، هک شدن وب سایت یک شرکت فن آوری اطلاعات منجر به از دست دادن اعتبار آن می شود که این موضوع قطعا برای هر شرکت بسیار حیاتی است . سازمان ها، دولت ها و حتی افراد به طور روزانه با این مشکل مواجه می شوند بدون اینکه بدانند چگونه با آن برخورد کنند.
پس چه راه حل هایی می تواند این تهدید را به میزان قابل توجهی کاهش دهد، اگر نه ریشه کن کند؟ پاسخ این است که اجرای سیستم جلوگیری از نفوذ ( IPS ) . یک IPS می تواند به عنوان مکانیسم امنیتی شناخته شود که یک شبکه و یا سیستم را برای هر اقدام مخرب نظارت می کند و تلاش می کند تا از آن جلوگیری کند.
پس چه راه حل هایی می تواند این تهدید را به میزان قابل توجهی کاهش دهد، اگر نه ریشه کن کند؟ پاسخ این است که اجرای سیستم جلوگیری از نفوذ ( IPS ) . یک IPS می تواند به عنوان مکانیسم امنیتی شناخته شود که یک شبکه و یا سیستم را برای هر اقدام مخرب نظارت می کند و تلاش می کند تا از آن جلوگیری کند.
همانطور که در ویکیپدیا توضیح داده شده است. (http://en.wikipedia.org/wiki/Intrusion_prevention_system)
عملکرد اصلی IPS عبارتند از:
اغلب یک سیستم جلوگیری از نفوذ ( IPS ) با یک سیستم شناسایی نفوذ (IDS) اشتباه گرفته می شود، اما در واقع یک IPS می تواند به عنوان توسعه ی IDS در نظر گرفته شود. آنها دارای برخی از ویژگی های مشترک مانند نظارت بر ترافیک ، مشاهده فعالیت سیستم ، ایجاد log و غیره هستند اما آنچه که IPS را متفاوت از IDS نشان می دهد این است که IPS برای جلوگیری از هر گونه حملات نفوذ شناسایی شده توانایی قابل قبولی دارد.
مثال: SNORT
به عنوان مثال: OSSEC HIDS
IPS از طریق فرآیند تجزیه و تحلیل ، امضاهای نفوذ – رفتارهای عمومی و روشهای اکتشافی می تواند اقدامات مخرب در شبکه یا سیستم را شناسایی کرده و اقدامات مناسب برای رها کردن بسته و یا مسدود کردن ترافیک های خاص را انجام می دهد . در صورت وقوع چنین رویدادی ، به مدیر هشدار می دهد.
حمله DoS / DdoS : حمله انکار سرویس به تلاش برای کم کردن و یا به طور کامل تعطیل کردن هدف به منظور خارج کردن از خدمات و انکار دسترسی کاربران مشروع و مجاز است . چنین حملاتی در اینترنت رایج است که در آن مجموعه ای از هاست ها اغلب برای بمباران سرورهای وب شروع به ساخت درخواست های ساختگی می کنند .
ARP spoofing / poisoning : ARP مخفف پروتکل حل و فصل آدرس است، که برای پیدا کردن یک آدرس MAC زمانی که IP در شبکه محلی شناخته شده است استفاده می شود. اگر موفقیت آمیز باشد، این نوع حمله به مهاجم اجازه می دهد تا تمام ترافیک بین دو میزبان را از بین ببرد.
SSL evasion : اکثر IPS های جدید قادر به توقف حمله به پروتکل SSL هستند .
Port scanning : به طور کلی IPS ها قادر به متوقف کردن هر تلاش برای پیدا کردن پورت های باز شده در میزبان های خاص می باشند .
OS fingerprinting : در طول مرحله ی سازش یك حمله، یكی از مهم ترین وظایف شناسایی سیستم عامل هدف، به طوری كه سوء استفاده های خاصی می تواند به منظور سازش با آن دستگاه انجام شود. IPS های مدرن قادر به تشخیص و متوقف کردن هر گونه تلاش های این مدلی هستند.
Buffer overflow : این یکی از حملات به طور گسترده ای مورد سوء استفاده است که می تواند منجر به حملاتی روی سیستم شود . این می تواند توسط یک IPS پیشرفته مورد استفاده قرار گیرد.
یک IPS معمولا از روش های تشخیص مختص به خود پیروی می کند :
تشخیص تهدید مبتنی بر امضا (Signature based threat detection) :
IPS حاوی یک مخزن بزرگ از امضاهای حمله از الگوهای شناخته شده سوءاستفاده ها و آسیب پذیری ها است و از آنها برای شناسایی هر گونه تلاش برای نفوذ استفاده می کند. اگر یک مسابقه بر اساس امضاها انجام شود ، اولین اقدامات مناسب برای جلوگیری از حمله توسط IPS انجام می شود .
تشخیص تهدید مبتنی بر آنومالی (Anomaly based threat detection) :
در این روش ، تشخیص استفاده از خط پایه ای که توسط شرایط ترافیک شبکه عمومی ایجاد شده شروع می شود و شرایط ترافیک فعلی را با آن پایه مقایسه می کند تا هر گونه رفتار غیر طبیعی یا ناامن را شناسایی کند . اگر چنین فعالیتی یافت شود ، IPS اقدام مناسب را برای حفاظت از آن انجام می دهد و این تکنیک می تواند دفاع از تهدیدات ناشناخته را فراهم کند.
مقررات تحلیل پروتکل تشخیص (Stateful protocol analysis detection) :
این روش برای تفاوت قائل شدن در وضعیت پروتکل ها در مقایسه با مشخصات استاندارد از پیش تعریف شده می باشد .
نظارت غیر فعال (Passive monitoring) :
در این تکنیک، IPS به سادگی در وضعیت دفاعی قرار میگیرد و رفتارهای غریب یا مشکوک نظیر ترافیک های غیر معمول از آدرس IP (تلاش DoS) را رصد می کند و اقدامات لازم را علیه آن انجام می دهد.
یک IPS را نباید به عنوان یک جایگزین برای اقدامات امنیتی درشبکه در نظر گرفت زیرا در شبکه لایه های دفاعی متفاوتی وجود دارد از قبیل فایروال . کار فایروال محدود کردن دسترسی به یک شبکه یا سیستم است و عموما قادر به تشخیص و جلوگیری از نفوذ نیست.
فایروال ها عمدتا بر اساس قوانین فیلترینگ کار می کنند، در حالی که IPS از تشخیص تهدید مبتنی بر امضا (و بسیاری از تکنیک های دیگر) برای محافظت از شبکه یا سیستم استفاده می کند. کار فایروال این است که اجازه یا مسدود کردن ترافیک را بدهد ، در حالی که کار IPS تعیین اینکه آیا در ترافیک های مجازی که توسط فایروال وجود دارد مخرب است یا نه . یک IPS معمولا پشت یک فایروال در یک شبکه مستقر می شود و هیچ یک از این دو ابزار نباید جایگزین دیگری شوند؛ در عوض، آنها باید در کنار هم قرار بگیرند تا عمق دفاع را اجرا کنند .
بعضی از بهترین ابزارهای تجاری و کاربردی در زیر شرح داده شده است :
اولین NIDPS منبع آزاد و باز (سیستم تشخیص نفوذ شبکه و سیستم جلوگیری) به عنوان Snort نامیده می شود. اسنورت در سال 1998 توسط مارتین راش (موسس Sorcefire و CTO) منتشر شد و یکی از بیشترین IDPS ها است که مورد استفاده قرار گرفته . Snort می تواند تجزیه و تحلیل زمان واقعی ترافیک و ثبت بسته ها در یک شبکه IP را انجام دهد. این پروتکل قادر به تجزیه و تحلیل، جستجو یا مطابقت با محتوا و تشخیص حملات مختلفی که قبلا در مقاله توضیح داده شد می باشد (پورت اسکن، اثر انگشت سیستم عامل، سرریز بافر و غیره).
آخرین نسخه برنامه را می توانید از http://www.snort.org/snort-downloads دانلود کنید.
شکل 1 مثال استاندارد رابط Snort را نشان می دهد.
شکل 1 : رابط Snort
Packet sniffer : خواندن و نمایش بسته های شبکه
Packet logger : لاگ های بسته ها را در دیسک ذخیره می کند ، که می تواند برای رفع اشکال در شبکه استفاده شود.
سیستم جلوگیری از نفوذ ( IPS ) : نظارت و تجزیه و تحلیل ترافیک بر اساس قانون از پیش تعیین شده و انجام اقدام مشخص شده است.
قوانین Snort در هسته تشخیص هر گونه تلاش در نفوذ هستند این قوانین می توانند به عنوان رویکرد برای انجام تشخیص نفوذ تعریف شوند . قوانین Snort بر اساس آسیب پذیری ها تعریف شده اند بر خلاف امضا، که بر اساس سوءاستفاده ها است و می تواند با اصلاح سوء استفاده از آن عبور کند.
شکل 2 خروجی حالت رد شدن بسته را نشان می دهد.
شکل 2. خروجی بسته Snort
یک ابزار منبع باز دیگر به نام OSSEC است . OSSEC یک سیستم شناسایی نفوذ مبتنی بر میزبان است، این ابزار شامل جنبه های مانیتور ورود به سیستم و اطلاعات امنیتی و مدیرت رویداد (SIM / SIEM) است که این ابزار را یک ابزار منحصر به فرد در عرصه فناوری معرفی میکند می کند . مدیرت کردن رویداد امنیتی می تواند به عنوان یک ابزار قابل درک باشد که در شبکه داده های بزرگ مورد استفاده قرار گیرد و هدف آن تمرکز کردن ذخیره سازی و تفسیر رویدادها و لاگ های مربوط است که توسط برنامه های دیگر تولید می شوند.
OSSEC را می توان به راحتی در سراسر سیستم عامل های متعدد مانند لینوکس، مک، ویندوز، BSD، VMware ESX و غیره اجرا کرد. OSSEC شامل یک معماری پلت فرم متقابل است که اجازه می دهد به راحتی از طریق یک سرور ، مدیریت نظارت متمرکز و مدیریت چندین سیستمی داشت . این ابزار به راحتی می تواند با یک سیستم موجود برای گزارش رویداد یا لاگ سرور های متمرکز ادغام شود .
شکل 3 شروع OSSEC را نشان می دهد.
شکل 3. شروع OSSEC
OSSEC حاوی یک کنسول مدیر است و تمامی عملکردها را انجام می دهد از این رو، به عنوان یک سرور عمل می کند . Agent ها بر روی دستگاه هایی که نیاز به نظارت دارند، نصب می شوند. Agent ها اطلاعات را در زمان واقعی به منظور تجزیه و تحلیل به کنسول مدیر می فرستند . OSSEC این قابلیت را به دستگاه هایی که اجازه نصب Agent ها را نمی دهد مانند روتر ها، فایروال ها و غیره می دهند. OSSEC همچنین می تواند بر روی یک ماشین مجازی (VMware ESX) نصب شود و می تواند به نظارت بر پلت فرم مجازی سازی کمک کند. شکل 4 خروجی ورودی را نمایش می دهد.
شکل 4. خروجی لاگ در OSSEC
ابزار بعدی Honeyd است که همچنین یک برنامه منبع باز است. این ابزار در واقع یک IPS / IDS نیست ، بلکه یک honeypot است که کاربر را قادر می سازد تا میزبان های مجازی خاصی را راه اندازی کنند . این میزبان مجازی می تواند مهاجمین را مجذوب خود کند و آنها را از سیستم های قانونی منحرف کند . آنها همچنین می توانند پس از منحرف کردن مهاجمین از هدف مورد نظر، حمله نیز کنند . شکل 5 رابط Honeyd را نشان می دهد. Honeyd در عمل توسط شکل 6 نمایش داده می شود.
شکل 5. رابط Honeyd
شکل 6 . در حالت عمل
برخی از تکنیک های IPS / IDS که در ویکیپدیا توضیح داده شده اند
(http://en.wikipedia.org/wiki/Intrusion_detection_system_evasion_techniques)
عبارتند از :
Obfuscating attack payload : شیوه ای است که دستگاه مقصد قادر به معکوس کردن آن نیست.
Polymorphic code : ایجاد همان حمله در فرم های مختلف (منحصر به فرد) به طوری که IPS / IDS قادر به تشخیص آن تشخیص نیست
Packet fragmentation : حمل payload حملات را به چندین بسته کوچک تبدیل می کند به طوری که IPS / IDS قادر به جمع آوری آنها برای شناسایی حمله نیست.
Overlapping fragments : ساخت یک سری از بسته ها با شماره توالی TCP همپوشانی شده
درج ترافیک در IPS / IDS: ارسال بسته های ساخته شده با TTL (time to live) به طوری که تنها به IDS / IPS می رسد.
Denial of Service / Denial of Service Distributed (Dos / DDoS) : با استفاده از آسیب پذیری ، IPS / IDS را می توان با ترافیک بیش از حد تمام منابع محاسباتی آن را از بین برد .
Fragroute : یک ابزار است که قادر به تکرار، اصلاح و بازنویسی ترافیک خروجی برای یک میزبان مشخص است. قابلیت این ابزار آن را یکی از ابزارهای استاندارد مورد استفاده برای فرار از IPS / IDS می داند. آخرین نسخه ابزار (i.e.، frageroute-1.2.5-ipv6) با شبکه های IPv6 سازگار است. این ابزار را می توان از
http://code.google.com/p/fragroute-ipv6/downloads/list دانلود کرد.
نسخه غیر IPv6 را می توان در http://monkey.org/~dugsong/fragroute یافت.
شکل 7 رابط کاربری frageroute را نشان می دهد.
شکل 7. رابط Fragroute
امروزه بسیاری از فن آوری های موجود در بازار وجود دارد که برای محافظت از سیستم ها / شبکه ها از حمله و جلوگیری از دست دادن داده ها وجود دارد . از فایروال ها به ضد ویروس به سیستم های رمزگذاری و غیره، بسیاری از اقدامات حفاظتی هست که برای مخفی کردن اطلاعات ارزشمند ما وجود دارد.
سیستم های تشخیص و جلوگیری از نفوذ ( IPS )، اولین خط دفاع را در برابر مهاجمین مخرب ارائه می دهند در نظر داشته باشید نباید یک IPS را به عنوان یک جایگزین برای IDS در نظر بگیریم (این مورد متفاوت است اگر همان ابزار تمام عملکردهای هر دو ابزار را فراهم کند). IPS و IDS کنترل و مشاهده مورد نیاز هر سازمانی را برای محافظت از زیرساخت های آن ها از حمله و برداشت آنها فراهم می کند.
یکی از مهمترین عواملی که هنگام استفاده از IPS / IDS باید مورد توجه قرار گیرد این است:
ورود مناسب به زیرساخت از طریق استقرار . استقرار نامناسب منجر به کاهش شدید شبکه و مدیریت نامناسب خواهد شد.
برخی از روشهای بهتر که باید در مورد IPS / IDS دنبال شود: