انتخاب ویژگی های مهم در طراحی یک مدل تشخیص نفوذ در شبکه با استفاده از الگوریتم بهینه سازی شبکه عصبی(NNA)
چکیده
افزایش روزافزون شبکههای کامپیوتری و استفاده زیاد از اینترنت در زمینههای مختلف، موجب شده است که روزانه حجم عظیمی از اطلاعات تولید شود. مدیریت و حفظ امنیت شبکه و نگهداری از این اطلاعات، مسالهای چالش برانگیز است که باعث پیدایش سیستمهای تشخیص نفوذ شده است. تاکنون، سستمهای تشخیص نفوذ زیادی معرفی شده است که در آن ها از روشهای یادگیری ماشین با نظارت و بدون نظارت جهت افزایش دقت تشخیص نفوذ به کار گرفته شده است. مطالعات صورت گرفته نشان میدهد که شناسایی و حذف ویژگیهای زائد در مجموعهدادههای با ابعاد بالا در عملکرد الگوریتمهای طبقه بندی بسیار موثر میباشد و باعث میگردد زمان یادگیری مدل کاهش و دقت طبقهبندی افزایش یابد. انتخاب ویژگی، یک تکنیک پیش پردازش مهم و موثر در حل مسائل طبقهبندی است که هدف اصلی آن، یافتن یک زیرمجموعه بهینه از ویژگیهای اصلی است به طوری که بیشترین دقت طبقهبندی را با کمترین تعداد ویژگی داشته باشد. بنابراین، ما در این پست یک چارچوب جدید برای تشخیص نفوذ در نرم افزار متلب کدنویسی میکنیم که براساس انتخاب ویژگی و تکنیکهای یادگیری گروهی است. در مرحله اول، یک الگوریتم فراابتکاری بنام BNNA برای کاهش ابعاد پیشنهاد شده است که زیرمجموعه بهینه را از بین ویژگیهای اصلی انتخاب میکند. الگوریتم BNNA نسخه باینری الگوریتم فراابتکاری شبکه عصبی(NNA) است. سپس، یک روش گروهی برای طبقهبندی نوع فعالیتها و تشخیص نفوذ با استفاده از ویژگیهای انتخاب شده در مرحله قبل آموزش داده شده است. روش گروهی پیشنهادی، شامل طبقهبندهای ماشین بردارهای پشتیبان(SVM)، شبکههای عصبی مصنوعی چند لایه(ANNs) و درخت تصمیم(DT) میباشد. از روش رایگیری برای تجمیع پیشبینیهای حاصل از سه طبقهبند مذکور در مدل گروهی استفاده میشود. ابتدا عملکرد الگوریتم پیشنهادی BNNA روی تعدادی مجموعهداده از پایگاه داده UCI مورد ارزیابی قرار گرفته است. سپس، الگوریتم BNNA روی مجموعهداده KDDCup99 به منظور انتخاب ویژگیهای مهم بکارگرفته شد و زیرمجموعه بهینه ویژگی بدست آمده، در آموزش مدلهای طبقه بندی استفاده شد.
بیان مساله
امروزه، استفاده از اینترنت و کاربردهای آن در بسیاری از زمینهها مانند ارتباطات الکترونیکی، آموزش، تجارت و سرگرمی به جامعه انسانی کمک فراوانی را میکند، بطوری که استفاده از اینترنت به عنوان بخش مهمی از زندگی روزمره مردم تبدیل شده است. با وجود این، به دلیل افزایش روزافزون شبکههای کامپیوتری، پیشرفتهای چشمگیر تکنولوژی ارتباطات و اینترنت، روزانه مقدار زیادی داده از منابع متنوعی از جمله بهداشت، حمل و نقل، رسانههای اجتماعی و صنایع تولید میشود. ظهور سریع حوادث نفوذ و گستردگی حملات سایبری، مدیریت اطلاعات حجیم را پیچیده تر و امنیت آن را آسیبپذیر کرده است. ضرورت توسعه سیستم تشخیص نفوذ و امنیت سایبری، توجه زیادی از پژوهشگران را در سرتاسر جهان به خود جلب کرده است و تشخیص حملات سایبری مسالهای مهم و چالشبرانگیز در حوزه فناوری اطلاعات محسوب میشود. علیرغم استفاده از برنامههای امنیتی مختلف مانند فایروال، آنتیویروس، رمزگزاری دادهها و احراز هویت، همچنان بسیاری از سازمانها و شرکتها قربانی حملات سایبری میشوند. این حملات، همزمان با پیشرفت و گسترش فناوری، یکپارچگی، محرمانگی و در دسترس نبودن سیستمهای سایبری را بطور مداوم تهدید میکند. بنابراین، استفاده از این ابزارها برای جلوگیری از حملات نسل جدید و پیشرفته که نیاز به جمعآوری، نرمالسازی و آنالیز اطلاعات از منابع مختلف وجود دارد کافی نبوده و لازم است سیستمهای تشخیص نفوذ(IDS) برای محافظت از سیستمها در برابر انواع حملات معرفی شوند.
تشخیص نفوذ
نفوذ، به مجموعه عملیاتی گفته میشود که سعی به دسترسی غیر مجاز به شبکههای کامپیوتری را داشته تا به دنیال آن از مکانیزمهای امنیتی عبور کرده و موجب اختلال در یکپارچگی، محرمانگی و دسترسی به یک منبع اطلاعاتی میشود[۵]. تعریف سه مفهوم پایهای امنیت به صورت زیر میباشد که از عوامل اصلی جهت رسیدن به امنیت اطلاعات هستند:
- یکپارچگی اطلاعات بدین معنی است که فقط افراد و سیستمهای مجاز میتوانند در داده تغییر ایجاد نمایند.
- محرمانگی بدین معنی است که فقط افراد و سیستمهای مجاز میتوانند اطلاعات مهم و طبقهبندی شده را مشاهده نمایند و سایر افراد هیچگونه دسترسی به این دادهها را ندارند.
- دسترسپذیری شامل دادهها و سیستم ها میشود. اگر شبکه یا دادهها آن برای کاربران مجاز در دسترس نباشد میتواند به عنوان یک مشکل اساسی برای سازمان و کاربران شبکه تلقی شود.
نفوذها به دو دسته اصلی داخلی و خارجی گروهبندی میشوند. نفوذهای خارجی به نفوذهایی گفته میشود که توسط افراد مجاز یا غیرمجاز، از خارج شبکه به درون شبکه صورت پذیرد. نفوذهای داخلی توسط افراد مجاز در سیستم و شبکه داخلی، از درون خود شبکه انجام میپذیرد[۶].
مساله تشخیص نفوذ، فرایند نظارت بر وقایع رخ داده در یک شبکه و یا یک سیستم کامپیوتری در جهت کشف موارد انحراف از سیاستهای امنیتی میباشد که از جهت مقابله با نفوذگران یه سیستمها و شبکههای کامپیوتری موضوع مهم به شمار میرود و سیستم تشخیص نفوذ وظیفه نظارت بر فعالیت سیستم، تجزیه و تحلیل بستههای شبکه، تعیین الگو حملات و ارزیابی صحت و یکپارچگی فایلها را بر عهده دارد. در تشخیص نفوذ رویدادهای یک سیستم پایش شده و براساس این پایشها وقوع نفوذ در آن سیستم مشخص میگردد. سیستمهای تشخیص نفوذ به طور گسترده ای در سیستمهای توزیع شده مختلف مستقر می شوند و نفوذهای مخرب را شناسایی و سپس اقدامات متقابل سریع را برای جلوگیری از گسترش نفوذ و ایجاد اختلالات در سیستم سایبری انجام می دهند. برای کنترل و طبقهبندی حملات به روشی کارآمد، میتوان از الگوریتم مختلف یادگیری ماشین(ML) استفاده کرد. در بخش بعد، به تکنیکهای مختلف موجود که برای شناسایی نفوذ از آنها استفاده میگردد پرداخته میشود.
چارچوب کلی سیستم تشخیص نفوذ
واحد مانیتورینگ، وطیفه ثبت رخدادها را بر عهده دارد. رخدادهای سیستم توسط این واحد جهت تشخیص حمله و آنالیز ثبت میشود. همچنین، نمایش هشدار به مدیر شبکه یا مسئل نظارت و پیگیری رویدادهای شبکه بر عهده این واحد است. واحد تشخیص و تحلیل، اطلاعات ثبت شده توسط واحد نظارت را به عنوان ورودی دریافت میکند، سپس براساس این اطلاعات به یکی از روشهای مبتنی بر امضاء، مبتنی بر آنومالی و یا ترکیبی از این دو روش، مدل تشخیص نفوذ ساخته میشود. حملات و تهدیدات امنیتی به کمک این مدل ساخته شده شناسایی و تمایز داده میشوند. در پایان، واحد هشدار وظیفه دارد که متناسب با نوع حمله، رفتار مناسب را انجام دهد. این واحد در صورت نیاز، اخطارهای مناسب را برای ثبت یا نمایش به واحد نظارت ارسال میکند
کاربرد روشهای انتخاب ویژگی در IDS
مساله تشخیص نفوذ یک مساله طبقهبندی است. انتخاب ویژگی یک گام مهم و موثر در مساول طبقهبندی به حساب میاید که با حذف ویژگیهای زائد نه تنها باعث کاهش زمان محاسبات میشود بلکه در اکثر موارد باعث افزایش دقت طبقهبندی میگردد. روشهای انتخاب ویژگی را معمولا به سه دسته اصلی filter، wrapper و hybrid تقسیمبندی میکنند. در روشهای مبتنی بر filter، زیرمجموعههای ویژگی براساس مشخصهها و فرایندی انتخاب میگردد به طوری در آن، عملکرد و برازندگی ویژگیهای انتخاب شده توسط طبقهبندی ارزیابی نمیگردد. بنابراین بر خلاف الگوریتمهای wrapper که از یک طبقهبند برای ارزیابی ویژگیهای انتخاب شده در هر تکرار آن استفاده مینماید از نظر زمان محاسباتی کمتری برخوردار است. البته، الگوریتمهای wrapper معمولا عملکرد بهتری نسبت به الگوریتمهای filter دارند. بنابراین، ترکیب این دو روش میتواند گزینه خوبی برای انتخاب ویژگی برای مسائل طبقهبندی به خصوص مساله تشخیص نفوذ باشد.
الگوریتم (BNNA) برای انتخاب ویژگی در تشخیص نفوذ
الگوریتمهای فراابتکاری بطور گسترده برای انتخاب ویژگی در سیستمهای تشخیص نفوذ به کار گرفته شدهاند. الگوریتم فراابتکاری شبکه عصبی(NNA[۱])، برای حل مسائل بهینهسازی پیوسته ارائه شده است. این الگوریتم از مفاهیم استفاده شده در شبکههای عصبی مصنوعی(ANNs[۲]) و سیستمهای عصبی بیولوژیک الهام گرفته شده است. عملگرهای تعریف شده در این الگوریتم برای بروزرسانی و تولید جوابهای جدید بر اساس مفاهیم موجود در ساختار شبکههای عصبی مصنوعی مانند ماتریس وزن میباشد. با این تفاوت که الگوریتم بهینهسازی NNA برخلاف ANNs که برای مسائل طبقهیندی کاربرد دارد میتواند مسائل بهینهسازی پیوسته را حل کند. ما در کد متلب خود از الگوریتم NNA ، برای انتخاب ویژگیهای موثر و کاهش بعد مساله تشخیص نفوذ استفاده میکنیم. همانظور که گفته شده الگوریتم NNA برای مسائل پیوسته ارائه شده است، مساله انتخاب ویژگی با توجه به طرز نمایشی که در پایین برای حل آن در نظر گرفتهایم یک مساله گسسته دودویی است. بنابراین، با اعمال تغییراتی در فرایند این الگوریتم، آن را بصورت BNNA[۴] نامگذاری کردهایم.
[۲] Artificial neural networks
[۳] Binary Neural Network Algorithm
دانلود کد متلب و رفرنس های مورد نیاز
کد متلب پروژه مربوطه را می توانید به همراه سایر منابع مهم و مرتبط از طریق لینک زیر دانلود نمایید.
BNNA on KDD intrusion detection Dataset for feature selection
قیمت: ۱۸۵۰۰۰۰ تومان
BNNA on UCIs Dataset for feature selection
قیمت: ۸۵۰۰۰۰ تومان
همچنین در ادامه کد متلب الگوریتم NNA پیوسته را روی توابع محک cec2005 دانلود نمایید.
NNA on CEC2005 Functions
قیمت: ۳۰۰۰۰۰ تومان
مراجع مهم
۱-Building an Efficient Intrusion Detection System Based on Feature
Selection and Ensemble Classifier۲-Cyber intrusion detection by combined feature selection algorithm
۳-Dimensionality Reduction with IG-PCA and Ensemble Classifier for
Network Intrusion Detection

