img

بررسی و طبقه بندی سیستم‌های تشخیص نفوذ

/
/
/

۱-مقدمه
امروزه، اینترنت در حال تجربه کردن حمله‌های متعددی ست که اطلاعات آن را در خطر قرار می‌دهد.بنابراین، حفاظت اطلاعات در حال حاضر شاهد تهدیدی با نام حمله‌های شبکه ایست. (۴۰) بنابراین، برای غلبه بر حمله‌های شبکه، سیستم‌های تشخیص نفوذ (IDS) به وجود آمدند تا در صورت حمله، سرپرست شبکه را مطلع سازند.(۱۶) IDS‌ها تحت مطالعه گسترده قرار گرفته‌اند تا فراهم‌کننده دفاعی عمیق در چهارچوب حفاظت شبکه‌ای باشند. IDSها معمولا به دو نوع دسته بندی می‌‌شوند: تشخیص بر پایه ناهنجاری(anomaly) و تشخیص بر پایه امضاء(Signature-based).(40) تشخیص بر پایه ناهنجاری از مرتب‌کننده‌ای استفاده می‌‌کند که داده را به داده نرمال و غیرنرمال طبقه بندی می‌‌کند.(۳۴) سیستم‌های تشخیص نفوذ تحت شبکه(NIDS)، به عنوان ابزار طبقه بندی شناخته می‌‌شوند که خود نیز با عواملی مثل بزرگی داده و تعدد ویژگی از یکدیگر تشخیص داده می‌‌شوند.(۴۴)
در سال‌های اخیر کاربران اینترنت از انواع متعددی از حمله‌ها آسیب دیده اند. بعضی اوقات چنین حمله‌های سایبری بسیار آسیب‌زننده اند و سالیانه بیلیون‌ها دلار هزینه بر جای می‌‌گذارند.(۲۸) بعضی از این حمله‌ها قادرند به اطلاعات حساسی مثل شماره کارت‌ها دسترسی داشته باشند یا در صورت حمله‌های منع سرویس(DoS)، از دسترسی قانونی کاربران به سرورها جلوگیری کنند.
معمول ترین حمله اینترنتی، نفوذ نام دارد. این روزها، سرویس‌های بسیار معروف اینترنتی شاهد تلاش‌های روزانه زیادی برای نفوذ هستند. بنابراین طراحی سیستمی ‌‌قدرتمند برای تشخیص حمله‌های سایبری به ضرورتی که نیازمند همکاری از افراد متعدد است، تبدیل شده است.
این مقاله اینگونه تنظیم شده است: در بخش ۲؛ خصیصه‌‌های استخراج شده‌ای که از فاز پیش‌پردازش به دست آمده‌اند را توضیح می‌‌دهیم.
سپس تفاوت الگوهای آنالیزکننده‌های IDS به مشروح به همراه معرفی دانشی که توسط الگوریتم‌های فراگیری و سامانه‌های دسته بندی استفاده می‌‌شود، در بخش ۳ آورده می‌‌شود.
در بخش۴ جزء تصمیم گیرنده IDS را معرفی می‌‌کنیم. الگوریتم‌های مورد استفاده در فاز تشخیصی که تصمیمات متنوع سیستمی ‌‌اتخاذ می‌‌کنند، در این بخش آورده می‌‌شوند. بخش تصمیم گیرنده سیستم به تفصیل در بخش پنجم معرفی می‌‌شود. بخش‌های باقیمانده چهارچوب IDS بالاتر از گنجایش این فصل است.
بخش ۶؛ نتایجی از این فصل را به همراه مسائل قابل بحث در آینده، ارائه می‌‌دهد. همچنین مقایسه ای کاربردی و چند بررسی راجع به هر بخش ارائه می‌‌دهیم. اجزاء IDS که در این مقاله تحت پوشش قرار گرفته اند، در شکل ۱ مشاهده می‌‌شوند.

 

بررسی و طبقه بندی سیستم‌های تشخیص نفوذ

 

۲-استخراج ویژگی‌ها
فاز پیش‌پردازش، چند الگو(دسته‌هایی از ویژگی‌ها) که برای تجزیه و تحلیل الگو و فاز دسته‌بندی مورد استفاده قرار می‌گیرند، تولید می‌‌کند. این الگو‌ها بر اساس الگوریتم یادگیری استفاده شده، انواع مختلفی (عدد صحیح(Integer)، اعشاری(Float)، نمادها(Symbols) و غیره) دارند. خصیصه‌های به دست آمده در مقاله (۳۲) خواص آماری از توالی‌های دسته شده هستند که بعد از تبدیل به خواص آماری مربوط به انتقال حالات ماشین به دست آمده اند.
در مقاله (۲۷) الگوهای تولید شده، نشاندهنده الگوهای از پیش تعیین شده حاصل از فاز پیش‌پردازش هستند. الگوریتم‌های معرفی شده در مقاله (۲۴) احتمال تجربی توکن‌های موجود در نمونه (چه مخرب چه نرمال) را حساب می‌‌کنند. در مقاله (۶)، خصیصه‌های استخراج شده شامل بررسی‌های نرمال و داده‌های حاصل از بررسی ده کاربر است که اعمال مختلفی مثل برنامه نویسی، وب گردی و انتقال داده‌های FTP را طی یک ماه انجام داده اند.
حالا که خصیصه‌های استخراج شده از فاز پیش‌پردازشی و انواع آن‌ها را توضیح دادیم، در بخش بعدی آنالیزکننده الگوهای سیستمی ‌‌را توضیح می‌‌دهیم.

۳- آنالیز کننده الگو
قدم بعدی استفاده از یک دسته بندی‌کننده مناسب، برای طبقه بندی خصیصه‌‌های استخراج شده به دست آمده از فاز پیش-پردازشی، به داده تهدیدی، نرمال یا ناهنجاری است. در این بخش هدف، توضیح چگونگی کارکرد آنالیزکننده الگو ست. در بخش‌های بعدی وقتی از مرتب‌کننده‌ها حرف می‌‌زنیم، مقایسه‌های متععدی بین عملکرد روش‌های متنوع، بعد از اعمال معیارهای معمول برای بررسی، انجام می‌‌شود. بعضی از مرتب‌کننده‌های سامانه تشخیص نفوذ، با پروفایل کاربر و رفتار سروکار دارند، بنابراین بعدها از یادگیری ماشینی برای آموختن پروفایل کاربری و مقایسه این پروفایل با رفتارهای مشاهده شده با الگوهای رفتاری و تشخیص ناهنجاری‌ها استفاده می‌‌کند. (۲۲)
با این حال، بعضی دسته بندی‌کننده‌ها در تصمیم‌گیری‌های نهایی از هیچ الگوریتم یادگیری استفاده نمی‌‌کنند. (۴۳)
در کل، یک سیستم دسته بندی‌کننده از سه جزء عمده تشکیل شده است:
۱- جزء تصمیم گیرنده، که در نهایت داده حاصل از فاز قبلی را طبقه بندی می‌‌کند.
۲- جزء ارائه دهنده دانش، که در تجمیع اطلاعات از داده‌های نمونه‌ای همکاری دارد و بخش تصمیم‌گیرنده را تغذیه می‌‌کند.
۳- الگوریتم یادگیری (دلخواه)، که از دانش به دست آمده از بخش قبلی استفاده می‌‌کند.
با اینکه ترتیب اصلی با ترتیب ذکر شده در بالا مغایرت دارد، می‌‌خواهیم با بخش تصمیم‌گیرنده شروع کنیم زیرا هدف اصلی این فاز، فرایند تشخیص است که با بخش تصمیم گیرنده انجام می‌‌شود. به علاوه این بخش به دانشی معرفی شده احتیاج دارد تا بتواند تصمیم بگیرد و دانش معرفی کننده دیگری بسازد، که برای انجام آن نیز به الگوریتم یادگیری احتیاج دارد. بخش بعدی هر قسمت را به تفصیل توضیح می‌‌دهد.

 

۳-۱- الگوریتم‌های یادگیری
برای استفاده از ویژگی‌های به دست آمده از فاز پیش‌پردازش برای تشخیص تهاجم‌ها، بهتر است از الگوریتم یادگیری برای یادگیری از این داده و سپس استفاده از آن برای تشخیص تهاجم‌ها استفاده شود.
الگوریتم‌های یادگیری از لحاظ داده‌های ورودی که می‌توانند نامگذاری شده و یا بی نام و همچنین نوع خصیصه‌ها متفاوت اند. بعضی دیتاست‌ها مثل KDD Cup 99 شامل داده‌های نامگذاری شده نرمال و تهاجمی(توسط تک حمله و مشخص) برای اهداف آموزش و آزمون هستند، درحالیکه باقی دیتاست‌ها داده‌های خود را نامگذاری نمی‌‌کنند. محققان از انواع متعددی از الگوریتم‌های یادگیری برای تشخیص تهاجم استفاده می‌‌کنند. در این متن، انواع مختلفی از الگوریتم‌های یادگیری بحث شده است: نزول گرادیان(gradient descent)، الگوریتم بام_ولش(Baum–Welch)، یادگیری خواص آماری(statistical properties)، برنامه نویسی شبکه ژنتیکی و دیگر الگوریتم‌های یادگیری ماشین.

۱-۱-۳- الگوریتم گرادیان نزولی(Gradient Descent Algorithm)
شبکه‌های عصبی، یکی از روش‌های فعال در ساخت سیستم یادگیری برای تشخیص تهاجم‌ هستند. در مقاله (۲۲) محقق از الگوریتم Back-Propagation برای آموزش شبکه در جهت ورودی و استفاده از آن برای طبقه‌بندی داده‌های آزمایشی استفاده کرده است. این الگوریتم برای آموزش چندلایه، تغذیه‌کننده و سرپرستی شبکه‌های عصبی تعبیه شده است. در این روش، شبکه با انواع مختلف حمله و داده‌های نرمال برای تشخیص حمله‌های مختلف، آموزش داده می‌‌شود. پیدا کردن وزن‌های بهینه(optimal weights) شبکه با اعمال افزونه‌ای از گرادیان نزولی ممکن می‌‌شود.
سیستم تشخیص تهاجم برمبنای هاست، نوع دیگری از سیستم‌های تشخیصی ست که داده‌های ورودی را از بررسی «هاست» به دست می‌‌آورد. مدلی که در مقاله (۱۷) معرفی شده است برای تشخیص نفوذهای غیر معمول و سوء استفاده (misuse) با به کارگیری دو روش عمده استفاده می‌‌شود: آنالیز فایل log و شبکه عصبی BP. محقق، سیستم تشخیص تهاجم برمبنای هاست را پیشنهاد می‌‌دهد که از شبکه عصبی BP برای تشخیص نفوذهای غیر معمول و سوء استفاده(misuse)، استفاده می‌کند. شبکه BP برمبنای ارزش‌های ذکرشده آموزش دیده تا حین تشخیص ناهنجاری یک پروفایل کاربری، با استفاده از شبکه عصبی چندلایه بسازد. (۱۷)

 

۳-۱-۲- الگوریتم بام_ ولش
مدل مخفی مارکوف
(HMM-Hidden Markov Models)
تکنیک دیگری در تشخیص تهاجم است. در مقاله (۶)، از آن برای مدلسازی توالی اطلاعات مربوط به سیستم درحال کار،‌‌ به منظور کاهش نرخ مثبت کاذب و افزایش نرخ تشخیص ناهنجاری استفاده شده است. معمولا برای تخمین پارامترهای آن، الگوریتم بام_ولش استاندارد با معیار برآورد درست‌نمایی بیشینه
(Maximum-Likelihood Estimation-MLE)
استفاده می‌‌شود. محقق نیز چون الگوریتمی ‌‌ساده، تعریف شده و ثابت است، از آن استفاده کرده است. (۶)

 

۳-۱-۳- امکانات یادگیری آماری
این روش بر رفتارهای غیرعادی برای تشخیص ناهنجاری‌ها تمرکز دارد، بنابراین نیازمند یادگیری نرخ انتقال از حالت رفتار نرمال به رفتار غیرنرمال است. در این روش، محققان از توزیع فراوانی(frequency distributions) برای نمایش پدیده شبکه استفاده می‌‌کنند. توزیع فرکانس برای امکانات نوع ۱ استفاده می‌‌شوند (وقتی یک انتقال مشخص در حالت ماشین رخ می‌‌دهد)، درحالیکه برای امکانات نوع ۲ (مقدار حالت به خصوصی از متغیر یا در ردیابی دسته‌های بازگشتی) توزیع مقادیر، برای متغیر دلخواه اعمال می‌‌شود. (۳۲)

 

۳-۱-۴- برنامه نویسی شبکه ژنتیکی (GNP)
این برنامه نویسی روش دیگری برای تشخیص هر دو نوع نفوذ است: غیرمعمول و سوء استفاده (anomaly and misuse). در مقاله (۹)، الگوریتم یادگیری با rule mining آغاز می‌‌شود که از GNP برای آزمون مقادیر اختصاص داده شده و محاسبه سنجش دستورهای مربوطه با استفاده از نودهای پردازشی استفاده می‌‌کند.
برای دسترسی به توزیع متوسط تطابق
(average matching degree)
درجه متوسط تطابق بین داده ارتباطی نرمال و دستورات، در خزانه دستورات نرمال، محاسبه می‌‌شود. بعدها درجه تطابق در فاز طبقه بندی(فاز تشخیص) برای تصمیم گیری سیستم استفاده می‌‌شود.

 

۳-۱-۵- الگوریتم‌های دیگر یادگیری ماشین
در مقاله (۱۵)، جاییکه محقق از یادگیری ماشین برای تشخیص ناهنجاری استفاده می‌‌کند، فاز تشخیصی شامل دو گام است: محاسبه مشابهت توالی و طبقه بندی رفتار کاربر. در گام اول: سیستم سنجش مشابهتی عددی، محاسبه می‌‌کند که حاصل از تعداد تطابق‌های مجاور بین دو توالی است. بالاترین امتیاز این سنجش به معنای مشابهت بیشتر است.
دومین گام فاز تشخیصی، طبقه بندی رفتار کاربر است. این گام، جریان را پردازش می‌‌کند، نشانه به نشانه، و در هر نقطه نشان می‌‌دهد که این کاربر عادیست یا خیر. این تعیین، طبقه بندی کابران نام دارد. طبقه بندی طبق یک ارزش آستانه‌ای(threshold value) تعریف می‌‌شود. اگر متوسط ارزش، از آستانه بزرگتر باشد، نمونه نرمال و در غیر اینصورت غیرنرمال نام می‌‌گیرد. (۱۵)
در مقاله (۳۵) که از الگوریتم یادگیری ماشین برای تشخیص ناهنجاری استفاده کرده است، فاز تشخیص تجربی شامل سه زیربخش است: packet filtering، field selection و packet profiling.

هر زیربخش در ادامه توضیح داده خواهد شد:
الف) packet filtering: هدف حذف دسته‌های بدشکل از ترافیک خام است.
ب) طرح field selection با استفاده از الگوریتم ژنتیک (GA) عملی می‌‌شود. تست‌های مقدماتی با استفاده از ارزش پارامترهای معمول ژنتیک، برای یافتن پارامترهای قابل قبول ژنتیک، انجام می‌‌شود.
ج) برای packet profiling، از ویژگی یک شبکه عصبی خودسازمان‌دهنده
SOFM(Self-Organized Feature Map)
به منظور ایجاد شاخه‌های مختلف استفاده می‌‌شود. دسته‌های خام آماده شده، دسته‌های خام ۶۰۰۰۰تایی از دو منبع مختلف ۳۰۰۰۰ تایی هستند. یک منبع برای داده‌های نرمال و دیگری برای انواع مختلف دسته‌های جمع شده از اینترنت است.
د) مقایسه میان سه SVM و تست‌های اعتبار سنجی متقابل: این گام شامل آزمودن سه SVM است: روش تحت‌نظارت سافت مارجینSVM، SVM تک کلاسه به‌عنوان روشی که تحت نظارت نیست و SVM پیشرفته پیشنهادی. آزمایش همه آن‌ها با استفاده از چهار نوع مختلف از توابع کرنل SVM صورت گرفته است.
در مقاله (۴۵)، فاز یادگیری به دو گام تقسیم می‌‌شود: Rule Pruning و Rule Growing. در مرحله Rule Growing (GrowRule) الگوریتم Rule Growing برای کنترل هر ویژگی در یک مجموعه درحال رشد، استفاده و بهترین شرط تقسیمی(split condition) انتخاب شده است. طی فرآیند یادگیری، شبکه با داده‌های تهاجمی ‌‌و نرمال آموزش می‌‌بیند. از الگوریتم یادگیری قانون(FILMID) برای انجام یادگیری استنتاجی و تشکیل مدل تشخیصی دوپروفایله از ذخایر شبکه‌های ارتباطی نامگذاری شده، استفاده شده است. علاوه بر FILMID، دو الگوریتم دیگر(RIPPER و C4.5) در روند آموزش برای چهار کلاس تهاجمی ‌‌مورد استفاده قرار گرفته اند.
با استفاده از الگوریتم‌های ذکرشده در بالا در فاز آنالیز الگو، چندین مقایسه صورت پذیرفته است. استفاده از شبکه‌های عصبی در ایجاد پروفایل کاربر یا برای آموزش دادن داده‌های آموزشی و آزمودن داده‌های آزمودنی در تشخیص نفوذهای غیرمعمول و سوء استفاده، کمک می‌‌کند؛ درحالیکه HMM برای مدلسازی رفتار نرمال از داده‌های بررسی شده نرمال استفاده می‌‌کند.
امکانات یادگیری آماری برای تشخیص ناهنجاری‌ها با استفاده از یادگیری توزیع فرکانس شبکه، تشخیص رفتارهای غیرطبیعی را به عهده دارد. GNP توسط rule mining در بررسی ارزش‌های ویژگی‌های اختصاصی و محاسبه اندازه‌گیری‌های قواعد ارتباطی با استفاده از نودهای پردازشی برای تشخیص نفوذهای غیرمعمول و سوء استفاده، استفاده می‌‌شود. الگوریتم یادگیری POMDP در مقاله (۱۴) برای تشخیص‌ نفوذهای غیرمعمول و سوء استفاده ، استفاده شده است.
یادگیری، پارامترهای مدل را برای استفاده از الگوریتم EM به کار گرفته است. یادگیری ماشین همچنین در مقاله (۳۵) برای تشخیص ناهنجاری استفاده شده است. فاز تشخیصی این روش شامل فیلتر دسته ای، انتخاب زمینه و پروفایل‌بندی دسته‌ای برای تشخیص تهاجم‌هاست.
مدل، شامل ساخت یک پروفایل دوتایی بر مبنای یادگیری استنتاجی ست که همزمان از تکنیک‌های تشخیص نفوذهای غیرمعمول و سوء استفاده شده بهره می‌‌برد.
بعضی الگوهای یادگیری داده‌های متوسط تولید می‌‌کنند که بعدها می‌‌تواند در تصمیم‌گیری مرتب‌کننده‌ها طی فاز تشخیص، استفاده شود. بعضی از فرم‌های معمول ارائه دانش، در بخش بعدی توضیح داده شده اند.

۳-۲- ارائه دانش
در مسئله تشخیص تهاجم، ارائه دانش می‌‌تواند یکی از موارد زیر باشد: وزن‌های حاصل از آموزش به شبکه عصبی، قوانین حاصل از منطق فازی(fuzzy logic)، احتمالات شرطی حاصل از اعمال مدل‌های مخفی مارکو، تابع هزینه در POMDP، نتایج حاصل از بررسی log، درخت‌های تصمیم‌گیری، یا قوانین امضاء(signature rules). هر کدام از ارائه‌های ذکر شده در بخش‌های آینده توضیح داده خواهد شد.

 

الف) سنجش‌ها
نتایج الگوریتم یادگیری نزول گرادیان، ارائه دهنده سنجش مقادیر ارتباطی بین نورون‌هاست که معمولا به صورت ماتریس طبقه‌بندی شده اند و ماتریس وزن(weight matrix) نامیده می‌‌شوند. مثال استفاده از شبکه‌های عصبی در IDS، مدلی‌ست که در مقاله(۲۲) ارائه شده، که در آن از الگوریتم نزول گرادیان برای آموزش شبکه عصبی پیشبینی‌کننده داده‌های نرمال و تهاجمی استفاده شده است. در مقاله (۱۰) مفهومی ‌‌مشابه استفاده شده اما در دو شبکه عصبی: پرسپترون چندلایه(MLP) و نقشه‌های خودسازماندهنده(SOM). روش استفاده شده ابتدا از شبکه SOM برای شاخه بندی شدت ترافیک و سپس از شبکه آموزش دیده MLP برای تصمیم‌گیری استفاده کرده است.

 

ب) قواعد
قواعد فازی، نوع دیگری از ارائه دانش هستند که یادگیری مفیدی را فراهم می‌‌کنند. در مقاله(۳۳) قواعد فازی شامل متغیرهای عددی ست که نمایانگر جزء IF و یک برچسب مشخص‌کننده کلاس که توسط جزء THEN ارائه شده، هستند. این قواعد به صورت اتوماتیک با فازبندی متغیرهای عددی قواعد مشخص(جزء IF) به دست می‌‌آیند درصورتیکه بخش THEN به عنوان نتیجه جزء IF است.

 

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

د) تابع هزینه در POMDP
مدل ارائه شده در مقاله (۱۴) برمبنای معرفی همزمان مهاجم و کاربر قانونی به عنوان متغیرهای تصادفی و هم‌جنس مارکو در معادلات
At{a1,..,an} و Ut{u1,..,un}
عمل می‌کند. در زمان t حالت کامپیوتر، Xt نامیده می‌‌شود که می‌‌تواند توسط مهاجم و کاربر تولید شده باشد و توسط متغیر تصمیم‌گیری Dt{USER, ATTACKER} کنترل می‌‌شود. سیستم، زمانی تحت تهاجم است که داده حاصله توسط مهاجم به دست آمده باشد، یعنی Dt=ATTACKER شود. گام بعدی انتخاب عملیات است، زمانیکه یک متغیر اضافی Ct{ALARM, NOALARM} برای مدل کردن اقدامات سامانه تشخیص نفوذ استفاده می‌‌شود.

 

ذ) رویدادهای حاصل از بررسی log
در مقاله (۱۷) فایل log توسط مرورگر بررسی می‌‌شود و رویدادها برای اعمال یکسری تغییرات به آنالیزکننده log فرستاده می‌‌شوند. به علاوه منابع سیستم نیز توسط مرورگر منبع سیستم‌ها، مانیتور می‌‌شود و حالت آن‌ها به آنالیزگر منابع سیستمی ‌‌در هر واحد زمان فرستاده می‌‌شود. در نهایت، بخش پاسخ دهنده فعال، که رویدادها را از آنالیزگر log و منابع سیستمی‌‌ دریافت می‌‌کند، مسئول انتخاب پاسخ مناسب برای موقعیتی ست که می‌‌تواند: اطلاع رسانی به کاربران، حسابرسی، قطع اتصال شبکه و غیره باشد.

 

ر) درخت‌های تصمیم گیری
آنالیزگرهای الگو می‌‌توانند برای ساخت مدل تشخیص نفوذ از درخت تصمیم گیری استفاده کنند. این درخت‌ها فرایند یادگیری دارند که به ارائه دانش ختم می‌‌شود و می‌‌تواند در فاز تشخیصی استفاده شود.
هدف اصلی مرتب‌کننده درخت تصمیم‌گیری، تبدیل مداوم دیتاست‌های دریافتی به زیردسته‌هاست تا جاییکه تمام عوامل در زیرمجوعه نهایی به یک کلاس مربوط شوند. سه مدل از درخت تصمیم‌گیری در مقاله(۱۲) استفاده شده است: الگوریتم‌های ID3، C4.5 و C5.0. نوع دیگری از درخت تصمیم‌گیری، NBTree است که هیبریدی از درخت تصمیم‌گیری و NaïveBayes است. دانش ارائه شده از NBTree، درختی ست که برگ‌هایش مرتب‌کننده‌های NaïveBayes هستند.
در مسئله تشخیص نفوذ، دسته کننده درخت تصمیم‌گیری می‌‌تواند در شناخت داده شبکه به عنوان مخرب، بی خطر، در حال بررسی یا هر دسته دیگری با استفاده از اطلاعات پورت‌های منبع/مقصد، آدرس‌های IP و تعداد بایت‌هایی که طی یک کانکشن فرستاده می‌‌شود، موثر باشد.

ژ) قواعد از پیش تعیین شده
یکی از تکنیک‌های مفید در تشخیص نفوذ، استفاده از قواعد از پیش تعیین شده است. در مقاله (۱۹) چندین قانون محافظتی که از اطلاعات شبکه مثل آدرس بسته منبع، آدرس بسته مقصد، پورتی که از آن بسته دریافت شده و نوع بسته(پروتوکول)، استفاده می‌کند، معرفی شده است.
قوانین به وجود آمده(ارائه دانش) به صورت دینامیکی و براساس نیازهای شبکه تغییر می‌‌کنند. قاعده رفتاری نوع دیگری از قوانین است که می‌‌تواند در تشخیص نفوذها مثل مدلی که در مقاله (۲۰) ارائه شده، مورد استفاده قرار گیرد و هم‌چنین می‌تواند برای تبیین رفتارهای قابل قبول در ابزارهای پزشکی موثر باشد.

 

بررسی و طبقه بندی سیستم‌های تشخیص نفوذ

۴- بخش تصمیم گیرنده (فاز تشخیصی)
دومین فاز سامانه‌های تشخیص نفوذ، فرایند تشخیص تهاجم است. الگوریتم‌های تشخیص دهنده متعددی با گام‌های متنوعی، برای دستیابی به این هدف لازمند. بعضی از آن‌ها به آموزش نیاز دارند و بعضی نیاز ندارند، همچنین بعضی به ایجاد قاعده نیاز دارند.

 

۴-۱- شبکه‌های عصبی
در مقاله (۲۲) بعد از اینکه یک شبکه در دو کلاس داده‌ای تحت آموزش قرار گرفت: نرمال و تهاجمی‌، برای فاز آزمون آمده می‌شود. هر سه شبکه دقت تشخیص ۹۹درصدی نشان دادند. محدودیت این روش در نظر نگرفتن نوع خاصی از حمله و رویارویی با دو کلاس داده‌ای است: نرمال و تهاجمی‌. بعضی دیتاست‌های جدید، بین تهاجم‌ها تمایز قائل می‌‌شوند زیرا واکنش حاصل از IDS در برابر هر نوعی از تهاجم متفاوت است.

 

۴-۲- درخت تصمیم
درخت تصمیم گیری در اپلیکیشن‌های متعددی با موفقیت مورد استفاده قرار گرفته است. در مقاله(۸)، محقق از روشی برای تشخیص نفوذ به شبکه استفاده کرده که برمبنای دسته کننده‌ها، درخت‌های تصمیم گیری و قواعد تصمیم گیری ست. فاز تشخیصی در این کار، شامل گام‌های متعدد و استفاده از الگوریتم‌های دسته بندی مختلف است. به عنوان الگوریتم‌های دسته بندی J48 استفاده شده است. سپس الگوریتم دسته بندی درخت NnaïveBayes اعمال شده و بعد جدول تصمیم برای ارزیابی ویژگی زیرمجموعه‌ها با استفاده از بهترین الگوریتم‌های جستجو استفاده شده است. آخرین الگوریتم طبقه بندی، OneR بود که برای تولید درخت تصمیم‌گیری یک مرحله‌ای به همراه مجموعه‌ای از قوانین ارائه دهنده استفاده شده بود. با اینحال، این روش شامل محاسبه نرخ هشدار نادرست (False Alarm Rate-FAR) نبود، که معیاری مهم در ارزیابی IDS است.

۴-۳- منطق فازی
مدل ارائه شده در مقاله(۳۳) برای تشخیص نفوذ anomaly در شبکه مورد استفاده قرار گرفته است. محقق مدل را بر دیتاست KDD cup99 اعمال کرده است. از آنجا که این دیتاست برای کنترل، زیادی بزرگ است، فقط ۱۰درصد آن برای آموزش دیدن و آزمون انتخاب شده است و داده از میان داده‌های تهاجمی ‌‌و نرمال جمع آوری شده است. فاز تشخیصی که از منطق فازی برای تشخیص نفوذ استفاده می‌‌کند دو زیر بخش دارد: ماژول تصمیم فازی و یافتن طبقه بندی مناسب برای ازمون ورودی. گام اول برای انتخاب مناسب ترین ویژگی برای طبقه بندی ذخایر است(نرمال و تهاجمی‌). این انتخاب با اعمال روش انحراف(deviation method) انجام شده است که از قطعات تکرارشونده به طول یک‌ که از هر مشخصه به دست آمده و سپس آنها در بردار ذخیره کرده است، استفاده می‌کند.
قاعده پایه، دانشی‌ست که شامل مجموعه‌ای از قوانین مورد نیاز حاصل از قوانین قطعی ست. نتیجه موتور استنتاج(Inference Engine) از {Low, High} به دست می‌‌آید. سپس defuzzifier آن خروجی را به مقادیر مورد استفاده تبدیل می‌‌کند. این مقادیر کاربردی بین ۰ و ۱ متغیرند، صفر نشاندهنده داده نرمال و یک نشاندهنده داده ایست که کاملا مورد تهاجم قرار گرفته است.

 

بررسی و طبقه بندی سیستم‌های تشخیص نفوذ

۴-۴- برنامه نویسی شبکه ژنتیک
بعد از محاسبه درجه تطابق در فاز یادگیری، کلاس یک داده ارتباطی جدید d، نیاز به شناخته شدن دارد. فاز تشخیص شامل ورود به مجموعه‌ای از دستورات IF-THEN-ELSE، برای پیش بینی کلاس داده از محاسبه‌های ذکر شده است؛ چه نرمال و چه مهاجمی ‌‌شناخته شده یا ناآشنا باشد. با اینحال، محدودیت این روش این است که دقتی بالاتر از ۹۰ درصد ارائه نمی‌‌دهد که در برابر روش‌های اخیر آنچنان بالا محسوب نمی‌‌شود. (۹)

 

۴-۵٫ ماشین بردار پشتیبان(SVM)
مدلی که در مقاله (۴۲) ارائه شده به استفاده از روش SVM برای تشخیص نفوذ به شبکه‌ها احتیاج دارد. مدل پیشنهادی در برابر چهار نوع مهاجم تست شده است: DoS، R2L، U2R و حمله‌های تفحصی. سیستم تشخیص نفوذ، شامل سه بخش است: یک ماژول اکتسابی برای دسته داده‌ها، عامل تشخیص نفوذ و عامل مدیریت. عامل تشخیص نفوذ، مسئول تشخیص فعالیت‌های غیرقانونی(حمله) است. این عامل از SVM برای شناخت نفوذ استفاده می‌‌کند. عامل مدیریت، مسئول سازماندهی عملکرد عاملین تشخیص نفوذ و ثبات کل سیستم است.
اشکال احتمالی در این روش فقدان اعمال اعتبار سنجی متقابل در ارزیابی نتیجه مرتب‌کننده‌های SVM به منظور دست‌یابی به نتایج مورد اطمینان تر است.

 

۴-۶- بعضی روش‌های دیگر تصمیم گیری
با توجه به محدودیت فضایی، اینجا روش‌های دیگر تصمیم گیری را معرفی می‌کنیم تا خواننده‌ها را برای کاوش بیشتر راجع به روش‌های مبتنی بر اختصاصیت، روش عامل محرک، آگاهی موقعیتی، تشخیص بدافزار، یادگیری استنتاجی سریع و انتخاب منفی ترغیب کنیم. جدول ۲ خلاصه‌ای کوتاه از روش‌های تشخیصی و فواید آن‌هایی که در بالا ذکر شده ارائه می‌‌دهد.

 

بررسی و طبقه بندی سیستم‌های تشخیص نفوذ

 

بررسی و طبقه بندی سیستم‌های تشخیص نفوذ

 

۵- طبقه‌بندی تصمیم
عموما، فاز تشخیص باید تصمیمی ‌‌راجع به الگوریتم تشخیص اتخاذ شده، ارائه دهد. در بعضی پروژه‌ها مثل مقاله(۱۷)، تصمیم به عنوان گزارشی به سرپرست ارائه شده و گزارش حسابرسی نام گرفته است. این گزارش می‌‌تواند در آگاه سازی کاربران، بررسی یا قطع اتصال از شبکه نیز دخیل باشد. فرایند تشخیص نفوذ و نوع حمله توسط دیتابیس بررسی کننده ثبت می‌‌شوند تا در آینده از آن‌ها استفاده شود. معمولا، تصمیم سیستمی‌‌ یکی از این سه نوع است: تهدید، ناهنجاری(anomaly) یا نرمال.
مقالات متعددی با تصمیمات متنوعی در این فصل مورد بررسی قرار گرفته اند. بعضی از آن‌ها فقط تصمیمی ‌‌مبتنی بر این می‌‌گیرند که داده ناهنجار(anomaly) یا نرمال است مثل مقالات (۲، ۱۵، ۳۲ و ۳۸). بعضی از مقالات دیگر تصمیمات خود را محدود به سه گزینه می‌‌کنند: غیرمعمول(anomaly)، سوء استفاده (misuse) یا نرمال. بخش‌های بعدی تصمیمات IDS را با تفصیل توضیح می‌‌دهند.

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

 

الف) حملات دسترسی(Access)
زمانی که مهاجم قصد دارد به اطلاعاتی دسترسی پیدا کند که اجازه دسترسی به آن‌ها را ندارد. اطلاعات ممکن است حین انتقال یا مقرر بودن در یک محل تحت این نوع حمله قرار بگیرند. محرمانه بودن اطلاعات را تحت اثر قرار می‌‌دهد. درکل، یک حمله دسترسی به سه زیرکلاس تقسیم می‌‌شود:
۱- Snooping: به دنبال پیدا کردن اطلاعات مفید در فایل‌های اطلاعاتی می‌‌گردند.
۲- Eavesdropping: گوش دادن به مکالمه‌ای که شخص سوم، جزئی از آن نیست. زمانی اتفاق می‌‌افتد که شخص غیرمجاز به مکانی که امکان دارد اطلاعات از انجا بگذرد، دسترسی پیدا می‌‌کند، شکل۳٫
۳- Interception: نوع جدی تری از استراق سمع در یک سیستم است. در آن مهاجم جلوی انتقال اطلاعات را قبل ازینکه به شخص مورد نظر برسد، می‌‌گیرد. بعد از بررسی اطلاعات، مهاجم انتخاب این را دارد که بگذارد اطلاعات انتقال یابد یا خیر، شکل۴٫
۴- IP sweep: این نوع حمله طوری طراحی شده تا محدوده‌ای از آدرس‌های IP را با فرستادن درخواست‌های متعدد پینگ به محدوده IP کامل و انتظار برای دریافت پاسخ، شناسایی کند که به هاست‌های فعال در شبکه هدف مربوط می‌‌شوند. هدف پشت این تکنیک، کمک به مهاجم برای شناختن آدرس‌های IP قانونی در دومین هدف و در زمان حمله ست.

حملات تجسس و پیمایش (Probing Attack)‌‌ نوعی دیگر از حمله‌های اسکن شبکه است. زمانی اتفاق می‌‌افتد که مهاجم اسکنی جامع روی شبکه به منظور دریافت اطلاعات یا پیدا کردن نقاط آسیب پذیر انجام می‌‌دهد. اسکن پورت، تکنیکی برای فهمیدن این است که کدام پورت‌ها باز هستند و می‌‌تواند مهاجم را آگاه سازند که چه سرویس‌های بالقوه‌ای در سیستم در حال اجرا هستند که می‌‌توانند تحت حمله قرار بگیرند. اسکن پورت، دو جنبه دارد. اولین مورد این است که نتیجه می‌‌تواند توسط شبکه و سرپرستان سیستم به عنوان بخشی از بررسی امنیت شبکه برای حفظ آن، مورد استفاده قرار بگیرد. جنبه دوم، استفاده از آن توسط مهاجمین است که هدفشان سازش با سیستم از طریق کشف نقاط آسیب پذیر برای سیستم‌های جاری در پورت باز مربوطه است. همچنین استفاده‌های دیگری دارد مثل:
– شناسایی هاست‌های فعال در شبکه
– شناسایی اطلاعات توپولوژیکی شبکه‌های دیگر مثل آدرس دهی IP، آدرس دهی MAC، فیلتر روتر و gateway ، قوانین firewall و ارتباطات مبتنی بر IP امن.

 

ب) حملات دستکاری اطلاعات (Modification)
زمانی ست که مهاجم سعی دارد اطلاعاتی را که اجازه ندارد، تغییر دهد. عموما به سه زیرکلاس تقسیم می‌‌شوند:
۱- تغییرات: این نوع حمله باعث تغییر اطلاعات موجود و حساس می‌‌شود مثل تغییر حقوق کارمندان توسط مهاجم.
۲- افزودن: شامل اضافه کردن اطلاعاتی ست که قبلا نبوده اند. مثلا در یک سیستم بانکی، مهاجم امکان دارد انتقالی اضافه کند که از طریق آن پول از حساب مشتری به حساب خودش واریز شود.
۳- حذف: این نوع حمله حذف اطلاعات موجود مثل حذف یک ثبت تاریخ دار است که ثبت یک معامله را در سیستم بانکی نمایش می‌دهد.

 

ج) حملات منع سرویس(DoS)
حمله‌هایی هستند که به قابلیت استفاده از منابع برای کاربران معتبر سیستم حمله می‌‌کند. هدف ان‌ها حمله به در دسترس بودن است و بعضی اوقات به آن‌ها حمله‌های دسترسی اتلاق می‌‌شود. این نوع حمله‌ها در سال‌های اخیر از مشخص‌ترین حمله‌ها به شبکه‌ها بوده اند زیرا که می‌‌توانند مشکلات بزرگی برای عملکرد شبکه به وجود بیاورند. همچنین از انواعی از حمله‌ها هستند که جلوگیری از آن‌ها بسیار دشوار است.

 

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

۱- اظهار به دیگری بودن(Masquerading):
در این نوع حمله مهاجم خود را کس یا سیستم دیگری معرفی می‌کند. این نوع حمله می‌‌تواند مکالمات شخصی، تراکنش یا ارتباطات سیستم به سیستم است.

۲- انکار یک رویداد(Denying an Event):
نوعی رد رویداد مثل انکار یکسری قبض خرید یا برداشت وجه از یک حساب بانکی ست.

 

بررسی و طبقه بندی سیستم‌های تشخیص نفوذ

بررسی و طبقه بندی سیستم‌های تشخیص نفوذ

 

 

۵-۲- ناهنجاری(anomaly)
اگر سیستم تشخیص نفوذ طوری طراحی شده باشد که ناهنجاری‌ها را در شبکه تشخیص دهد، پس باید قادر باشد این رویدادها را از آن‌هایی که قبلا در فاز یادگیری دیده است، تشخیص دهد. معمولا این نوع از IDS، هر نوع ناهنجاری از رفتار نرمال در شبکه را به عنوان ناهنجار(anomaly) در نظر می‌‌گیرد. با اینحال از طبقه بندی‌های مثبت کاذب رنج می‌‌برد.
نفوذهای ناهنجار انواع مختلفی دارند، حمله R2L کلاسی از حمله‌های ناهنجار است که مهاجم سعی دارد آسیب پذیری ماشین را کشف کند تا به‌صورت غیرقانونی توسط فرستادن بسته‌ها از طریق شبکه، به عنوان کاربری محلی، دسترسی به ماشین پیدا کند. زمانی اتفاق می‌‌افتد که مهاجم بسته‌ها را از طریق شبکه به ماشین می‌‌فرستد درصورتی که هیچ حسابی آن جا ندارد و صرفا با پیدا کردن نقاط آسیب پذیر، دسترسی مشابه کابر قانونی پیدا کرده است. از انواع حمله‌های R2L می‌‌توان به دیکشنری، FTP-Write، مهمان و Xsnoop اشاره کرد که هر کدام سعی دارند از هر ضعفی در پیکربندی سیاست‌های امنیتی سیستم سود ببرند.
حمله‌های User to root (U2R) که کلاس دیگری از حمله‌های ناهنجار می‌باشد و زمانی اتفاق می‌‌افتد که مهاجم شروع به دسترسی به حساب یک کاربر عادی می‌‌کند و سپس سعی در دسترسی ریشه‌ای به سیستم از طریق کشف نقاط آسیب پذیر آن می‌کند.
مهاجم معمولا دسترسی ابتدایی به حساب یک کاربر عادی را از طریق تجسس پسوورد، حمله دیکشنری یا مهندسی اجتماعی و سپس حرکت به سمت کشف نقاط آسیب پذیر تا رسیدن به هدف (دسترسی ریشه‌ای به سیستم) طی می‌کند. حملات سرریز بافر(Buffer overflow) بهترین نوع از حمله‌های U2R هستند که در فرم‌های متعددی ظاهر می‌‌شوند.
زمانی اتفاق می‌‌افتد که یک برنامه مقدار زیادی داده را به یک بافر آماری بدون اینکه قبلا از داشتن فضای کافی در آن بافر مطمئن باشد، کپی می‌‌کند.
در مقاله(۲)، روشی برای استفاده دوباره از اطلاعات از لایه دیگری در تشخیص تهاجم استفاده شده است. WSN به لایه‌های متعددی تقسیم می‌‌شود و هر لایه یک پروتوکل مجزا اجرا می‌‌کند. تکنیک پیشنهادی اطلاعات متفاوتی را به عنوان ID و از لایه‌های متفاوتی استفاده می‌‌کند که در جدول ۲ ارائه شده است.

 

۵-۳- نرمال
زمانی که داده نه تهدید و نه منحرف باشد، نرمال در نظر گرفته می‌‌شود. که نمایانگر ترافیک عادی شبکه برای یک شبکه خاص و کابر آن است. با استفاده از اطلاعات بالا، می‌‌توانیم انواع تصمیم را برای هر کلاس داده‌ای خلاصه کنیم که در جدول ۳ آمده است.

 

بررسی و طبقه بندی سیستم‌های تشخیص نفوذ

 

۶- نتیجه گیری و مسائل قابل بحث
در این بخش و دسته بندی IDSها، طیف وسیعی از آنالیزکننده‌های الگو (مرتب‌کننده‌ها) استفاده شده در IDS را بررسی کردیم و دسته بندی مبتنی بردانشی ارائه کردیم که به عنوان گامی ‌‌متوسط ایجاد شده بود. همچنین تکنیک‌های مختلف دیگری که در فاز شناسایی IDSها استفاده شده اند را معرفی کردیم. همچنین دسته بندی تصمیمات مرتب‌کننده‌ها را مورد بررسی قرار دادیم و هر زیرشاخه در این تصمیمات را توضیح دادیم.
در واقع، شناسایی نفوذ همگام با حملات جدید بر شبکه‌های کامپیوتری، تکامل پیدا می‌کند. در سال‌های اخیر، اینترنت شاهد چندین حمله بوده که منجر به نتایج اسفباری در سطوح مختلف کاربران کامپیوتر شده است(مثلا کاربران انتهایی، سیاستمداران، شرکت‌ها و غیره).
می‌‌توان گفت، دنیا هنوز نیاز دارد تکنیک‌های جدیدی برای دفاع از شبکه‌های کامپیوتری پیدا و امنیتی همیشگی برای کابران از اینگونه حملات فراهم کند.
یکی از موضوعات قابل بحث این است که چون الگوهای دسته بندی باید در محیط مخالف کار کنند (جایی که مرتب‌کننده نیاز دارد بین الگوهای نرمال و غیرسالم مثل فیلتر اسپم، تشخیص نفوذ و تایید هویت بیومتریک تبعیض قائل شود)، مرتب‌کننده‌ها نیاز دارند که با حمله‌هایی که سعی دارند از شناسایی فرار کنند یا وی را مجبور کنند هشدارهای بسیار زیاد کاذب تولید کند، سروکار داشته باشند.
این روزها اینگونه حمله‌ها پیچیده تر شده اند، مثلا داده‌های ورودی می‌‌توانند توسط مهاجمین ماهر عمدا دستکاری شوند تا بر مرتب‌کننده‌ها غلبه کنند. طبق مقاله (۵)، اکنون این قضیه مثل مسابقه‌ای بین طراحان مرتب‌کننده و مهاجم است. روش طراحی مرتب‌کننده می‌‌تواند واکنشی یا فعال باشد.
روش واکنشی بعد از بررسی دفاع‌های مرتب‌کننده توسط مهاجم و ایجاد یک استراتژی حمله برای مقابله با آن‌ها، آغاز می‌‌شود. طراح به حمله توسط بررسی تاثیرات حمله و طراحی اقدامات مخالف، واکنش نشان می‌‌دهد.
روش فعال شامل تلاش طراح در جهت پیش بینی مخالفت از طریق شبیه سازی حمله‌های ممکن، ارزیابی تاثیرات آن‌ها و تکامل عملیات مخالف در هرجا که لازم باشد، است.
برای تقویت نیرومندی یک مرتب‌کننده، تکنیک‌های مختلفی در مقاله‌ها استفاده شده است. یکی از تلاش‌های اولیه سیستم‌های حاوی چند مرتب‌کننده بود(روش بسته بندی و فضای تصادفی) که برای تقویت نیرومندی مرتب‌کننده‌های خطی و برای دستکاری اطلاعات محرمانه استفاده می‌شد.

نظر بدهید

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

It is main inner container footer text