بخشی از مقاله

*** این فایل شامل تعدادی فرمول می باشد و در سایت قابل نمایش نیست ***

داده کاوی با استفاده از الگوریتم ژنتیک و انتخاب کلونال وانتخاب منفی

این مقاله یک روش جدید برای تشخیص ویروسهای کامپیوتر بر اساس مدل سازی سازهها از الگوی زندگی واقعی ارائه میدهد کـه در بـدن تمام موجودات زنده وجود دارد. هدف این مقاله، توسعه الگوریتم بر اساس مفهوم سیستم ایمنی مصنوعی (AIS) بـه منظـور تشـخیص ویـروس است. این الگوریتم ویروس، الگوریتم تشخیص کلونال (VDC) نامیده می شود، و از انتخاب کلونال مشتق شده است. الگوریتم VDC شامل سـه گام اساسی: شبیه سازی، جهش بیش از حد و انتخاب مجدد تصادفی است. مرحله بعد، توسعه الگوریتم VDC است، کـه متشـکل از دو مرحلـه یادگیری و آزمایش است و بر اساس دو پارامتر اصلی تعیین اعتبار می شود. یکی از مراحل، تنظیم تعداد امضاء در هـر کلـون (چربـی) و دیگـری، تعریف احتمال های جهش (PM) و الگوریتم ژنتیک (GA) را به عنوان ابزاری، برای ایجاد نتایج بهتر مورد اسـتفاده قـرار میدهدمشـکلی کـه در الگوریتمهای قبلی وجود داشت نرخ تشخیص کاذب بالا بوده که نتایج بدست آمده نشان میدهد که سرعت تشخیص ویـروسهـا، بـا اسـتفاده از الگوریتم توسعه یافته، 94.4٪ است، در حالی که نرخ تشخیص مثبت کاذب به 0٪ رسیده است. علاوه بر این، نتایج حاصل از استفاده از GA بـرای بهینه سازی الگوریتم VDC نشان دهنده بهبود سرعت تشخیص الگوریتم VDC است.

کلید واژه- سیستمهای ایمنی، الگوریتم ژنتیک، الگوریتم کلونال، انتخاب منفی، داده کاوی


-1 مقدمه
تکنیکهای مختلفـی مبتنـی بـر هـوش مصـنوعی در حـال حاضر در زمینه امنیت کامپیوتر استفاده میشود .[1]
روشهایی مانند ازدحام اطلاعاتی، الگوریتم ژنتیک و بهینـه سازی کلنی مورچه، برنامه های مختلـف در طبقـه بنـدی الگـو و پردازش تصـویر و سـیگنال [2]، سیسـتمهـای ایمنـی مصـنوعی (AIS)، که بسیار شبیه به الگوها در ساختار و مکانیسم، است.
با این حال، ایـن روش کـاملا تـازه اسـت و هنـوز بـه بلـوغ نرسیده است.
AIS در زمینه های مختلف استفاده شده است، که مهم ترین آن ها در کامپیوتر در زمینه تشخیص ویروسهـا اسـت. محافظـت در برابر ویروس هـا ی کـه روز بـه روز در حـال تبـدیل شـدن بـه ویروس های سخت تری هستند، و تهدیدی برای هر کسـی کـه از کامپیوتر استفاده میکند میباشند. هوش اطلاعاتی ویروس ها، در حال افزایش است و به طور مداوم در حـال تغییـر امضـای خـود هستند 3]،.[4 که وظیفه ضد ویروسها را دشوار تـر کـرده اسـت .[5]
(AIS) دارای چندین مفهوم: انتخاب کلونال، انتخاب منفی و تئوری شبکه ایمنی است. پیشنهاد این مقالـه، الگـوریتم (VDC) است که از الگوریتم انتخاب کلونال الهام گرفته شده ودقیقـا [6] CLONALG در شناسایی ویروسها است.
مطالعات نشان دادهاند کـه 25٪ از افـرادی کـه از کـامپیوتر اســتفاده مــیکننــد مبــتلا بــه برخــی از گونــه هــای مخــرب (Malware)تروجانها هستند، در حـالی کـه حـدود نیمـی از ایـن درصد مربوط به بخش تجاری است .[7]ساده تـرین و رایـج تـرین روش برای محافظت از شبکه ها از حملات ویروسی استفاده از فن آوری امضا است.
این مقاله یک راه کمکـی بـا اسـتفاده از تشـخیص ویـروس (VDC) الگــوریتم کلونــال ارائــه مـیدهــد ســپس بهینــه ســازی پارامترها با استفاده از الگوریتم ژنتیک را مطرح میکند، با وجـود این واقعیت که مسئله ویروس، سن است. با این حال، حل مشکل ما را میتوان به عنوان یک مشکل رو به رشد در نظر گرفت زیـرا هر فردی که از کامپیوتر اسـتفاده مـیکنـد را تحـت تـاثیر قـرار میدهد.

-2 سیستمهای ایمنی مصنوعی((AIS
ایمونولوژی، علم شناخت، بررسی و اثبات سیستمهای دخیل در ایمنی بدن است. سیستم ایمنی بدن سیسـتمی پیچیـده و در نهایت دقت میباشد؛ کـه شـامل اعضـاء متنـوع، بـا عملکردهـای متفاوت و مرتبط میباشد که در صـورت کوچـکتـرین تـداخل و ناهماهنگی در انجام وظایف اعضای آن، امکان پیدایش اخـتلالات و ظهور عوارضی وخیم و بعضا غیـر قابـل برگشـت وجـود دارد. از جمله اعضاء اصلی و فرعی این سیستم میتوان به سلولها (مانند لنفوسیتها، ماکروفاژها و سلولهای فرعی و تخصصی دیگر) بافتها (بافتهای لنفاوی، بافت پوششی و...) و مولکولهای محلول در خون (مانند آنتی بادیها، کمپلمان و سایتوکاینها و ...) اشاره کرد. [8]
سیستم ایمنـی مصـنوعی، یـک روش هوشـمند محاسـباتی جدید ارائه کرده، که از سیستم ایمنی بدن الهام میگیردو دقیقاً از مدلهای طبیعی بـرای حـل مسـائل در زمینـه هـای متفـاوت استفاده میکند. علاوه بر این، سیستم ایمنی مصنوعی مـیتوانـد در کنار سایر الگوریتمهای تکـاملی مـورد اسـتفاده قـرار گیـرد و باعث قدرتمندتر شدن این الگوریتمها شود 9 و []10
از جمله الگوریتمهای سیستم ایمنی که برای مسـائل بهینـه سازی توسعه یافتهاند میتوان به الگوریتم clonALG اشاره نمود.

الگوریتم انتخاب منفی (الگوریتم خودی و غیر خودی) فرایند حذف لنفوسیت هایی که نسبت به سلولهای خـودی واکنش نشان مـیدهنـد، حـذف کلونـال نامیـده مـیشـود، و بـا مکانیزمی انجام میشود که انتخاب منفی نام دارد و بر لنفوسیتها در طول بلوغشان اعمال میشود. برای سلولهای Tاین امر عمـدتاً در تیموس اتفاق میافتد که محیطی سر شار از آنتی ژن خـودی است. سلولهای Tنابالغ که با آنتی ژنهای خودی پیونـدی قـوی برقرار میکنند دچار مرگ کنترل شده میشوند و سلولهایی کـه از این فرایند زنده بـاقی بماننـد نبایـد نسـبت بـه آنتـی ژنهـای خودی واکنشی داشته باشند. به این خاصـیت لنفوسـیت هـا کـه نسبت به خودیها واکنش نشان نمیدهنـد، تحمـل ایمونولـوژی میگویند (11) اما الگوریتم انتخاب کلونال، هنوز در ایـن نـوع برنامـه هـای کاربردی استفاده نشده است.
پس از جستجو در وب و بررسی طیف گسترده ای از مجلات تخصصی، مشخص شده اسـت کـه اسـتفاده از الگـوریتم انتخـاب کلونال، یک سهم با نام تجاری جدید است. انتخاب کلونـال اصـل توصیف رویکرد پاسخ ایمنی به محرک های آنتی ژنـی اسـت کـه میتواند به صورت زیر شرح داده شود. تنها سلولهایی که آنتی ژن را تشخیص میدهند تکثیر مـیشـوند و در برابـر سـلولهایی کـه انتخاب نمیشوند. تولید -Bسلولها، که کپی از پدر و مـادر خـود هستند، جهش یافته است. هنگـامی کـه آنتـی بـادی بـه شـدت منطبق با آنتی ژن است، سلولهای B تحریک به تولیـد خواهنـد شد و تکثیر میگردند.
در این مقاله آنتی ژن ها نشان دهنده ویروسهای کامپیوتری در فایلهای آلوده و آنتی بادیها نشان دهنده امضا هستند.
امضا با قرابت بالا (کـاملا مشـابه) فرآینـدهای انتخـاب شـده شبیه سازی، جهش و انتخاب مجدد؛ فرایند شبیه سازی کپی از امضا با بهترین تناسب کپی امضاء در حال جهش به منظور ارائه توانـایی تشـخیص ویروس در برخی از کاراکتر های متفاوت هستند (ژن) حتی اگـر این ویروس قبلا حمله نکرده باشد (درست مثـل دفـاع تطبیقـی درسیستم ایمنی) است. [12]
در این تحقیق، انتخاب پاسخ تصادفی بـه الگـوریتم انتخـاب کلونال، به منظور تضمین انتخاب بهترین جهش امضا، اضافه شده است.

.3الگوریتم پیشنهادی VDC
این تحقیق شـامل دو مرحلـه (اسـتفاده از (7.1 MATLAB است اول، طراحـی و پیـاده سـازی الگـوریتم تشـخیص ویـروس کلونال (VDC)، دوم، اعتبار سنجی از الگوریتم .VDC
3 .1 طراحی و پیاده سازی الگوریتم VDC
شکل . 1 فلوچارت الگوریتم VDCرا نشان میدهد.


شکل .1الگوریتم VCD فلوچارت
شکل 2 .شبه کد الگوریتم VDC است، کـه در شـکل نشـان داده شده است.
پس از بارگذاری امضاهای استخر و فایل های اسـتخر، حلقـه وضعیت به عنـوان پـارامتر آمـوزش ژن، کـه در جـدول 2 آمـده، تعریف میشود.

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

که در آن تناسب اولیه برای امضا و یک عدد تصادفی درتعیین مقدار دهـی اولیـه از الگوریـت،، زمـانی کـه در استخر امضا بارگذاری خواهد شد.
: yi فایل i ام.
: یک عامل ضرب با ارزش از .10 :Z تعداد همه فایلها در استخر فایل.
: d j اگر در امضا جهش انجام شده باشد J پس از آن 0) = d j،1 یا (1- یکنواخت تصادفی.
:T تعداد امضا در استخر امضای اصلی (تعـداد امضـاء در هـر کلون).

شکل 3 نمایش ساده الگوریتم VDC است.


شکل .2الگوریتم VCD شبه کد


در شکل 3، گام شبیه سازی شده با در نظـر گـرفتن انـدازه نیمی از امضاء نشان داده شده است:
پس از آن سـاخت نسـخه بـرای امضـا بـا بـالاترین تناسـب، بنابراین T کپی از امضـا، F کپـی از آمـادگی، و V نسـخه از نـام ویروسها است.
شکل 4 گام جهش را نشان میدهد، که در آن برخی از کپی از امضا ویروس با توجه به جهش ارزش PM میباشد. نام ویروس در V برای جهش امضا در T قبـل از الحـاق بـا "MUT" بـه آن، متمایز از هیچ امضا جهش یافته خواهد بود. ارزش در داخـل - D 1، 0 یا 1، این ارزش ها میتواند به تناسـب از امضـا هـای جهـش یافته، که در آن متناسب با امضای جهـش یافتـه هسـتند؛ بهتـر، بدتر یا همان تناسب اضافه شـده از امضـا قبـل از جهـش باشـد. [13]

شکل .4الگوریتم VCD جهش [13]

که، البته، شکل 4 نشاندهنده الگوریتم :VDC جهش. بازتاب اتفاقی در این فرآیند است. در نتیجه، اگر D = -1 باشـد، ایـن بـه معنی تناسب توسط 1 (بدتر) کاهش یافتـه اسـت، و اگـر D = 0 باشد تناسب همان بـاقی مـیمانـد، و اگـر D = 1 باشـد افـزایش تناسب با )1بهتر است).
جهش به شرح زیر انجام شده است: یک کاراکتر در امضـا بـا کاراکتر تصـادفی کـد ASCII جـایگزین شـده کـه ایـن کـاراکتر تصادفی بین 48 و 122 است، و جایگزینی موقعیت نیز به صورت تصادفی انتخاب شده است. برای مثال، اگر امضا
e5ef1aec91259d70c5e62cdfe42c36eddc8cc9cbe45313d0
پس از جهش آن میتواند باشد
e5ef1aec91259d70c5e62kdfe42c36eddc8cc9cbe45313d0'
C توسط k جایگزین شده است.
مرحله انتخاب مجدد در شکل 5 و 6، نشان داده شده است. که در شکل 5، یک حلقه برای هر فایل در اسـتخر فایـل هـا ساخته شده، سپس به تناسب تابع، یک شمارنده بـرای محاسـبه انطباق امضا در T با فایل های اولیه موجود در استخر فایل ایجـاد میشود.
هر یک از محتویات فایل که داخل استخر فایل است با تمام امضاها در T همسان است، اگر مطابقت با مقدار F زیاد باشـد بـه این امضا اضافه میشود ،که برابر با 10 تغییر دراین الگوریتم است.


شکل .5الگوریتم VCD انتخاب مجدد [13]
این روند برای تشخیص دادن وزن فرایند جهش از وزن داده شــده اســت (جهــش از شــماره 1 تــا بیشــترین تناســب افــزایش مییابد).
پس از همسان سازی فایلها، فایلهای آلوده برای جلـوگیری از افزونگی از استخر فایل حذف میشوند.

شکل 6 نشان میدهد که چگونـه امضـا بـر اسـاس آمـادگی تصادفی انتخاب شده است.
فرآیند انتخاب تصادفی طی مراحل زیر انجام میشود:
1. (R) یک عدد تصادفی اسـت کـه بـرای هـر نسـل ایجـاد میشود (تکرار در ژن)، و در آستانه انتخاب نامیده میشود، ارزش آن بین 0.6 و 1 است. این کار موجب میشود مطمئن شوید کـه بهترین تناسب انتخاب شده است.
2. هر مقدار متناسب در کلون، با تناسب حداکثر انطبـاق در آن کلون تقسیم شده است.
3. اگر مقدار Rدر این مرحلـه ≥ 2 باشـد، در اسـتخر امضـا اصلی وجود ندارد. (در ابتـدا در مرحلـه (2 پـس از تناسـب، ایـن امضا به یک ماتریس موقت اضافه میشود.
4. ماتریس موقت به ترتیب نزولی مرتب شدهاند.
5. 11 امضای برتر و جدید که باید به استخر امضـای اصـلی اضافه شوند، انتخاب میشـوند. امضـا هـای جدیـد در 11 مقـدار محدود به منظور جلوگیری از گسـترش امضـای اسـتخر، اضـافه میشوند.
پس از اجرا، برگشت به عقب، به گام 3 است.
جدول 1 تفـاوتهـای اصـلی بـین CLONALG و پیشـنهاد الگوریتم VDC را نشان میدهد.
.3.2 اعتبار سنجی الگوریتم VDC
استراتژی اعتبار شامل دو فاز است: یادگیری وتست.
مرحله یادگیری با پر کردن استخر امضاها با امضاهای جدید پس از استفاده از الگوریتم VDC در بالا از امضای در حال حاضر شــناخته شــده (امضــا اصــلی کــه قبــل از جهــش جمــع آوری شده)است طول میکشد. بـرای اعمـال الگـوریتم VDC، اسـتخر فایل، نیاز به تکمیل روند تطبیق بین فایلها و امضا دارد.
در آغاز، تمام فایلهای موجود در استخر فایلها خوش خـیم هستند (پاک).سـپس 5٪ از فایـلهـای آلـوده، بعـد از آن، 25٪، 50٪، 75٪، 100٪ از فایلهای آلوده استفاده میشود.

استخر فایلها تنها با 5٪، 25٪ و 75٪ فایـلهـای آلـوده در فرایند یادگیری، استفاده میشود در حالی که در دیگـر اسـتخرها شش فایل در فرآیند تست استفاده میشود.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید