بخشی از مقاله
ارائه یک سیستم خبره جهت تشخیص نفوذ در شبکه
چکیده
امروزه سیستم ھاي تشخیص نفوذ به طور قابل ملاحظه اي براي افزایش امنیت سیستم ھا و شبکه ھاي کامپیوتري مورد استفاده قرار می گیرند. اغلب لازم است با کشف ھر حمله جدید دانش سیستم تشخیص نفوذ به روز رسانده شود. در این مقاله، مدلی خبره براي ساخت سیستمھاي تشخیص نفوذ پیشنهاد می شود که بر اساس آن امکان شناسایی خودکار الگوھاي نفوذ ناشناخته و ھمچنین به روز رسانی دانش سیستم پس از ھر تشخیص وجود خواھد داشت. در معماري سیستم خبره تشخیص نفوذ پیشنهادي، ابتدا الگو ھاي رفتار عادي، در سطح شبکه، با استفاده از روشھاي یادگیري مبتنی بر قانون C5.0 و JRIP ایجاد می شود. سپس ھر رفتار جدیدي که از الگوھاي رفتار عادي انحراف داشته باشد و با الگوھاي نفوذ شناخته شده قبلی مطابقت نداشته باشد، به عنوان یک نفوذ جدید تشخیص داده شده و این موضوع به اطلاع مسئول امنیتی سیستم رسانده میشود. مسئول امنیتی ھم می تواند الگوھاي نفوذ به دست آمده را پس از بررسی به پایگاه الگوھاي نفوذ شناخته شده خود، اضافه کند. از مزایاي سیستم خبره ارائه شده می توان به مبتنی بر دانش بودن، رشد افزایشی منابع دانش در طول انجام عملیات یادگیري، امکان استفاده از روش ھاي مختلف در قسمت یادگیري و تشخیص، توانایی شناسایی خودکار حمله ھا و الگوھاي نفوذ ناشناخته، و ھمچنین قابلیت استفاده از پردازش موازي اشاره داشت. آزمایش ھاي انجام گرفته و نتایج حاصله، بیانگر تأثیر بسزاي استفاده از معماري پیشنهادي بر بهبود عمل تشخیص در این سیستم ھا و به تبع آن برقراري امنیت می باشد.
واژه ھاي کلیدي: سیستم تشخیص تهاجم، سیستم خبره، تحلیل رفتار، رفتارھای عادی و غیر عادی شبکه، روش یادگیري قانون C5.0، روش یادگیري قانون .JRIP
١- مقدمه
یکی از اولین و برجسته ترین راه حل ھا براي تشخیص تهاجم، استفاده از سیستمھاي خبره می باشد. مزیت آن جدا بودن بخش کنترلی از بخش دانش می باشد. در واقع سیستم ھاي خبره، استراتژي ھا و مکانیزم ھایی براي پردازش حقایق بدون در نظر گرفتن وضعیت محیط و استخراج نتایج منطقی از این حقایق، در اختیار ما قرار می دھند. بدین ترتیب با استفاده از یک سیستم خبره می توان زنجیره اي از قواعد را تعریف کرد که بر اساس آنها سیستم با دیدن یکسري حقایق بتواند رخداد سناریوھاي نفوذ و تهاجم را استنتاج نماید.
تشخیص نفوذھاي ناشناخته بسیار پیچیده است و در یک نگاه به نظر میآید وقتی سیستم از یک نفوذ اطلاع ندارد چگونه میتواند آنرا تشخیص دھد. اما براي تشخیص نفوذھاي ناشناخته باید به این واقعیت توجه کرد که ھمه نفوذھا الزاماً رفتاري غیر عادي دارند. بنابراین، در صورتیکه بتوان رفتارھاي غیر عادي را در سطح یک سیستم بدست آورد، آنگاه میتوان به تشخیص نفوذھاي ناشناخته نیز امید داشت.
در سیستمھاي تشخیص نفوذ به منظور تشخیص رفتارھاي غیر عادي، ابتدا الگوھایی از رفتار عادي ایجاد می گردد. سپس، رفتار فعلی با این الگوھا مقایسه میشود و در صورت وجود ھرگونه انحراف، این رفتار غیر عادي به مسئول امنیتی
سیستم اطلاع داده میشود. با اتکا به الگوھاي رفتار عادي قادر ھستیم بدون ھیچگونه شناختی از رفتارھاي غیر عادي و حملات احتمالی، آنها را تشخیص دھیم. بنابراین فرض مسئله از شناخت رفتارھاي غیر عادي، تبدیل می شود به شناخت رفتارھاي عادي که به مراتب نسبت به شناخت رفتارھاي غیر عادي امکان پذیرتر و آسانتر است. ادامه این مقاله به صورت زیر سازمان یافتهاست.
در بخش ٢ پیشینه پژوھشی و کارھاي انجام شده در این زمینه بررسی میشود. در بخش ٣ دو روش یادگیري قانون از روي نمونهھاي C5.0 و JRIP معرفی میشوند. در بخش ۴ معماري سیستم خبره پیشنهادي براي شناسایی الگوھاي نفوذ ناشناخته ارائه میشود. در بخش ۵ سیستم مورد نظر پیاده سازي می شود. در بخش ۶ به ارزیابی پرداخته می شود. در نهایت این مقاله با نتیجه گیري، جمع بندي دستاوردھا در بخش ٧ به سرانجام خود خواھد رسید.
٢- پیشینه پژوھشی
اکثر روش ھاي مبتنی بر سیستم ھاي خبره از پوسته سیستم خبره P-BEST و یا CLIPS در قسمت استنتاج خود استفاده می کنند. مجموعه ابزار P-BEST شامل یک مترجم قاعده، یک کتابخانه از روال ھاي زمان اجرا و یک مجموعه روال براي جمع آوري زباله است. براي استفاده از P-BEST ابتدا باید حقایق و قواعد با استفاده از زبان توصیف P-BEST نوشته شوند. سپس از مترجم قاعدة pbcc، براي ترجمه توصیف به یک برنامه سیستم خبره به زبان C استفاده گردد. این سیستم خبره می تواند به دو شکل برنامه واحدِ قابل اجرا و دیگري به شکل یک مجموعه روال کتابخانه اي که ھسته موتور استنتاج را تشکیل می دھد [12] ترجمه شود. CLIPS نیز یک سیستم خبرة عمومی می باشد که با زبان پرولوگ نسخه سه نوشته شده است. قواعد این سیستم خبره از مدل تهاجم یابی سلسله مراتبی IDM مشتق می شود .[16] برخی از روشهاي مبتنی بر سیستم خبره عبارتند از: MIDAS[17]، IDES[13]، NIDES[6]، DIDS[10,18]، CMDS، Wisdom & Sense[20]، Computer watch[4]، Haystack[3] و .NSM[14] در MIDAS ، IDES و NIDES
از پوسته سیستم خبره P-BEST، و در DIDS و
CMDS از پوسته سیستم خبره CLIPS استفاده شده است.
٣- سیستم ھاي یادگیري قانون
یادگیري ماشین یکی از شاخهھاي ھوش مصنوعی است که دانش مورد نیاز سیستمھاي ھوشمند را بصورت خودکار از روي نمونهھاي موجود استخراج میکند. این نوع یادگیري ماشین را یادگیري از روي نمونه مینامند. در حالت کلی روشھاي یادگیري ماشین به چهار دسته یادگیري از روي عادت، یادگیري بر اساس آنچه گفته شده، یادگیري از روي نمونهھا و یادگیري از روي قیاس تقسیم میشوند .[2] معمولاً از روشھاي یادگیري ماشین در مواقعی استفاده میشود که در زمینه مورد نظر متخصصی وجود ندارد. در سیستم تشخیص نفوذ، اصولاً متخصصین فقط حملات شناخته شده را میشناسند و دانش و علمی نسبت به حملات ناشناخته ندارند.
سیستمھایی که مجموعهاي از قوانین را یاد میگیرند، ویژگیھاي مطلوبی دارند. مجموعه قوانین بدست آمده نسبتاً قابل فهم ھستند. که در نتیجه به متخصصین این امکان داده میشود تا آن قوانین را تحلیل و بررسی کنند و در صورت نیاز، آنها را با حقایق شناخته شده قبلی ترکیب کنند. علاوه بر آن، دانستهھاي قبلی مانند مثالھا و نمونه ھا ورودي سیستمھاي یادگیري قانون ھستند که این وروديھا به راحتی از روي منابع موجود با یک پیش پردازش نسبتاً ساده در اختیار مسئول امنیتی سیستم قرار داده میشود. لذا در این مقاله از دو روش یادگیري C5.0 و JRIP به علت انطباق روش استنتاج و تولید قوانین آنها با سیستمهاي خبره، براي یادگیري خودکار الگوھاي نفوذ ناشناخته از روي اتصالات مشکوك به نفوذ استفاده شده است. C5.0 از روش درخت تصمیم [7,15] و JRIP از روش جداسازي و حل براي یادگیري قوانین استفاده میکند .[9] ضمناً در ھر دو سیستم از نمونهھاي متعلق به کلاسھاي شناخته شده براي یادگیري قوانین استفاده میشود.[19]
۴- سیستم خبره تشخیص نفوذ پیشنهادي
معماري سیستم خبره تشخیص نفوذ پیشنهادي براي شناسایی الگوھاي نفوذ ناشناخته در شکل (1) نشان داده شده است.
شکل :(1) معماري سیستم خبره پیشنهادي.
از آنجا که فعالیتھاي مربوط به نفوذھاي متفاوت، در منابع داده ممیزي متفاوتی ثبت میشوند. یک سیستم تشخیص نفوذ اغلب نیاز به چندین کارگزار دارد. بطوریکه ھر کارگزار به بخش خاصی از سیستم شبکه از قبیل میزبانھا، غیرشبکهھا و غیره اختصاص داده شود. با توجه به مطالب بالا، سیستم خبره تشخیص نفوذ پیشنهادي ھم شامل دو نوع کارگزار ھوشمند است: کارگزار سیستمی و کارگزار شبکه.
کارگزاران سیستمی بر روي ھر ماشین سرویسگر قرار داده میشوند تا بر فعالیتھاي روي آن ماشین نظارت کنند. این کارگزاران از رخدادھا و فراخوانی سیستمی برنامهھاي کاربردي گرفته تا رخدادھا و وقایع تولید شده توسط سیستم عامل را به عنوان منبع اطلاعاتی استفاده میکنند. کارگزاران شبکه ھم بر روي ھر بخش از شبکه قرار داده میشوند تا بر ترافیک شبکه در آن بخش نظارت کنند. کارگزاران شبکه از ترافیک شبکه به عنوان منبع اصلی اطلاعات استفاده میکنند. ھر کدام از کارگزاران سیستمی و کارگزاران شبکه داراي اجزاء زیر ھستند: واحد پیش پردازش دادهھاي ممیزي، واحد تشخیص رفتارھاي غیر عادي، واحد تشخیص نفوذھاي شناخته شده، واحد تحلیل نتایج، واحد یادگیري الگوھاي نفوذ ناشناخته.
واحد پیش پردازش دادهھاي ممیزي، رکوردھاي ممیزي را از منبع یا منابع مختلف دریافت میکند و آنها را به فرمت مناسبی که توسط ھر دو واحد تشخیص رفتار غیرعادي و واحد تشخیص نفوذھاي شناخته شده قابل استفاده باشد، تبدیل میکند. این دادهھا بطور موازي به ھر دو واحد تحویل داده میشود. چنانچه در واحد اول، دادهھاي ممیزي از الگوھاي رفتار عادي انحراف داشته باشند. در این صورت این واحد پاسخ "نفوذ احتمالی" و در غیر این صورت پاسخ "رفتار عادي" را به واحد تحلیل نتایج ارسال میکند. ھمزمان در واحد دوم نیز چنانچه دادهھاي ممیزي با یکی از الگوھاي نفوذ شناخته شده منطبق گردد، پاسخ "نفوذ شناخته شده"
و در غیر این صورت پاسخ "عدم نفوذ" به واحد تحلیل نتایج ارسال میشود. سپس واحد تحلیل نتایج بر اساس پاسخھاي دریافتی تصمیم گیري میکند. چنانچه واحد تحلیل نتایج، نفوذي را تشخیص دھد. در اینصورت بلافاصله موضوع را به واسط کاربر مسئول امنیتی سیستم گزارش میدھد. مسئول امنیتی سیستم ھم با توجه به نوع نفوذ میتواند اقدامات لازم را انجام دھد.
چنانچه دادهھاي ممیزي از الگوھاي رفتار عادي انحراف داشته باشد و در نتیجه واحد تشخیص رفتارھاي غیر عادي پاسخ "نفوذ احتمالی" را ارسال کرده باشد و ھمزمان واحد تشخیص نفوذھاي شناخته شده نیز عکس العمل نشان نداده باشد به عبارت دیگر پاسخ "عدم نفوذ" را ارسال کرده باشد. در اینصورت به احتمال زیاد این رخداد بخشی از یک عمل خرابکارانه است که سیستم تشخیص نفوذ آنرا نمیشناسد. بنابراین واحد تحلیل نتایج این رخدادھا را در پایگاه رخدادھاي نفوذ ناشناخته ذخیره میکند
و بلافاصله موضوع را به واسط کاربر مسئول امنیتی سیستم گزارش میدھد. بدین ترتیب رخدادھاي مربوط به نفوذھاي ناشناخته از رخدادھاي مربوط به رفتارھاي عادي و نفوذھاي شناخته شده جداسازي میشود.
واحد یادگیري الگوھاي نفوذ ناشناخته با استفاده از پایگاه رخدادھاي نفوذ ناشناخته و بکارگیري یکی از روشھاي یادگیري از روي نمونه C5.0 و JRIP، میتواند الگوھاي موجود در این رخدادھاي خرابکارانه را شناسایی کند. در صورت موفقیت واحد یادگیري، الگوھاي بدست آمده با نظارت مسئول امنیتی سیستم در پایگاه الگوھاي نفوذ شناخته
شده قرار داده میشود تا چنانچه مجدداً نفوذيھا سعی کنند به ھمین شیوه به سیستم نفوذ کنند. واحد تشخیص نفوذھاي شناخته شده بتواند آنها را شناسایی کند. از آنجا که واحد تشخیص رفتارھاي غیر عادي ممکن است نتوانسته باشد کلیه رفتارھاي عادي را در سطح سیستم شناسایی کند. بنابراین این امکان وجود دارد که برخی از رخدادھاي ثبت شده در پایگاه رخدادھاي نفوذ ناشناخته و به تبع آن الگوھاي بدست آمده از واحد یادگیري الگوھاي نفوذ ناشناخته، الزاماً به عنوان الگوي یک نفوذ جدید به سیستم معرفی نشود. بلکه معرف یک نوع رفتار عادي در سیستم باشد. در نتیجه الگوھاي نفوذ جدید ابتدا در اختیار مسئول امنیتی سیستم قرار داده میشوند تا بر اساس نظر او، الگوھاي کشف شده یا به عنوان یک نفوذ جدید در پایگاه الگوھاي نفوذ شناخته شده قرار داده شوند و یا با توجه به این الگوھا، الگوھاي رفتار عادي به روز رسانده شوند.
این سیستم میتواند کار را با یک پایگاه داده خالی از الگوھاي نفوذ شناخته شده شروع کند. و ھمانطور که سیستم، الگوھاي جدید را با توجه به حملاتی که به آن میشود شناسایی میکند، گنجینه دانش این پایگاه کامل میشود. امّا با توجه به اینکه تعدادي از حملات به سرویسگرھاي شبکه و حملات در سطح ترافیک شبکه شناخته شده است. بهتر است الگوھاي این حملات را بدست آورده و آنها را مستقیماً در پایگاه الگوھاي نفوذ شناخته شده قرار داد.
۵- پیاده سازي و استخراج ویژگیها
براي آموزش و تست سیستم، ھمانند ]۵[ با جمع آوري ابزارھاي موجود در تولید حمله ھا، تعدادي از حمله ھاي موجود را علیه کارگزار شبکه اجرا و ترافیک حاصله را به عنوان ترافیک حمله ھاي شناخته شده جمع آوري شد. براي جمع آوري ترافیک نرمال، با بکارگیري ابزار TcpDump، ترافیک شبکه مورد نظر در یک دورة زمانی و تحت شرایط کنترل شده جمعآوري شد. این برنامه قادر به جمع آوري اطلاعات موجود در سرایند بستهھایی که از شبکه عبور میکنند می باشد. بدین ترتیب یک مجموعه تست شامل ٢٣ نوع حمله موجود در داده ھاي آموزشی به انضمام ٨ نوع حمله جدید ناموجود در داده ھاي آموزشی، شامل ٣٩١٩ نمونه فراھم گردید. حمله ھاي موجود در داده ھاي مذکور به