استفاده از الگوریتم ژنتیک جهت تشخیص نفوذ

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

تشخیص نفوذ در اصل یک مسئله classificationاست بنابراین اولین قدم انتخاب و استخراج ویژگی است.هنگامی که تعداد ویژگی ها از یک مرز مشخص بگذرد در عملکرد طبقه بندی تغییر ایجاد خواهد شد.اصطلاحا feature selection یا انتخاب ویژگی،از بین ویژگی های موجود خروجی را بر اساس یک تابع ارزیابی مشخص انتخاب میکندتا زمانی که فضای ویژگی ها کاهش یابد و در دقت classification نیز اخلالی ایجاد نشود ادامه می یابد.

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

از الگوریتم ژنتیک جهت استنتاج قوانین مفیدتر و جدیدتر برای تشخیص نفوذ استفاده می شود.با استفاده از این قوانین داده های نرمال از داده های غیر نرمال تشخیص داده میشوند.


به طور کلی قانون در الگوریتم ژنتیک به صورت آرایه رو به رو میباشد :   if{condition} then {act}

که همانطور که مشخص است conditionداده مورد بررسی است و act عکس العملی است که باید در مورد آن انجام شود،condition می تواند برای موارد گوناگونی بررسی شود مثلا پورت ،مدت زمان اتصال ،IP ،پروتکل.act نیز میتواند عکس العمل های گوناگون نظیر پیغام دادن و یا حتی بلاک کردن باشد.


تابع برازندگی  fitness :

چنانچه قانون به صورت if A and B نمایش داده شود ،تابع برازندگی معادل زیر می باشد:


support = | A and B | / N 

                    |  confidence = | A and B | / | A

fitness = w1 * support + w2 * confidence


که N تعداد کل اتصالات شبکه در داده است، | A| تعداد اتصالات شبکه منطبق با شرط A و | A and B |تعداد اتصالات شبکه که با قانون A then Bمطابقت می کند.وزن های w1 وw2 نیز برای کنترل توازن بین دو عبارت استفاده می شود.

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

                                                                           

research.iaun.ac.ir/pd/rastegari/pdfs/PaperC_7221                                                                                                                                                                                                                                   

تشخیص نفوذ IDS

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

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

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

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

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


research.iaun.ac.ir/pd/rastegari/pdfs/PaperC_7221