تشخیص نفوذ در شبکه‌های کامپیوتری

تشخیص نفوذ در شبکه‌های کامپیوتری (تحقیقاتی) | قسمت اول

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

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

۱٫ مقدمه

 

۱٫۱ نفوذ چیست و چگونه انجام می شود؟

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

 

۱٫۲ سیستم تشخیص نفوذ چیست؟

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

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

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

به طور کلی سه عملکرد اصلی عبارتند از[۱] :
۱) نظارت و ارزیابی
۲) کشف
۳) واکنش

۱٫۳ لزوم استفاده از سیستم های تشخیص نفوذ

در دنیای امروز، کامپیوتر و شبکه های کامپیوتری متصل به اینترنت نقش عمده ای در ارتباطات و انتقال اطلاعات ایفا می کنند. در این بین افراد سودجو با دسترسی به اطلاعات مهم مراکز خاص یا اطلاعات افراد دیگر و با قصد اعمال نفوذ یا اعمال فشار و یا حتی به هم ریختن نظم سیستم ها، عمل تجاوز به سیستم های کامپیوتری را در پیش گرفته اند Intruder و Cracker ،Hacker کلماتی هستند که امروزه کم و بیش در محافل کامپیوتری مطرح می باشند و اقدام به نفوذ به سیستمهای دیگر کرده و امنیت آن ها را به خطر می اندازد. بنابراین لزوم حفظ امنیت اطلاعاتی و حفظ کارآیی در شبکه های کامپیوتری که با دنیای خارج ارتباط دارند، کاملأ محسوس است[۱].
اما هدف سیستم ها تشخیص نفوذ جلوگیری از آن نیست بلکه تشخیص نفوذ و البته ضعف های سیستم کلی و گزارش آن به مدیر سیستم است. در واقع کار اجزایی مثل دیوار آتش و سیستم تشخیص نفوذ مکمل یکدیگر برای حفظ امنیت و مقابله با نفوذ به یک سیستم است. اما در واقع سیستم های تشخیص نفوذ نخستین خط دفاعی در مقابل نفوذ های احتمالی می باشند[۴] .

سیستم های تشخیص نفوذ برای بسیاری از سازمان ها ،از دفاتر کوچک تا شرکت های چند ملیتی ،ضرورتی هستند .برخی ازفواید این سیستم ها عبارتند از[۲]:
· کارایی بیشتر در تشخیص نفوذ،در مقایسه با سیستم های دستی

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

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

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

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

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

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

 

۱٫۴ روش های تشخیص نفوذ

“روش های تشخیص مورد استفاده در سیستم های تشخیص نفوذ به دو دسته تقسیم می شوند:”
الف- روش تشخیص رفتار غیر عادی
ب- روش تشخیص سوءاستفاده یا تشخیص مبتنی بر امضاء

۱٫۴٫۱ تشخیص رفتار غیر عادی

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

تکنیک ها و معیارهایی که در تشخیص رفتار غیرعادی به کارمی روند، عبارتند از[۱] :

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

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

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

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

۱٫۴٫۲تشخیص مبتنی بر امضا

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

۱٫۵ انواع معماری سیستم های تشخیص نفوذ [۱]

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

 

۲٫کارهای مرتبط

 

۲٫۱ معرفی راه های مختلف تشخیص نفوذ در روش تشخیص رفتار غیرعادی

روش های تشخیص نابهنجاری ،سعی در مدل کردن رفتار عادی سیستم دارد و هر اتفاقی که از این مدل تخلف کند،
در قسمت آزمایش ها در مورد نتایج آزمایش های مربوط به روش های مهم مطرح شده و مقایسه ی بین آن ها توضیحات کامل ارائه خواهد شد.
در واقع این تقسیم بندی ترکیبی از دسته بندی [۲] و روش های دیگر به دست آمده از [۵] و [۶] و [۷] است و در برخی نیز برداشت و توضیح من جایگزین متن اصلی شده است. (با ذکر منبع!)
روش های تشخیص نابهنجاری که در اینجا مورد بحث قرار می گیرد (که در فازهای بعدی امکان اضافه شدن و تکمیل آن ها وجود دارد)،عبارتند از:

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

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

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

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

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

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

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

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

· درخت تصمیم

مدل های آماری

مدل های آماری [۲] جزو اولین روش های استفاده شده برای تشخیص نفوذ است.در این روش بررسی می شود که فعالیت در حال بررسی تا چه میزان با فعالیت عادی و معمول یک کاربر مشابهت دارد. در واقع وجود تفاوت زیاد میان این رفتار با رفتار عادی می تواند معیار خوبی برای تشخیص نفوذ باشد. این میزان مشابهت با روش های مختلف آماری رخدادها می تواند بررسی شود که به اختصار در اینجا ذکر می شود :

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

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

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

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

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

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

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

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

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

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

بررسی فایل ها

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

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

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

 

شبکه عصبی

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

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

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

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

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

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

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

  • به تعداد ثابتی از نسل ها برسیم.
  • بودجه اختصاص داده شده تمام شود
  • بیشترین درجه برازش فرزندان حاصل شود یا دیگر نتایج
  • بهتری حاصل نشود
  • بازرسی دستی
  • ترکیب های موارد ذکر شده در بالا.

 

ادامه مقاله 

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
Feel free to contribute!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *