مفهوم IDS
IDS یك سیستم محافظتی است كه خرابكاریهای در حال وقوع روی شبكه را شناسایی می كند و با استفاده از تشخیص نفوذ كه شامل مراحل جمع آوری اطلاعات ، پویش پورتها ، به دست آوری كنترل كامپیوترها و نهایتا هک كردن می باشد ، می تواند نفوذ خرابكاریها را گزارش و كنترل كند.
روش كار به این صورت است كه با استفاده از تشخیص نفوذ كه شامل مراحل جمع آوری اطلاعات ، پویش پورتها ، به دست آوری كنترل كامپیوترها و نهایتا هك كردن می باشد ، می تواند نفوذ خرابكاری ها را گزارش و كنترل كند.
از قابلیتهای دیگر IDS ، امكان تشخیص ترافیك غیرمتعارف از بیرون به داخل شبكه و اعلام آن به مدیر شبكه و یا بستن ارتباط های مشكوك و مظنون می باشد. ابزار IDS قابلیت تشخیص حملات از طرف كاربران داخلی و كاربران خارجی را دارد.
بر خلاف نظر عمومی كه معتقدند هر نرم افزاری را می توان به جای IDS استفاده كرد، دستگاه های امنیتی زیر نمی توانند به عنوان IDS مورد استفاده قرار گیرند:
۱- سیستم هایی كه برای ثبت وقابع شبكه مورد استفاده قرار می گیرند مانند : دستگاههایی كه برای تشخیص آسیب پذیری در جهت از كار انداختن سرویس و یا حملات مورد استفاده قرار می گیرند.
۲- ابزارهای ارزیابی آسیب پذیری كه خطاها و یا ضعف در تنظیمات را گزارش می دهند.
۳-نرم افزارهای ضدویروس كه برای تشخیص انواع كرمها، ویروسها و به طوركلی نرم افزارهای خطرناك تهیه شده اند.
۴-دیواره آتش (Firewall )
۵-مكانیزمهای امنیتی مانند SSL ، VPN و Radius و … .
چرا دیواره آتش به تنهایی كافی نیست ؟
به دلایل زیر دیواره های آتش نمی توانند امنیت شبكه را به طور كامل تامین كنند :
۱. چون تمام دسترسی ها به اینترنت فقط از طریق دیواره آتش نیست.
۲.تمام تهدیدات خارج از دیواره آتش نیستند.
۳.امنیت كمتر در برابر حملاتی كه توسط نرم افزارها مختلف به اطلاعات و داده های سازمان می شود ، مانند Active ، Java Applet، Virus Programs.
تكنولوژی IDS
۱- Plain Hand Work
۲- Network Based
۳- Host Based
۴- Honey pot
(NIDS (Network Bas
گوش دادن به شبكه و جمع آوری اطلاعات ازطریق كارت شبكه ای كه در آن شبكه وجود دارد.
به تمامی ترافیك های موجود گوش داده و در تمام مدت در شبكه مقصد فعال باشد.
(HIDS (Host Base
تعداد زیادی از شركتها در زمینه تولید این نوع IDS فعالیت می كنند.
روی PC نصب می شود و از CPU و هارد سیستم استفاده می كنند.
دارای اعلان خطر در لحظه می باشد.
جمع آوری اطلاعات در لایه Application
مثال این نوع IDS ، نرم افزارهای مدیریتی می باشند كه ثبت وقایع را تولید و كنترل می كنند.
●Honey pot
سیستمی می باشد كه عملا طوری تنظیم شده است كه در معرض حمله قرار بگیرد. اگر یك پویشگری از NIDS ، HIDS و دیواره آتش با موفقیت رد شود متوجه نخواهد شد كه گرفتار یك Honey pot شده است. و خرابكاری های خود را روی آن سیستم انجام می دهد و می توان از روشهای این خرابكاریی ها برای امن كردن شبكه استفاده كرد.
محل قرارگیری IDS
محل قراگیری IDS ها كجاست ؟
بیرون دیواره آتش ؟
داخل دیواره آتش (داخل DMZ یا شبكه داخلی )؟
چه ترافیكی را می بایست كنترل كند؟
چه چیزهایی را می بایست كنترل كند؟
كارآیی یك IDS خوب وقتی مشخص می شود كه :
بتوان كنترل و مدیریت آن را به صورت ۲۴ ساعته و ۷ روز در هفته انجام داد.
توسط یك مدیر با دانش بالا مدیریت شود تا بتواند از وقایع بدست آمده كنترل های جدیدی را روی دیوار آتش پیاده سازی كند.مرتب كنترل وبا توجه به حوادث روزانه (ویروس ها و ورم ها و روش های هك جدید) به روزرسانی شود.
حملات به طور كلی به دو بخش تقسیم می شوند:
۱-غیرفعال: فكر دسترسی به سیستم های آسیب پذیر بدون دستیابی به اطلاعات
۲-فعال: دستیابی بدون اجازه به همراه تغییر در منابع و اطلاعات یك سازمان
از نظر شخص نفوذگر حملات به گروههای زیر تقسیم می شوند:
۱-داخلی: یعنی اینكه حملات از طریق كاركنان و یا شركای تجاری و یا حتی مشتریانی كه به شبكه شما متصل می باشند.
۲- خارجی: حملاتی كه از خارج سازمان و معمولا از طریق اینترنت انجام می گیرد.●شما درمعرض خطر هستید!
برای تشخیص خطرات وحملات احتمالی می بایست سیستم خود را در برابر تقاضاهایی كه سرویس های نامناسب درخواست می كنند مورد بررسی قرار دهید.این بررسی ها در تشخیص حملات واقعی به ما كمك می كند. با توجه به انواع راه هایی كه نفوذ گران برای دسترسی به سیستمها استفده می كنند نگاهی اجمالی به روشهای آسیب رسانی و نفوذ می اندازیم.
●استفاده از آسیب پذیری های معروف
دراكثر موارد حمله به معنی تلاش برای استفاده از نقص یا ایجاد آن در سیستم امنیتی یك سازمان اطلاق می شود و این یكی از راههای نفوذگری در شبكه می باشد.اغلب خود سازمان ممكن است از ابزاری برای امن كردن شبكه استفاده كند كه كار حمله كننده را آسان می سازد به بیان واضح تر اینكه ابزارهای امنیتی نیز خود دارای نواقص و حفره های امنیتی می باشد كه اختیارات بیشتری را به نفوذگر می دهد. این نرم افزارها اغلب مانند شمشیر دو لبه عمل می كنند و مورد استفاده هردو گروه كاربران وحمله كنندگان قرارمی گیرد مانند نرم افزارهای كنترل صحت و یكپارچگی فایل یا نرم افزارهایی كه جهت تست آسیب پذیری شبكه مورد استفاده قرارمی گیرند.چك كردن یكپارچگی فایلها با استفاده از روش های سیستمی و با قابلیت ادغام روشهای مختلف با یكدیگر و با ابزارهایی نظیر anti-SATAN یا Courtney امكان پذیر می باشد.
●ترافیك خروجی غیر معمول
یك نفوذگر با استفاده از تعداد زیادی Exploit و حتی نفوذ های ناموفق سعی در به دست آوردن كنترل كامپیوتر مقصد دارد. این عملیات نفوذگرانه، ترافیك معمول شبكه را افزایش می دهد و نشانه وقوع یك حمله درآینده می باشد. هر ابزار تست آسیب پذیری می بایست قابلیت تشخیص فعالیت های مشكوك و غیر متعارف را داشته باشد و با ارائه گزارش ، اعلام خطر لازم را به مدیر شبكه بدهد.
حد تكرار برای كمك به تشخیص فعالیتهای واقعی و مشكوك :فعالیتهای شبكه بوسیله دریافت و كنترل بعضی پارامترها قابل شناسایی است مانند User Profile یا از Session State .
●زمان بین تكرار فعالیتها
پارامتری برای تشخیص زمان سپری شده بین دو واقعه متوالی. مثلا” وقتی بخواهید با نام كاربری اشتباه وارد سیستم شوید، سه تلاش برای ورود با نام غلط بین فاصله زمانی ۲ دقیقه یك فعالیت مشكوك به نظر می رسد.
اشتباه در تایپ ویا جوابهایی كه در یك Session ایجاد می شود.
پروتكل ها وسرویس های شبكه به صورت كاملا دقیقی مستند شده اند و از ابزارهای نرم افزاری خاص استفاده می كنند. هرگونه ناهماهنگی با قالب شناخته شده( مثل اشتباه در تایپ یك دستور ) ممكن است اطلاعاتی برای شناسایی سرویسهای كه می توانند مورد حمله یك نفوذگر قراربگیرند باشد.اگر امكان Audit در سیستم فعال شده باشد ،مثل Send Mail Relaying، توالی ارتباط Log بصورت معمولی و قابل پیش بینی اتفاق می افتد.هرچند كه اگر در Log دریافت شده دستورات غیر مجاز دیده شود ممكن است نتیجه موارد اشتباه غیر عمدی ویا سعی در Spoofing باشد.( Spoofing به این معنی است كه نفوذگر آدرس خود را به آدرسی كه برای سیستم شناخته شده است تغییر داده و به این ترتیب به سیستم نفوذ می كند.)
تست تلاشهای مخرب ممكن است شامل موارد زیر باشد:
▪ شناسایی تلاشهای متعدد برای جبران خطاهای تایپی و تكرار دستورات
▪ تشخیص خطاهای مكرر برای یافتن پروتكل ها كه بدنبال یك تلاش موفق انجام می شود.
▪ تشخیص خطا و یادگیری در جهت شناسایی نرم افزارهای و یا سیستم عامل های موجود در سایت مقصد.
●ناهماهنگی در جهت ارسال و دریافت اطلاعات
هرگونه ناهماهنگی ترافیكی در Packetها یا یك Session نشانه ای از یك حمله پنهانی است. بررسی آدرس مبداء و مقصد ( به صورت ورودی یا خروجی) میتواند جهت Packet را تشخیص بدهد. روند برقراری یك session با تشخیص اولین پیام ارسال شده شناسایی می شود. یك درخواست برای دریافت یك سرویس از شبكه محلی به صورت یك session ورودی است و پروسه فعال كردن یك سرویس بر پابهWeb از یك شبكه محلی یك session خروجی است.
موارد زیر می تواند به عنوان حمله محسوب شود:
▪Packet -هایی كه منشاء آنها اینترنت است بدون اینكه در خواستی از سمت شبكه محلی داشته باشد و وارد شبكه شود.
این حالت ممكن است نشان دهنده یك حمله IP Spoofing از خارج باشد. این مشكلات می توانند در روترهایی كه قابلیت مقایسه آدرس مبداء و مقصد را دارند بر طرف شوند .در عمل تعداد اندكی از Router ها در شبكه می توانند به عنوان فایروال عمل كنند.
▪ بر عكس حالت قبلPacket هایی كه به صورت خروجی در یك شبكه محلی ایجاد می شوند و به یك شبكه خارجی فرستاده می شوند.
▪ Packet ها با پورت های مبداء و مقصد غیر مشخص. اگر منبع پورت در مورد یك درخواست ورود یا خروج اطلاعات با نوع سرویس یكسان نباشد ممكن است به عنوان یك تلاش برای نفوذ یا پویش سیستم تلقی شود. بطور مثال در خواست Telnet از روی پورت ۱۰۰ در محیطی كه انتظار چنین پشتیبانی برای سرویس وجود ندارد.ترافیك غیر معمول بیشتر توسط فایروال شناسایی شده و Packet های مشكوك را ازبین می برد. با توجه به اینكه فایروالها همیشه با سیستم های تشخیص نفوذ ادغام نمی شوند ، بنابراین ممكن است كه سیستمهای تشخیص نفوذ راه حلی برای این مشكل باشد.
●علائم نفوذ
معمولا با اجرای برنامه های خاص در سیستم انتظار مواجهه با رفتارهای خاص و مشابه وجود دارد
بعضی از موارد مانند موارد زیر :
▪مشخصات تاریخ و زمان : در بعضی محیط های خاص بطور معمول بعضی رفتارها در زمان خاصی در شبكه اتفاق می افتد. مثلا فرض كنید بطور معمول شنبه صبح یكسری اطلاعات به بخش مركزی شركت ارسال می شود كه مربوط به اطلاعات مالی است. چنین ترافیكی در شنبه صبح همیشه اتفاق می افتد و عادی است در صورتیكه چنین ترافیكی روز جمعه اتفاق بیفتد و ثبت شود ، غیر معمول است و باید به عنوان یك رفتار غیر معمول یا نفوذ به سیستم مورد بررسی دقیق قرارگیرد.
▪مشخصات منابع سیستم: بعضی نفوذ های خاص باعث خرابی بعضی پارامترهای خاص سیستم میشود مثلا یك حمله Brute Force برای شكستن حرف رمز باعث در گیر كردن CPU میشود در حالیكه یك حمله DoS همین كاررا با سرویس های سیستم انجام میدهد. استفاده سنگین از منابع سیستم ( پروسسور، حافظه، دیسك سخت ، سرویسها و اتصالات شبكه ) كه در زمانهای غیر معمول اتفاق می افتد برای شناسایی حمله بسیار مفید هستند و باید به آنها بسیار توجه كرد.
▪ Packet هایی با تایید های TCP غیر معمول : اگر در یك Packet نشانه مربوط به ACK فعال باشد و قبل از آن هیچ SYN-Packet ارسال نشده باشد، ممكن است نتیجه یك حمله در سیستم باشدهمچنین این حالت ممكن است اثر یكPacket خراب هم باشد كه در یك شبكه با نرم افزار های خراب ایجاد می شود و واقعا” حمله نفوذی نباشد.
▪ سرویس های مختلف با علایم مختلف : ممكن است در بعضی موارد انتظار ایجاد ترافیك خاص از یك كاربر مشخص داشته باشیم مثلا كاربری كه در یك ماموریت اداری بسر می برد معمولا” فقط نامه های خود را چك می كند ویا فایلی را انتقال می دهد . در صورتیكه دسترسی این كاربر به پورت های مختلف از طریق Tel net ، دلیلی بر امكان نفوذ یا حمله است .
●موارد غیر معمول – علامت نفوذ
یك نفوذ كننده بالقوه ممكن است عملیات نفوذ خود را به گونه ای طراحی كند كه اثر جانبی آن باعث رفتارهای غیر معمول در سیستم باشد. مانیتورینگ اثرات جانبی بسیار سخت است چون پیدا كردن محل آنها به سادگی امكان پذیر نیست از موارد غیر منتظره سیستم به موارد زیر می توان اشاره كرد:
۱-مشكلات تعریف نشده در سخت افزار یا نرم افزارسیستم مثل خاموش شدن بدون علت سرور، عدم كاركرد بعضی برنامه های نرم افزاری مانند IIS ، موارد غیر معمول restart شدن سیستم ها ، تغییرات در تنظیم clock سیستم
۲- بروزاشكالات نامشخص در منابع سیستم مثل File System Overflow یا مشغول بودن بیش از حد CPU
۳- دریافت پیام های غیر متعارف از بعضی برنامه های خود اجرا ، مثل پیغامهایی كه نشان دهنده عدم اجرا و یا خطا در هنگام اجرای یك برنامه ایجاد شده باشد.بخصوص برنامه هایی كه برای مانیتور كردن سیستم طراحی شده اند مثل Syslog .
۴- بروز اشكالات نامشخص در كارایی سیستم مثلا” در Router ها یا سرویس های سیستم مثل كند شدن سرور
۵- بروز رفتارهای مشكوك در اجرای برنامه های كاربرمثل اشكال در دسترسی به بعضی منابع شبكه
۶- عملكرد مشكوك در فایلهای ثبت وقایع ( Log ها)بررسی این فایل ها از نظر سایز برای اینكه حجم فایل از اندازه متعارف خیلی بیشتر یا كمتر نباشد. مگر اینكه مدیر شبكه خود چنین تغییری ایجاد كرده باشد.
چه باید كرد؟
مهمترین كار یك سیستم كشف نفوذگر،دفاع از كامپیوتر بوسیله شناسایی حمله و جلوگیری از آن است. شناسایی حمله هكر بستگی به نوع و تعداد عكس العمل مورد نظر دارد.
مقابله با نفوذ، نیاز به یك سیستم تركیبی دام گذاری و تله اندازی دارد كه هردو این پروسه ها باید با بررسی و دقت انجام شود. از كارهای دیگری كه باید انجام داد ، تغییر دادن جهت توجه هكر است.هر دوسیستم واقعی و مجازی(Honeypot) به دام اندازی هكر به طور دائمی دیده بانی (Monitor ) می شوند و داده های تولید شده توسط سیستم شناسایی نفوذ گر(IDS) برای شناسایی نحوه عملكرد حمله به دقت بررسی می شود كه این مهمترین وظیفه یك IDS جهت شناسایی حملات و یا نفوذهای احتمالی می باشد.
وقتی كه یك حمله یا نفوذ شناسایی شد، IDS سرپرست شبكه را مطلع می سازد. مرحله بعدی كار می تواند بر عهده سرپرست شبكه یا خود IDS باشد كه از بررسی های به عمل آمده نتیجه گیری كرده و اقدام متقابل را انجام دهد.(مانند جلوگیری از عملكرد یك قسمت بخصوص برای پایان بخشیدن به Session های مشكوك یا تهیه نسخه پشتیبان از سیستم برا ی حفاظت از اطلاعات ، و یا انتقال ارتباط به یك سیستم گمراه كننده مانند Honeypot و چیزهای دیگر كه بر اساس سیاستهای (Policy ) شبكه قابل اجرا باشد . در حقیقت IDS یك از عناصر سیاستهای امنیتی شبكه است.در بین وظایف مختلف IDS ، شناسایی نفوذگر از اساسی ترین آنهاست .حتی ممكن است در مراجع قانونی از نتایج و گزارشات حوادثی كه IDS اعلام می كند استفاده نمود، و از حملاتی كه در آینده اتفاق خواهد افتاد با اعمال وصله های امنیتی مناسب از حمله به یك كامپیوتر بخصوص ویا یك منبع شبكه جلوگیری كرد.
شناسایی نفوذ ممكن است گاهی اوقات زنگ خطر اشتباهی را به صدا در آورد. برای مثال نتیجه خراب كاركردن یك كارت شبكه و یا ارسال شرح یك حمله و یا اثر یك نفوذ ازطریق Email .
ساختار و معماری سیستم تشخیص نفوذ:
سیستم تشخیص نفوذ یك هسته مركزی دارد و یك تشخیص دهنده(موتور تشخیص) است كه مسئولیت تشخیص نفوذ را دارد. این سنسور یك مكانیزم تصمیم گیری بر اساس نوع نفوذ دارد.
این سنسور اطلاعات خام را از سه منبع دریافت می كند.
۱-از اطلاعات موجود در بانك اطلاعلتی خود IDS.
۲-فایل ثبت وقایع سیستم (syslog).
۳-آثار ترافیك عبوری و دیده بانی شبكه.
فایل ثبت وقایع سیستم (syslog) ممكن است به طور مثال اطلاعات پیكربندی سیستم و دسترسی های كاربران باشد. این اطلاعات اساس تصمیم گیری های بعدی مكانیزم سنسور خواهد بود.این سنسور با یك Event Generator كه مسئول جمع آوری اطلاعات است با هم كار می كنند. قوانین جمع آوری اطلاعات كه به وسیله سیاست های Event generator مشخص می شود ، تعیین كننده نوع فیلترینگ از روی حوادث و اطلاعات ثبت شده است.
Event Generator ، مثل سیستم عامل یا شبكه یا یك برنامه اجرایی ، تولید كنندهPolicy هایی هستند كه ممكن است یك واقعه ایجاد شده در سیستم عامل یا Packet های شبكه را ثبت كنند. این مجموعه به همراه اطلاعات Policy می تواند در یك سیستم محافظت شده یا خارج از شبكه قرار داده شود. در بعضی شرایط خاص هیچ محل مشخصی به عنوان محل حفظ اطلاعات ایجاد نمی شود مثل وقتی كه اطلاعات جمع آوری شده از وقایع مستقیما” به یك سیستم آنالیز ارسال می شود.
وظیفه سنسور فیلتر كردن اطلاعات است و حذف كردن هر داده غیر مرتبط كه از طرف منابع دریافت اطلاعات می رسد. تحلیل كننده برای دستیابی به این هدف از Policy های موجود استفاده می كند.تحلیل گر نكاتی مانند اثر و نتیجه حمله ، پرو فایل رفتارهای نرمال و صحیح و پارامترهای مورد نیاز مثل Threshold ها را بررسی می كند .
علاوه بر همه اینها بانك اطلاعاتی كه پارامترهای پیكربندی IDS را در خود نگه می دارد، روشهای مختلف ارتباطی را ایجاد می كنند.سنسور یا گیرنده هم بانك اطلاعاتی خاص خود را دارد، كه شامل تاریخچه پویایی از نفوذهای پیچیده بوده یا با توجه به تعدد حمله مورد تحلیل قرارگرفته است.سیستم تشخیص نفوذ می تواند به صورت متمركز مثل برقراری یك فایروال فیزیكی یا به صورت غیر متمركز انجام شود.یك IDS غیر متمركز شامل تعداد زیادی سیستم تشخیص نفوذ در یك شبكه بزرگ است كه هركدام از آنها با هم در ارتباط هستند.سیستم های پیچیده تر از ساختاری پیروی می كنند كه ماژول های مشابه برنامه های خود اجرایی دارند كه روی هر كامپیوتر اجرا می شوند.
عملكرد این سیستم جایگزین ، مونیتور و فیلتر كردن تمام فعالیتهای مرتبط با یك بخش محافظت شده است كه بتواند یك آنالیز دقیق و پاسخ متناسب از شبكه دریافت كند.یكی از قسمت های بسیار مهم IDS برنامه ای است كه به سرور آنالیز كننده گزارش می دهد ، DIDS(Database IDS) و دارای ابزار آنالیز پیچیده تری است كه حملات غیر متمركز را نیز شناسایی می كند. دلیل دیگری كه وجود دارد مربوط به قابلیت حمل و انتقال درچند منطقه فیزیكی است.علاوه بر این عامل جایگزین مشخص برای تشخیص و شناسایی اثر حمله های شناخته شده می باشد.یك راه حل ساختاری چند برنامه ای كه در سال ۱۹۹۴ ایجاد شد
AAFID یا Autonomous Agent for Intrusion Detection است. این ساختار از یك جایگزین استفاده می كند كه بخش به خصوصی از رفتار سیستم را در زمان خاص دیده بانی می كند. به طور مثال یك جایگزین می تواند تعداد دفعاتی را كه به سیستم Telnet شده تشخیص داده و در صورتی كه این عدد منطقی به نظر نرسد آنرا گزارش كند. یك جایگزین همچنین قابلیت ایجاد زنگ خطر در زمان وقوع یك حادثه مشكوك را دارد.جایگزین ها می توانند مشابه سازی شوند و به سیستم دیگر منتقل گردند.به غیر از جایگزین ها ، سیستم می تواند رابط هایی برای دیده بانی كل فعالیتهای یك كامپیوتر بخصوص داشته باشد.این رابط ها همیشه نتایج عملیات خود را به یك مونیتور مشخص ارسال می كنند. سیستم های مانیتور اطلاعات را از نقاط مختلف و مشخص شبكه دریافت می كنند و این بدین معنی است كه می توانند اطلاعات غیر متمركز را بهم ارتباط دهند و نتیجه گیری نهایی را انجام دهند.به انضمام اینكه ممكن است فیلتر هایی گذاشته شود تا داده های تولید شده را بصورت انتخابی در یافت نماید.