شناسایی حملات در شبکه‌های کامپیوتری از جنبهٔ اطّلاعات مورد استفاده در مرحلهٔ یادگیری، به دو دستهٔ تشخیص نفوذ و تشخیص ناهنجاری تقسیم می شود.

در تشخیص نفوذ، هم از ترافیک معمول و هم از ترافیک حمله استفاده می‌شود. برای انجام این مهم، روش‌های متنوّعی مورد استفاده قرار گرفته‌اند که در این پژوهش باید به اختصار مرور شده و در نهایت یکی از این روش‌ها برای تشخیص حملات مورد استفاده قرار گیرند.

توضیح تصویر

۱. 1. مقدمه



۲. 1.1 نفوذ چیست و چگونه انجام می شود؟

نفوذ1 به مجموعه ی اقدامات غیرقانونی که صحت و محرمانگی و یا دسترسی به یک منبع را به خطر می اندازد،[1] اطلاق می گردد. نفوذ ها می توانند به دو دسته ی داخلی و خارجی تقسیم شوند. نفوذهای خارجی به آن دسته نفوذهایی گفته می شود که توسط افراد مجاز و یا غیرمجاز از خارج شبکه به درون شبکه ی داخلی صورت می گیرد و نفوذهای داخلی توسط افراد مجاز در سیستم و شبکه ی داخلی، از درون خود شبکه انجام می پذیرد. نفوذگرها عموماً از عیوب نرم افزاری، شکستن کلمات رمز، استراق سمع ترافیک شبکه و نقاط ضعف طراحی در شبکه، سرویس ها و یا کامپیوترهای شبکه برای نفوذ به سیستم ها و شبکه های کامپیوتری بهره می برند.



۳. 1.2 سیستم تشخیص نفوذ چیست؟

یک سیستم تشخیص نفوذ را می توان مجموعه ای از ابزارها،روش ها و مدارکی در نظر گرفت که به شناسایی،تعیین و گزارش فعالیت های غیرمجاز یا تائید نشده تحت شبکه،کمک می کند.عنوان تشخیص نفوذ،عنوان مناسبی برای سیستم های تشخیص نفوذ نیست،[2] زیرا این سیستمها حقیقتا نفوذ را تشخیص نمی دهند،بلکه فعالیتی در شبکه را به عنوان نفوذ تشخیص می دهند،که ممکن است اساسا نفوذ نباشد.در واقع ،سیستم تشخیص نفوذ بخش کوچکی از سیستم حفاظتی نصب شده در سیستم است و به عنوان یک سیستم خودکفا و مستقل در نظر گرفته نمی شود.

ابزار های امنیتی دیجیتال را می توان به گونه ای معادل ابزار های امنیتی فیزیکی دانست.به عنوان مثال دیوار آتش2 را می توان معادل درهای قفل شده،سیستم تشخیص نفوذ را معادل سیستم اعلام خطر و سیستم جلوگیری از نفوذ را معادل سگ های نگهبان دانست.فرض کنید که شما مخزنی از اسناد محرمانه دارید،که می خواهید با استفاده از حصاری در اطراف محوطه ،سیستم اعلام خطر،درهای قفل شده،سگ های نگهبان و دوربین ،از آن محافظت کنید.درهای قفل شده،از ورود غیر مجاز افراد به درون مخزن جلوگیری می کنند،ولی در صورت نفوذ مهاجم ،هشداری به شما نمی دهد.سیستم اعلام خطر ،درصورتی که مهاجمی قصد ورود به مخزن را داشته باشد،به شما هشدار می دهند، ولی از نفوذ جلوگیری نمی کند .سگ های نگهبان ،نمونه ای از اقداماتی است که می تواند از ورودمهاجم ،جلوگیری کند.

همانطور که دیدیم،درهای قفل شده،سیستم اعلام خطر و سگ های نگهبان،نقش های مجزا ولی مکمل برای حفاظت مخزن اسناد محرمانه برعهدا داشتند.این موضوع در مورد دیوار آتش ،سیستم تشخیص نفوذ و سیستم جلوگیری از نفوذ نیز درست است.این سیستم ها فناوری های متفاوتی هستند که با کار در کنار یکدیگر،می توانند هشدار داده و از نفوذ جلوگیری کنند .محل قرار گیری و چیدمان این ابزار ها ،می تواند یک شبکه ناامن را به شبکه ای امن تبدیل کند.

سیستم های تشخیص نفوذ 3(IDS) وظیفه ی شناسایی و تشخیص هر گونه استفاده ی غیرمجاز به سیستم، سوء استفاده و یا آسیب رسانی توسط هر دو دسته ی کاربران داخلی و خارجی را بر عهده دارند. سیستم های تشخیص نفوذ به صورت سیستم های نرم افزاری و سخت افزاری ایجاد شده و هر کدام مزایا و معایب خاص خود را دارند. سرعت و دقت از مزایای سیستم های سخت افزاری است و عدم شکست امنیتی آن ها توسط نفوذگران، قابلیت دیگر این گونه سیستم ها می باشد. اما استفاده ی آسان از نرم افزار، قابلیت انطباق پذیری در شرایط نرم افزاری و تفاوت سیستم های عامل مختلف، عمومیت بیشتری را به سیستم های نرم افزاری می دهد و عمومأ این گونه سیستم ها انتخاب مناسب تری هستند.

به طور کلی سه عملکرد اصلی عبارتند از:
1) نظارت و ارزیابی
2) کشف
3) واکنش

توضیح تصویر



۴. 1.3 لزوم استفاده از سیستم های تشخیص نفوذ

در دنیای امروز، کامپیوتر و شبکه های کامپیوتری متصل به اینترنت نقش عمده ای در ارتباطات و انتقال اطلاعات ایفا می کنند. در این بین افراد سودجو با دسترسی به اطلاعات مهم مراکز خاص یا اطلاعات افراد دیگر و با قصد اعمال نفوذ یا اعمال فشار و یا حتی به هم ریختن نظم سیستم ها، عمل تجاوز به سیستم های کامپیوتری را در پیش گرفته اند Intruder و Cracker ،Hacker کلماتی هستند که امروزه کم و بیش در محافل کامپیوتری مطرح می باشند و اقدام به نفوذ به سیستمهای دیگر کرده و امنیت آن ها را به خطر می اندازد.[1,4] بنابراین لزوم حفظ امنیت اطلاعاتی و حفظ کارآیی در شبکه های کامپیوتری که با دنیای خارج ارتباط دارند، کاملأ محسوس است.
از آنجا که از نظر تکنیکی ایجاد سیستم های کامپیوتری( سخت افزار و نرم افزار) بدون نقاط ضعف و شکست امنیتی عملأ غیرممکن است، تشخیص نفوذ در تحقیقات سیستمهای کامپیوتری با اهمیت خاصی دنبال می شود.سیستم های تشخیص نفوذ برای کمک به مدیران امنیتی سیستم در جهت کشف نفوذ و حمله به کار گرفته شده اند. هدف یک سیستم تشخیص نفوذ جلوگیری از حمله نیست و تنها کشف و احتمالأ شناسایی حملات و تشخیص اشکالات امنیتی در سیستم یا شبکه های کامپیوتری و اعلام آن به مدیر سیستم است. عمومأ سیستم های تشخیص نفوذ در کنار دیواره های آتش و به صورت مکمل امنیتی برای آن ها مورد استفاده قرار می گیرند.
سیستم های تشخیص نفوذ برای بسیاری از سازمان ها ،از دفاتر کوچک تا شرکت های چند ملیتی ،ضرورتی هستند .برخی ازفواید این سیستم ها عبارتند از:

· کارایی بیشتر در تشخیص نفوذ،در مقایسه با سیستم های دستی

· منبع دانش کاملی از حملات

· توانایی رسیدگی به حجم زیادی از اطلاعات

· توانایی هشدار نسبتا بلادرنگ که باعث کاهش خسارت می شود

· دادن پاسخ های خودکار،مانند قطع ارتباط کاربر،غیر فعال سازی حساب کاربر،اعمال مجموعه دستورهای خودکار وغیره

· افزایش میزان بازدارندگی

· توانایی گزارش دهی



۵. 1.4 روش های تشخیص نفوذ

روش های تشخیص مورد استفاده در سیستم های تشخیص نفوذ به دو دسته تقسیم می شوند[5]:
الف- روش تشخیص رفتار غیر عادی4
ب- روش تشخیص سوءاستفاده5 یا تشخیص مبتنی بر امضاء6


۵.۱. 1.4.1 تشخیص رفتار غیر عادی

برای تشخیص رفتار غیرعادی، باید رفتارهای عادی را شناسایی کرده و الگوها و قواعد خاصی برای آن ها پیدا کرد. رفتارهایی که از این الگوها پیروی می کنند، عادی بوده و رویدادهایی که انحرافی بیش از حد معمول آماری از این الگوها دارند، به عنوان رفتار غیرعادی تشخیص داده می شود. نفوذهای غیرعادی برای تشخیص بسیار سخت هستند، چون هیچگونه الگوی ثابتی برای نظارت وجود ندارد. معمولاً رویدادی که بسیار بیشتر یا کمتر از دو استاندارد انحراف از آمار عادی به وقوع می پیوندد، غیرعادی فرض می شود. به عنوان مثال اگر کاربری به جای یک یا دو بار ورود و خروج عادی به سیستم در طول روز، بیست بار این کار را انجام دهد، و یا کامپیوتری که در ساعت ۲:۰۰ بعد از نیمه شب مورد استفاده قرار گرفته در حالی که قرار نبوده کامپیوتر فوق پس از ساعت اداری روشن باشد. هر یک از این موارد می تواند به عنوان یک رفتار غیر عادی در نظر گرفته شود.تکنیک ها و معیارهایی که در تشخیص رفتار غیرعادی به کارمی روند، عبارتند از:

۱)تشخیص سطح استانه7
تعداد ورود و خروج به / از سیستم و یا زمان استفاده از سیستم، از مشخصه های رفتار سیستم و یا استفاده کننده است که می توان با شمارش آن به رفتار غیرعادی سیستم پی برد و آن را ناشی از یک نفوذ دانست. این سطح کاملاً ایستا و اکتشافی8 است.

۲)معیارهای اماری9
در نوع پارامتریک، مشخصات جمع شده براساس یک الگوی خاص در نظر گرفته می شود و در حالت غیر پارامتریک بر اساس مقادیری که به تجربه حاصل شده است مقایسه صورت می گیرد. از IDS های معروف که از اندازه گیری آماری برای تشخیص نفوذ رفتار غیرعادی استفاده می کنند، می توان 10NIDS را نام برد.

۳)معیارهای قانونگرا11
شبیه به معیارهای آماری غیرپارامتریک است، به طوری که داده ی مشاهده شده براساس الگوهای استفاده شده ی مشخصی به طور قابل قبول تعریف می شود. اما با الگوهایی که به عنوان قانون مشخص شده فرق دارد و به صورت شمارشی نیست.

۴)سایر معیارها

دو معیار اول یعنی تشخیص سطح آستانه و معیار های آماری در IDS های تجاری استفاده می شوند. متاسفانه تشخیص دهندگان نفوذ های غیرعادی و IDS هایی از این نوع، باعث ایجاد تعداد زیادی هشدار نادرست می شوند و آن هم به خاطر این است که الگوهای رفتاری از جانب استفاده کنندگان و سیستم بسیار متفاوت است. در عوض محققان ادعا می کنند برخلاف روش های تشخیص مبتنی بر امضاء (که حتماً باید با الگوهای حملات قبلی منطبق باشند)، روشهای تشخیص رفتار غیرعادی قادر به کشف انواع حملات جدید هستند.
با این وجود ایجاد یک سیستم تشخیص نفوذ براساس روش تشخیص رفتارهای غیرعادی همیشه کار آسانی نیست، همچنین این روش ها از دقت روشهای تشخیص مبتنی بر امضاء برخوردار نیستند.

۵.۲. 1.4.2تشخیص مبتنی بر امضا

در این تکنیک الگوهای نفوذ از پیش ساخته شده (امضاء) به صورت قانون نگهداری می شوند. به طوری که هر الگو انواع متفاوتی از یک نفوذ خاص را در بر گرفته و در صورت بروز چنین الگویی در سیستم، وقوع نفوذ اعلام می شود. در این روش ها، معمولاً تشخیص دهنده دارای پایگاه داده ای از امضاء ها یا الگوهای حمله است و سعی می کند با بررسی ترافیک شبکه الگوهای مشابه با آن چه را که در پایگاه داده ی خود نگهداری می کند بیابد. این دسته از روش ها تنها قادر به تشخیص نفوذهای شناخته شده می باشند و در صورت بروز حملات جدید در سطح شبکه، نمی توانند آن ها را شناسایی کنند و مدیر شبکه باید همواره الگوی حملات جدید را به سیستم تشخیص نفوذ اضافه کند. از مزایای این روش دقت در تشخیص نفو ذهایی است که الگوی آن ها عیناً به سیستم داده شده است.

۶. 1.5 انواع معماری سیستم های تشخیص نفوذ

• سیستم تشخیص نفوذ مبتنی بر میزبان 12(HIDS)
• سیستم تشخیص نفوذ مبتنی بر شبکه (NIDS) 10
• سیستم تشخیص نفوذ توزیع شده (DIDS) 13



۷. 2.کارهای مرتبط



۸. 2.1 معرفی راه های مختلف تشخیص نفوذ در روش تشخیص رفتار غیرعادی

روش های تشخیص نابهنجاری ،سعی در مدل کردن رفتار عادی سیستم دارد و هر اتفاقی که از این مدل تخلف کند،رفتاری مشکوک در نظر گرفته می شود.برای مثال ،در صورتی که وب سروری که به صورت معمول منفعل است،تلاش کند تا به آدرس های زیادی دسترسی پیدا کند ،به احتمال زیاد به کرم آلوده شده است.
در قسمت آزمایش ها در مورد نتایج آزمایش های مربوط به روش های مهم مطرح شده و مقایسه ی بین آن ها توضیحات کامل ارائه خواهد شد.
روش های تشخیص نابهنجاری که در اینجا مورد بحث قرار می گیرد،عبارتند از [6]:

· مدل های آماری

· رویکرد سیستم امن

· بازبینی پروتکل

· بررسی فایل ها

· ایجاد لیست سفید

· شبکه های عصبی

· الگوریتم ژنتیک

· ماشین های بردار پشتیبان

· درخت تصمیم


۸.۱. مدل های آماری

مدل های آماری جزو اولین روش های استفاده شده برای تشخیص نفوذ است.در این روش فرض بر این است که رفتار مهاجم نسبت به کاربر عادی،مناسب هستند .از همین شیوه برای سایر موضوع ها،مانند گروه ها و برنامه ها استفاه می شود.

برخی از خصوصیات آماری رخدادها که برای تشخیص استفاده می شوند،عبارتند از:

· اندازه آستانه:این روش مقادیری تنظیم شده و یا ابتکاری،برای روی دادن رخدادها و یا تعداد دفعات روی دادن آنها طی یک دوره زمانی ،نسبت می دهد.بعضی از نمونه های معمول عباتند از ،ورود کاربر و غیر فعال شدن کاربر پس از تعداد مشخصی شکست در ورود

· میانه و انحراف معیار: با مقایسه رخدادها با پروفایل میانه و انحراف معیار ،فاصله اطمینانی برای نابهنجاری قابل تخمین است.پروفایل ها ،بر اساس داده های تاریخی و یا مقادیری از پیش تنظیم شده می آیند.

· مدل های چند متغیره:محاسبه همبسگی بین مقیاس های رخداد های مختلف،با توجه به انتظارات پروفایل

· مدل فرایند مارکوف :این مدل انواع حملات را به عنوان متغیرهای حالت،در یک ماتریس حالت/گذر در نظر می گیرد.در این سیستم یک رخداد نابهنجار در نظر گرفته می شود،هرگاه احتمال وقوع آن رخداد برای حالت قبلی با مقدار وابسته اش،بسیار کم باشد.

· تحلیل دسته بندی:این روش غیر پارامتری،بر مبنای نمایش جریان رخدادها به صورت برداری عمل می کند،که با استفاده از الگوریتم های دسته بندی در کلاس های مختلفی از رفتارها،گروه بندی می شوند.دسته بندی ها شامل فعالیت های مشابه یا الگوهای کاربر است،به نحوی که رفتار عادی از نابهنجار قابل تمایز است.


۸.۲. رویکرد سیستم امن

به طور ذاتی پیاده سازی برنامه ها ،مدلی از رفتار عادی برنامه به وسیله روند اجرای کد فراهم می کنند.در رویکرد سیستم امن برنامه ها بر حسب دنباله ای از فراخوانی های سیستمی برای شرایط مختلف ،مدل سازی می شوند(شامل رفتار عادی، حالت خطا و تلاش برای سوء استفاده) مقایسه این مدل با آثار رخدادهای مشاهده شده امکان دسته بندی رفتار عادی و نابهنجار را فراهم می کند.برای مثال ،رفتار نابهنجار یک فراخوانی سیستمی اجرایی در یک وب سرور ،می تواند نمایانگر حمله سرریز پشته باشد. این روش ،توانایی تشخیص بسیاری از حملات معمول را دارد،ولی از تشخیص حملاتی که برا اساس شرایط مسابقه،تخلف در سیاست ها و یا جعل هویت هستند،عاجز است.


۸.۳. بازبینی پروتکل

بسیاری از شیوه های حمله،بر اساس استفاده غیر معمول یا نابهنجار از فیلدهای پروتکل ها است.روش های بازبینی پروتکل،با دقت فیلدها و رفتار پروتکل را بر اساس استانداردها و انتظارات بررسی می کنند. داده هایی که از این محدوده تخطی کنند،به عنوان داده های مشکوک در نظر گرفته می شوند.

این رویکرد بسیاری از حملات معمول را شناسایی می کند ، ولی مشکل اساسی آن،رعایت ناچیز استانداردها در پیاده سازی بسیاری از پروتکل ها است.همچنین استفاده از این شیوه برای پروتکل های اختصاصی و یا نا آشنا،می تواند باعث ایجاد هشدارهای اشتباه شود.


۸.۴. بررسی فایل ها

این روش،از مجموع مقابله ای رمز شده داده های حساس سیستمی،برای شناسایی تغییراتی مانند نصب برنامه بصورت غیر مجاز،درهای پشتی به جای مانده از تروژانهای موفق قبلی و تخریب سیستم،استفاده می کنند.(این شیوه در برنامه های ضد ویروس،برای شناسایی تغییر در فایل های اجرایی استفاده می شود)این شیوه در بازیابی سیستم و بررسی های قانونی ،بسیار مفید است.مشکل این روش این است که ،تشخیص بعد از انجام تغییرات صورت می گیرد،همچنین در صورتی که مجموع مقابله ای اصلاح شود و یا فرایند تشخیص به خطر بیفتد،تشخیص انجام نخواهد شد.


۹. ایجاد لیست سفید

ایده این روش این است که ،جریانی از رخدادها را از میان تعدادی فیلتر،که هر کدام مجموعه ای از رخدادهای بی خطر را می شناسند عبور دهیم.رخدادهای باقی مانده در پایان کار،رخدادهای جدید یا مشکوک خواهند بود.در حقیقت این روش از شیوه داده کاهی استفاده می کند،که بررسی دستی جریان رخدادها را امکان پذیر می سازد.



۹.۱. شبکه عصبی

شبکه های عصبی 14 را می توان با اغماض زیاد، مدل های الکترونیکی از ساختار عصبی مغز انسان نامیده و پایه مدل های تحلیلی عصبی بر شبیه سازی فعالیتهای یک سلول عصبی (نرون) استوار است،[9] مغز به عنوان سیستم پردازش اطلاعات از تعداد زیادی نرون (نرون ساده ترین واحد ساختاری سیستم های عصبی) تشکیل شده است . شبکه عصبی یک برنامه نرم افزاری است که می تواند همانند مغز انسان عمل کند، به گونه ای که به مرور 2 زمان و تعامل بیشتر با محیط کارآزموده تر گردد؛ علاوه بر انجام محاسبات قادر به نتیجه گیری منطقی است؛ در شرایط جدید راهکار مناسب را ارائه نماید (قابلیت تعمیم ). شبکه های عصبی به طور گسترده ای به عنوان روش موثر تطابق طبقه بندی الگوها مورد استفاده قرار می گیرد، اما حجم محاسبات بالا و سیکل های یادگیری طولانی آنها را از خیلی برنامه های کاربردی عقب انداخته است.
در تشخیص نفوذ ناهنجاری (حملات شناخته نشده) از شبکه عصبی مصنوعی استفاده می شود، [8] شبکه عصبی مصنوعی برای شناسایی حملات ناشناخته شده و اجتناب از نفوذهای پنهانی مخرب دارای مزایای بیشتر از دیگر روش ها (مبتنی بر آمار و مبتنی بر قوانین) می باشد

سیستم تشخیص نفوذ بر اساس شبکه های عصبی برای سیستم کامپیوتری ویژه شامل مراحل سه گانه زیر است :

  1. مجموعه داده های آموزشی : بدست آوردن لاگهایی برای هر کاربر در دوره های زمانی چند روزه برای هر کاربر از طریق یک بردار نشان می دهیم که یک کاربر چه دستوارتی را اجرا می کند.

  2. آموزش : شبکه عصبی را برای شناسایی کاربر بر اساس دستوراتی که در بردار می باشد .

  3. کارایی : شبکه ، کاربر را برای هر دستور جدید شناسایی میکند ،یعنی اینکه اگر کاربری دستور جدیدی که در بردار مربوط به وی وجود ندارد را اجرا کند سیستم قادر به شناسایی آن کاربر خواهد بود .



۹.۲. الگوریتم ژنتیک

در اینجا دو فاز داریم . فاز اول آموزش است که اطلاعات اولیه مورد نیاز سیستم را به آن آموزش می دهیم. فاز دوم تشخیص است که سیستم، نفوذ را بر اساس آموزش های فاز اول نفوذها را تشخیص می دهد. در سیستم های تشخیص نفوذی که از الگوریتم ژنتیک برای آموزش استفاده می نمایند، یک سری قوانین اولیه دسته بندی شده در پایگاه داده قرار می دهیم و با بکارگیری الگوریتم ژنتیک 15 قوانین جدیدی تولید شده و به قواعد قبل اضافه می شوند. در شکل زیر ساختار یک الگوریتم ژنتیک ساده نشان داده شده است.

توضیح تصویر

الگوریتم های ژنتیک، از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می کند. راه حل ها طبق یک الگو کد گذاری می شوند که تابع هر راه حل کاندید را ارزیابی می کند که اکثر آن نام دارد و برازندگی می شوند.
تکامل از یک مجموعه کاملا تصادفی از جامعه اولیه شروع می شود و در نسل های بعدی تکرار می شود. این فرآیند تکرار می شود تا این که به آخرین مرحله برسیم. شرایط خاتمه الگوریتم ژنتیک می تواند به صورت زیر باشد [11]:

  • به تعداد ثابتی از نسل ها برسیم.

  • بودجه اختصاص داده شده تمام شود 􀀁

  • بیشترین درجه برازش فرزندان حاصل شود یا دیگر نتایج

  • بهتری حاصل نشود

  • بازرسی دستی 􀀁

  • ترکیب های موارد ذکر شده در بالا.


۹.۳. ماشین های بردار پشتیبان

ماشین های بردار پشتیبان خصیصه های ورودی با مقادیر حقیقی را با نگاشت غیرخطی به فضایی با ابعاد بالاتر می برد و با قرار دادن یک مرز خطی، داده ها را جدا می کند. پیدا کردن یک مرز تفکیک برای جدا سازی داده ها به مسئله بهینه سازی درجه دوم تبدیل می شود و از مرز خطی برای تقسیم بندی استفاده می شود. اما همه مسائل به از ویژگی به نام توابع پایه SVM صورت خطی قابل تفکیک نیستند و برای حل این مشکل استفاده می کند. این توابع الگوریتم های خطی را به غیرخطی تبدیل می کند و با بردن داده ها به فضایی با ابعاد بالاتر، تفکیک خطی را در آن فضا ممکن می سازند.
این الگوریتم شامل مراحلی با عملیات های ریاضی است لذا با توضیحات ارائه شده شاید کمی گنگ به نظر بیاید. اما نگران نباشید در بخش آزمایش ها به جزئیات پیاده سازی و انجام مرحله به مرحله آن خواهیم پرداخت و عملیات آن را به صورت کامل و با مثال توضیح خواهیم داد.



۹.۴. درخت تصمیم

درخت تصمیم 16 یکی از روش های دسته بندی در حوزه داده کاوی است. در این بخش الگوریتمی ارائه می شود که با ساختن یک درخت تصمیم روی مجموعه ای از الگوها یا امضاهای شناخته شده از حملات، تعداد مقایسه های لازم برای شناسایی یک فعالیت مخرب را به نحو چشمگیری کاهش دهد [12] فرض می کنیم الگوی یک حمله که از روی تعدادی ویژگی بسته های اطلاعاتی بدست آمده است، به شکل یک قانون در پایگاه داده ذخیره شود. هر کدام از این ویژگی ها دارای نوع داده خاصی هستند (مثل در نظر n عدد صحیح، رشته و ...). اگر تعداد آنها را ثابت و برابر با n بگیریم هر زمان یک داده ورودی پردازش می شود. مقادیر این n ویژگی با ویژگی های موجود در قوانین مقایسه می شود. اگر داده ورودی کلیه محدودیت های قانون را برآورده کرد گفته می شود که الگوی متناظر با قانون با داده ورودی منطبق است. مجموعه ای که در ابتدا شامل تمامی قوانین است به عنوان ریشه درخت در نظر گرفته می شود. یک ویژگی انتخاب می شود و بر مبنای مقدار آن در قوانین مختلف، قوانین به زیرمجموعه هایی تقسیم می شوند که در حکم فرزندان ریشه هستند. مسئله اصلی در ساخت درخت تصمیم، انتخاب ویژگی یا صفتی است که به نحو مناسب داده ها را در کلاسهای مربوطه دسته بندی نماید. این عملیات روی همه زیرمجموعه ها تکرار می شود تا زمانی که همه داده هایی که در یک مجموعه قرار می گیرند متعلق به یک کلاس باشند. هر درخت تصمیم شامل نود، یال و برگ است. نودهای درخت معادل صفاتی است عملیات دسته بندی داده را بر اساس مقادیر آن صفات انجام می دهیم. یال ها با مقادیری که هر صفت برای یک زیرمجموعه خاص از داده ها دارد برچسب می خورد و برگ ها معادل.کلاسی است که بخشی از داده ها در آن قرار می گیرند
درختهای تصمیم روشی برای نمایش یک سری از قوانین هستند که منتهی به یک رده یا مقدار میشوند.درختهای تصمیمی که برای پیش بینی متغیرهای دسته ای استفاده میشوند، درختهای classification نامیده میشوند زیرا نمونه ها را در دسته ها یا رده ها قرار میدهند. درختهای تصمیمی که برای پیش بینی متغیرهای یپیوسته استفاده میشوند درختهای regression نامیده میشوند.[13]

از دیگر مزایای درخت تصمیم عبارتند از :[10]

· درخت تصمیم از نواحی تصمیم گیری ساده استفاده میکند.

· مقایسه های غیر ضروری در این ساختار حذف میشوند.

· آمادهسازی دادهها برای یک درخت تصمیم ساده یا غیر ضروری است.

·  درختهای تصمیم قادر به شناسایی تفاوتهای زیرگروه ها میباشد.

اغلب الگوریتم های یادگیری درخت تصمیم بر پایه یک عمل جستجوی حریصانه بالا به پائین در فضای درختهای موجود عمل میکنند.
در درخت تصمیم (ID3) از یک مقدار آماری به نام بهره اطلاعات Information Gain استفاده می شود تا اینکه مشخص کنیم که یک
ویژگی تا چه مقدار قادر است مثالهای آموزشی را بر حسب دسته بندی آنها جدا کند.
آنتروپی:
میزان خلوص (بی نظمی یا عدم خالص بودن) مجموعه ای از مثالها را مشخص می کند. اگر مجموعه S شامل مثالهای مثبت و منفی از یک
مفهوم هدف باشد آنتروپی S نسبت به این دسته بندی بولی بصورت زیر تعریف می شود :

توضیح تصویر

بهره اطلاعات (Information Gain) :
بهره اطلاعات یک ویژگی عبارت است از مقدار کاهش آنتروپی که بواسطه جداسازی مثالها از طریق این ویژگی حاصل میشود.
بعبارت دیگر بهره اطلاعات (Gain(S,A برای یک ویژگی نظیر A نسبت به مجموعه مثالهای S بصورت زیر تعریف میشود:

توضیح تصویر

که در آن (Values A) مجموعه همه مقدار ویژگی های A بوده و VS زیرمجموعه ای از S است که برای آن A دارای مقدار V است.
در تعریف فوق عبارت اول مقدار آنتروپی داده ها و عبارت دوم مقدار آنتروپی مورد انتظار بعد از جداسازی داده هاست





۱۰. 2.2 معرفی انواع معماری های تشخیص نفوذ



۱۰.۱. 2.2.1 سیستم تشخیص نفوذ مبتنی بر میزبان :12

این سیستم، شناسایی و تشخیص فعالیت های غیرمجاز بر روی کامپیوتر میزبان را بر عهده دارد. سیستم تشخیص نفوذ مبتنی بر میزبان می تواند حملات و تهدیداتی را روی سیستم های بحرانی تشخیص دهد (شامل دسترسی به فایل ها، اسب های تروا و …) که توسط سیستم های تشخیص نفوذ مبتنی بر شبکه قابل تشخیص نیستند. HIDS فقط از میزبان هایی که روی آن ها مستقر است محافظت می کند و کارت واسط شبکه ی (NIC) 17 آن ها به صورت پیش فرض در حالت باقاعده 18 کار می کند. حالت با قاعده ی، در بعضی از موارد می تواند مفید باشد. چون همه ی کارت های واسط شبکه ی قابلیت حالت بی قاعده 19 را ندارند. HIDS ها به واسطه ی مکانشان روی میزبانی که باید نظارت شود، از همه ی انواع اطلاعات محلی اضافی با پیاد ه سازی های امنیتی (شامل فراخوانی های سیستمی، تغییرات فایل های سیستمی و اتصالات سیستم) مطلع می باشند. این مساله هنگام ترکیب با ارتباطات شبکه ها، داده های خوبی را برای جستجوی رویداد های ممکن فراهم می کند.[7]

توضیح تصویر

مزیت دیگر HIDS توانایی سازماندهی بسیار خوب تصمیمات برای هر میزبان منحصر به فرد می باشد. به عنوان مثال نیازی نیست روی میزبانی که سرویس نام گذاری دامنه (DNS) 20 را اجرا نمی کند، قوانین چند گانه ای بررسی شوند که برای تشخیص سوءاستفاد ه ها از DNS طراحی شده اند. در نتیجه کاهش تعداد قوانین مربوطه، کارآیی را بالا می برد و سربار پردازنده را برای هر میزبان کاهش می دهد. همچنین HIDSها اطلاعات مشخصی در این باره که نفوذ از کجا، توسط چه کسی و چه موقع اتفاق افتاده است را فراهم می کنند. این عمل بسیار مفید است چون هیچ گونه کم کاری و حذف وجود ندارد.
در IDSهای مبتنی بر میزبان احتمال هشدارهای نادرست بسیار کم است، چرا که اطلاعات مستقیماً به کاربران برنامه های کاربردی بر می گردد. این IDS ها ترافیک کمتری نسبت به NIDS داشته و تاًکید بیشتری روی حسگرهای چندگانه ی مجزا و ایستگاه های مدیریت مرکزی 21 دارند.از معایب HIDSها سازگاری کم بین سیستم عامل و در نتیجه نرم افزارهای چندگانه است. اغلب IDSهای مبتنی بر میزبان تنها برای یک سیستم عامل نوشته می شوند. دیگر این که HIDS ها بعضی از حملات را که در لایه های پایین شبکه انجام می شوند، شناسایی نمی کنند.


۱۰.۲. 2.2.2 سیستم تشخیص نفوذ مبتنی بر شبکه10

نام NIDS از این حقیقت مشتق شده است که از منظر محلی که قرار گرفته، بر تمام شبکه نظارت دارد. شناسایی و تشخیص نفوذهای غیرمجاز قبل از رسیدن به سیستمهای بحرانی، به عهده ی سیستم تشخیص نفوذ مبتنی بر شبکه است NIDSها اغلب از دو بخش ناظر (حسگر) و عامل 22 تشکیل شده اند. این دو بخش اغلب در پشت دیواره ی آتش و بقیه نقاط دسترسی برای تشخیص هر نوع فعالیت غیرمجاز نصب می شود. عامل های شبکه می توانند جایگزین زیرساختار شبکه شوند تا ترافیک شبکه را جستجو کنند. نصب عاملها و ناظرها این مزیت را دارد که هر نوع حمله ای را در ابتدا از بین می برد. ضمناً دنباله های بررسی یک یا چند میزبان می توانند برای جستجوی علائم حملات، مفید باشند.

توضیح تصویر

عموماً کارت شبکه ی کامپیوتر در حالت باقاعده کار می کند. در این حالت عملیات، فقط بسته هایی که عازم آدرس ویژه ی فیزیکی(MAC) 23 کارت شبکه هستند ( یا بسته های همه پخشی 24 ) برای تحلیل به پشته پروتکلی فرستاده می شوند NIDS باید در حالت بی قاعده کار کند تا بر ترافیک شبکه که عازم آدرس MAC خودش نیست، نظارت داشته باشد. در حالت بی قاعده، NIDS می تواند روی همه ی ارتباطات در سگمنت های شبکه استراق سمع کند. عملیات کارت شبکه ی NIDS در حالت بی قاعده، برای حفاظت شبکه ضروری است. اگرچه از دید مقررات محرمانه و قوانین استراق سمع، نظارت بر ارتباطات شبکه مسئولیتی است که باید به دقت مورد رسیدگی قرار گیرد.شکل ۲ شبکه ای را نشان می دهد که از سه واحد NIDS استفاده کرده است. واحد ها روی سگمنت های استراتژیک قرار گرفته اند و می توانند بر ترافیک شبکه برای همه ی اجزای سگمنت ها نظارت کنند. این پیکربندی، استانداردی پیرامون توپولوژی امنیتی شبکه ارائه می دهد، به طوری که زیرشبکه های مجزای تحت پوشش سرویس دهنده های عمومی، به وسیله ی NIDS محافظت می شود.NIDS ها می توانند طوری برنامه ریزی شوند که مزاحمتی در طول کار ایجاد نشود. به طوری که حضور هر حمل های که تشخیص NIDSمی دهد، درون فایل رویدادها 25 ثبت کرده و بدون این که مهاجم متوجه شود، به مدیر شبکه اطلاع می دهد.سیستم های تشخیص نفوذ مبتنی بر شبکه نیاز به کلمه ی عبور برای برنامه های کاربردی، حقوق مربوط به سیستم عامل شبکه یا اتصالات مربوط به سیستم در هنگام اجرای نرم افزار ندارد. همچنین از آنجا که این سیستم ها در سطح لایه ی شبکه عمل می کنند، به سیستم عامل وابستگی ندارند. ضمناً هیچگونه سربار و تغییری روی سرویس دهنده ها و ایستگاه های کاری 26 به وجود نمی آورند، چرا که برای این سیستم های تشخیص نفوذ نیازی به نصب ابزارهای اضافی نیست.

معایب ها NIDS عبارتند از:
۱- بعضی از سیستم ها قادر به جمع آوری داده با سرعت بالا نیستند. NIDS به خاطر جمع آوری و تجزیه و تحلیل با سرعت بالا، ممکن است بسیاری از بسته ها را از دست بدهد. بعضی از NIDS ها در سرعتهای بالا تر از ۱۰۰Mbps دچار مشکل می شود.
۲- این سیستم ها فقط قادر ند به ترافیک سگمنت های محلی گوش دهند، یعنی فقط به کامپیوتر هایی گوش کنند که در آن سگمنت قرار دارند. ایده ال این است که NIDS به هر هاب و هر پورت معین روی یک سوییچ متصل شود. اگر حوزه ی دید محدود باشد، عملکرد نیز محدود خواهد شد.
۳- بسته به ساختار NIDS اگر میزان داده ها زیاد باشد، این داده ها به ایستگاه مدیریت مرکزی قابل برگشت می باشد. هرچه مقدار داده جمع آوری شده بیشتر باشد، متعاقباً ترافیک نیز بیشتر خواهد بود.
۴- واحد گزارش گیری می تواند تعداد زیادی از رویدادها را گزارش کند. به همین دلیل به یک فرد متخصص نیاز است تا گزارشات را تجزیه و تحلیل کرده و موارد نادرست را شناسایی کند.
۵- چنانچه ترافیک شبکه رمز شده باشد، NIDS نمی تواند الگوهای حمله را تشخیص دهد. به طور کلی NIDS ها در شبکه های سوییچ شده دچار مشکل هستند.

همان طور که گفته شد سیستم های تشخیص نفوذ مبتنی بر شبکه از دو بخش ناظر و عامل تشکیل شده اند.ناظر یک دستگاه یا یک بسته ی نرم افزاری شبکه را به منظور یافتن بسته های اطلاعاتی مشکوک بررسی می کند. عامل نرم افزاری است که معمولاً به طور جداگانه روی هر یک از کامپیوتر های مورد نیاز قرار می گیرد و نقش ارسال اطلاعات را به صورت بازخوردی به ناظر برعهده دارد. همچنین ممکن است بخش دیگری هم به نام کنسول مدیریت وجود داشته باشد که به شکلی مطمئن (با اعتبار سنجی و رمزنگاری) به ناظر متصل می شود و از آن گزارش دریافت می کند و نیز به تبادل اطلاعات مربوط به تنظیم پیکربندی سیستم می پردازد. این سیستم های تشخیص نفوذ با استفاده از تکنیک هایی مانند شنود بسته ها 27 ، داده ها را از درون بسته های اطلاعاتی TCP/IP یا سایر پروتکل ها که در حال جریان و نقل و انتقال در شبکه می باشند، استخراج می کنند. کارآیی این سیستم ها در برابر حملات جلوگیری از سرویس (DoS) 28 و اشغال پهنای باند می باشد.[7]


۱۰.۳. 2.2.3 سیستم تشخیص نفوذ توزیع شده13

این سیستم ها از چندین NIDS یا HIDS یا ترکیبی از این دو نوع همراه یک ایستگاه مدیریت مرکزی تشکیل شده است. بدین صورت که هر IDS که در شبکه موجود است گزارش های خود را برای ایستگاه مدیریت مرکزی ارسال می کند. ایستگاه مرکزی وظیفه بررسی گزارش های رسیده و آگاه سازی مسئول امنیتی سیستم را برعهده دارد. این ایستگاه مرکزی همچنین وظیفه به روزرسانی پایگاه قوانین تشخیص هر یک از IDS های موجود در شبکه را برعهده دارد. شکل ۳ یک سیستم تشخیص نفوذ توزیع شده را نمایش می دهد. NIDS 1,2 وظیفه محافظت از سرویس دهنده های عمومی و NIDS 3,4 وظیفه محافظت از شبکه داخلی را برعهده دارند. اطلاعات در ایستگاه مدیریت مرکزی ذخیره می شود. شبکه بین NIDS ها با سامانه مدیریت مرکزی می تواند خصوصی باشد و یا این که از زیرساخت موجود برای ارسال داده ها استفاده شود. وقتی از شبکه ی موجود برای ارسال داده های مدیریتی استفاده شود، امنیت های اضافی به وسیله ی رمزنگاری یا تکنولوژی شبکه های خصوصی مجازی VPN 29 حاصل می گردد.

توضیح تصویر

۱۱. آزمایش‌ها

۱۲. کارهای آینده

۱۳. مراجع

  1. Paul Innella and Oba McMillan, “An Introduction to Intrusion Detection Systems”, ۲۰۰۱

  2. Ning , peng , and sushil jajodia “Intrusion Detection Techniques”.2004

  3. Brian Caswell, Jay Beale, and Andrew R Baker, “Snort IDS and IPS Toolkit”, SyngressPublishing, 2007

  4. M. Analoui, A. Mirzaei, and P. Kabiri, “Intrusion detection using multivariate analysis of variance al-gorithm,”

  5. Brian Caswell, Jay Beale, and Andrew R Baker, “Snort IDS and IPS Toolkit”, Syngress Publishing, 2007.

  6. Kabiri, Peyman, and Ali A. Ghorbani. "Research on Intrusion Detection and Response: A Survey." IJ Network Security 1.2 (2005): 84-102.

  7. http://hafiz-cert.com/Services/article/view.aspx?OId=116&PageIndex=0

  8. by Przemyslaw Kazienko & Piotr Dorosz [Published on _7 April 2003_ / Last Updated on _7 April 2003_]

  9. .LixinWang, “Artificial Neural Network for Anomaly Intrusion Detection” ,٢٠٠٣

  10. Abuadlla Yousef, Zoran Jovanovic, “Flow-Based Anomaly Intrusion Detection System using Neural Network”, Computer Engineering Department,University of Belgrae,Belgrade, Serbia.٢٠١٢

  11. J.Han, and M.Kamber, "Data Mining: Concepts and Techniques", San Diego Academic Press, 2001.

  12. Alhazzaa, L., Intrusion Detection Systems Using Genetic Algorithms,12th Annual Canadian Information Technology Security Symposium, 2007.

  13. Kruegel, C., Toth, Th., Using Decision Trees to Improve Signature-Based Intrusion Detection, 43rd annual Southeast regional conference, 2005.














  1. Intrusion

  2. Firewall

  3. Intrusion Detection System

  4. Anomay Detection

  5. Misuse Detection

  6. Signature-Based Detection

  7. Threshold Detection

  8. Heuristic

  9. Statistical Measures

  10. Network-based Intrusion Detection System

  11. Rule-based Measures

  12. Host-based Detection System

  13. Distributed Intrusion Detection System

  14. Neural Network Intrusion Detection

  15. Genetic Algorithm

  16. Decision Tree

  17. Network Interface Card

  18. Non promiscuous mode

  19. promiscuous mode

  20. Domain Name Service

  21. Cetntralized management statement

  22. Agent

  23. Media Acess Control

  24. Broadcast

  25. Log file

  26. Workstation

  27. Packet Sniffing

  28. Denial of Service

  29. Virtual Private Network

۱۴. پیوندهای مفید

سعید عادل مهربان

سلام، وقت شما به خیر.
بابت زحمت‌هایی که کشیدید دست شما درد نکنه. لطف کنید قسمت‌هایی از متن که خودتون نوشتید رو از قسمت‌هایی که احیاناً از منابع دیگه اخذ کردید جدا کنید تا بشه کار رو ارزیابی کرد. ایمیل بنده رو از حل تمرین‌ها بگیرید و در اسرع وقت، پس از انجام کاری که عرض کردم به من اطّلاع بدید تا کار شما رو ارزیابی کنم.
موفّق باشید.