مقاله تشخیص نفوذ هوشمند با استفاده از شبکه عصبی مبتنی بر الگوریتم GMDH

word قابل ویرایش
17 صفحه
دسته : اطلاعیه ها
12700 تومان
127,000 ریال – خرید و دانلود

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

تشخیص نفوذ هوشمند با استفاده از شبکه عصبی مبتنی بر الگوریتم GMDH

چکیده

با پیشرفت روزافزون فناوری اطلاعات و ارتباطات و گسترش چشمگیر استفاده از شبکههای کامپیوتری، حملات و نفوذهایی در اشکال مختلف به شبکهها صورت میگیرد، از اینرو سیستمهای تشخص نفوذ (IDS)، به عنوان یک جزء حیاتی در هر شبکه متصل به اینترنت در دنیای امروزی محسوب میشود. سیستمهای تشخیص نفوذ جهت تأمین امنیت شبکههای به هم پیوسته، روش مؤثری برای شناسایی اشکال مختلف حملات نفوذی در شبکهها به شمار میآیند. کارایی این سیستمها وابسته به نرخ تشخیص نفوذی با دقت بالا و کمترین نرخ اعلان خطا است. شبکههای عصبی به عنوان یکی از روشهای معمول در سیستمهای تشخیص نفوذ مطرح هستند. یکی از مشکلاتی که شبکههای عصبی از آن رنج میبرند، یافتن راه حل بهینه محلی و همچنین پیشداوری محقق در مورد ساختار مدل با توجه به فروض اولیه است، که به شبکه تحمیل میشود. از طرفی روشهای تکاملی مانند الگوریتم ژنتیک، کاربرد وسیعی در مراحل مختلف طراحی شبکههای عصبی دارند. چنانکه دارای قابلیتهای منحصربه فردی در یافتن مقادیر بهینه و امکان جستوجو در فضاهای غیر قابل پیشبینی هستند. به طوریکه استفاده از الگوریتم ژنتیک جهت طراحی شکل شبکه عصبی و تعیین ضرایب آن، از جمله نوآوریهای این پژوهش به شمار میآید. هدف از پژوهش حاضر اینست تا ضمن مطالعه روشهای تشخیص نفوذ و همچنین شبکه های عصبی، روشی کارآمد به منظور افزایش دقت و عملکرد سیستم با استفاده از شبکه عصبی GMDH1 که طراحی ساختار آن با استفاده از الگوریتم ژنتیک

صورت گرفته، ارائه شود. آزمایش و ارزیابی مدل ارائه شده بر روی مجموعه دادههای NSL-KDD با استفاده از نسخه اصلاح شده KDD-CUP99، انجام گردید. نتایج تجربی حاکی از آن است که مدل پیشنهادی عملکرد قابل توجهی در افزایش نرخ تشخیص
حملات و کاهش نرخ اعلان خطا داشته و قادر به ارائه تشخیصهای دقیقتری نسبت به مدلهای پایه خود میباشد.

کلمات کلیدی: امنیت شبکه، تشخیص نفوذ، شبکه عصبی، الگوریتم GMDH، IDS

-۱ مقدمه

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

۱

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

معانی و مفاهیم متعددی در منابع مختلف برای نفوذ٢، ارائه شده است. در دنیای کامپیوتر بر سر معنی یا معانی نفوذ بحثهای زیادی وجود دارد. بسیاری نفوذ را در برگیرنده حملات ناموفق میدانند، در حالی که سایرین، تعاریف مجزایی برای نفوذ و حمله قائل هستند. میتوان نفوذ را به این صورت تعریف کرد :[۱] “مجموعهای فعال از رخدادهای مرتبط با یکدیگر که هدف آنها، دسترسی غیر مجاز به اطلاعات، تغییر در اطلاعات و یا صدمه زدن به سیستم به نحوی است که سیستم را غیر قابل استفاده نماید. این تعریف هم شامل تلاشهای موفق و هم تلاشهای ناموفق است”.

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

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

-۲ روشهای تشخیص نفوذ

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

 

۲

ایستا، خوشهبندی و یادگیری استفاده میکنند. با این حال این الگوریتمهامعمولاً دارای نرخ بالای نمونههای مثبت غلط بوده و یا دقت تشخیص آنها پایین میباشد.
یکی از مشکلات اساسی در سیستمهای تشخیص نفوذ پیچدهتر شدن آنها توسط تکنیکهای مبهمسازی است که در این صورت مقابله با بدافزارها نیازمند تشخیص و تمایز میان بدافزار و نرمافزارهای قانونی است شکل ۱ یک نمای کلی از تکنیکهای تشخیص نفوذ را به تصویر میکشد. به طور کلی تکنیکهای رایج تشخیص بدافزار به دو دسته اصلی تقسیم میشوند :[۳]
• تکنیکهای تشخیص براساس ناهنجاری۳ (تشخیص بر اساس پروفایل(۴
• تکنیکهای تشخیص براساس امضا۵ (تشخیص بر اساس سوءاستفاده۶، تشخیص بر اساس قانون۷ و تشخیص با تطبیق الگو(۸

شکل ۱ تکنیکهای رایج تشخیص نفوذ

۳

-۱-۲ روشهای تشخیص بر اساس ناهنجاری

تشخیص بر اساس ناهنجاری از دانش خود در خصوص رفتارهای عادی یک برنامه استفاده کرده و در مورد مخرب بودن رفتارهای برنامه تحت بررسی، تصمیم میگیرد .[۴] تشخیص براساس ناهنجاریمعمولاً در دو فاز آموزش (یادگیری) و نظارت
(تشخیص) رخ میدهد. طی فاز یادگیری تشخیصدهنده برای فراگیری رفتارهای عادی تلاش میکند. همچنین در این فاز تشخیصدهنده باید رفتارهای میزبان، فرایندهای تحت بررسی٩ (PUI) و ترکیبی از این دو را نیز بیاموزد. مزیت کلیدی تشخیص بر اساس ناهنجاری، توان آن در تشخیص حملات روز صفر١٠ (حملاتکاملاً جدید) است. در همین گزارش سوء استفاده روز صفر١١ توصیف میشود. مشابه سوء استفاده روز صفر، حملات روز صفر حملاتی هستند که تا پیش از این برای تشخیص دهنده بدافزار ناشناخته بودهاند. دو محدودیت اساسی این تکنیک عبارتند از:
• نرخ بالای هشدارهای نادرست

• پیچیدگی در تعیین ویژگیهایی که باید در فاز آموزش، فراگرفته شوند

روش تشخیص نابهنجاری، سعی در مدل کردن رفتار عادی سیستم دارد. هر اتفاقی که از این مدل تخلف کند، رفتاری مشکوک در نظر گرفته می شود. برای مثال، در صورتی که وب سروری (که به صورت معمول انفعالی١٢ است) تلاش می کند تا به آدرس های زیادی دسترسی پیدا کند، به احتمال زیاد به کرم آلوده شده است.

-۲-۲ روشهای تشخیص بر اساس امضاء

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

تشخیص بر اساس امضاء، به عنوان مکمل تشخیص ناهنجاری، در نظر گرفته میشود. اساس این روش به این صورت است که الگوهای حملههای شناخته شده با کسب دانش در مورد آنها بصورت موثرتر و کاراتری قابل تشخیص هستند. بنابراین سیستمهای تشخیص سوءاستفاده به دنبال تعریف الگوهای حملات یا آسیبپذیریهای شناخته شده هستند، به این ترتیب این سیستم ها قادر به شناسایی فعالیتهای غیرمجازی هستند که سیستمهای تشخیص ناهنجاری، معمولا آنها را نادیده میگیرند، هر چند این فعالیتها بسیار بیاهمیت باشند .[۵]

مشکل اصلی در روشهای مبتنی بر امضا، این است که متخصصان ضد بدافزار باید منتظر آسیبرسانی بدافزارهای ناشناخته بمانند تا پس از آن، از روی توالی بایتهای موجود در بدافزار اجرا شده، امضا را تعریف کرده و سپس برای مقابله با آن راه حلی بیابند. همچنین اگر از تکنیکهای مبهمسازی و بستهبندی که در [۶] به آن اشاره شده است، در ایجاد بدافزار استفاده شده باشد، آنگاه روشهای مبتنی بر امضا قادر به شناسایی بدافزار نخواهند بود. در واقع مشکل اصلی این روش این است که چگونه الگوهای شناخته شده حملات را بیان کرد، زیرا الگوریتم های تشخیص، معمولا مکانیزمهای ارائه شده را مستقیما دنبال میکنند. در جدول۱ به اختصار به مزایا و معایب دو نوع تشخیص یاد شده اشاره میشود.

۴

جدول ۱ مزایا و معایب تشخیص بر اساس ناهنجاری و امضا
تشخیص مزایا معایب

بر اساس زمان اسکن بسیار پایین ناتوان در تشخیص بدافزارهای ناشناخته
ناهنجاری میزان پایین نرخ مثبت غلط توانایی اندک در شناسایی موارد مبهم و گیج کننده

براساس امضا ارائه بهترین نتایج در تشخیص قادر به تشخیص بسیاری از ویروس های بسته بندی شده
بدافزارهای چندریختی نیست

-۳ پیشینه پژوهش

در حالت کلی برای مسأله تشخیص نفوذ هوشمند محققان در [۷] برای هر الگو، از تکنیک داده کاوی، نرو فازی و ماشین بردار پشتیبان استفاده شده است و داری چهار مرحله است ابتدا برای مجموعه آموزشی از خوشه بندی k-means استفاده شده است،

سپس از مجموعه اموزشی به دست امده در مرحله اول برای اموزش نرو فازی استفاده شده. در مرحله بعد، از ان یک بردار برای کلاس بندی SVM ایجاد شده است و در پایان SVM برای تشخیص نفوذ استفاده می شود.
روش دیگری پیشنهاد گردیده است [۸] که از ترکیب دو مرحله تشکیل شده است: ابتدا فاز کلاس بندی که برای کلاس بندی مجموعه داده اموزشی برروی جریان شبکه به کار برده می شود و فاز خوشه بندی که برای کلاس بندی الگوی ورودی جدید استفاده می شود که محتوای جریان شبکه (همان الگوها) شناخته شده یا ناشناخته است. این روش از دو مرحله ایجاد شده است مرحله اول برای کلاس بندی داده های شناخته شده شبکه به کار می رود که نام ان را (CLA) گذاشته .و مرحله بعدی برای خوشه بندی الکوهای جدید ورودی که می تواند داده های شناخته شده یا ناشناخته باشد به کار میرود که نام انرا (CLU)
گذاشته است.

یکی دیگر از روش های انتخاب الگو، نزدیک ترین همسایه ویرایش شده (ENN) می باشد .[۱۰] این روش بر حذف الگوهای نویزی در مجموعه آموزشی تاکید دارد. ENN یک الگو در T را نادیده می گیرد، هنگامی که کلاس آن با بزرگ

ترین کلاس حاصل از k نزدیک ترین همسایه اش متفاوت باشد. یک توسعه از این الگوریتم، نزدیک ترین همسایه ویرایش شده تکراری (RENN) می باشد [۱۱]؛ به طوری که به صورت تکراری ENN را تا زمانی که تمام الگوهای S کلاس اشان

با بزرگ ترین کلاس حاصل از k نزدیک ترین همسایه شان برابر شود، اعمال می کند. گونه دیگر ENN، روش تمام k نزدیک ترین همسایه (All k-NN) می باشد. که بدین صورت عمل می کند: برای i=l…k الگوهایی که توسط k نزدیک

ترین همسایه شان به درستی طبقه بندی نشده اند را علامت گذاری می کند. هنگامی که حلقه تمام می شود، تمام الگوهای علامت گذاری شده حذف می شوند .[۱۲]

مرجع [۱۰] روشهای IB2 و IB3 که روش هایی افزایشی هستند را معرفی کرده است. IB2 الگوهایی که توسط ۱-NN به درستی طبقه بندی نشده اند را انتخاب می کند (مانند (CNN؛ IB3 توسعه ای از IB2 می باشد که طی آن از یک رکورد

طبقه بندی به منظور تشخیص الگوهایی که باید حفظ شوند استفاده می شود. روش های دیگر مبتنی بر k-NN، روش های ارائه شده می باشد .[۱۳] آن ها پنج روش را ارائه کرده اند: DROP5 , … , DROPI؛ این روش ها بر مبنای مفهوم وابستگی هستند. وابسته های الگو p، الگوهایی هستند که p یکی از k نزدیک ترین همسایه آن ها باشد. DROPI الگوی p

از T را حذف می کند اگر وابستههای p در S بدون p به درستی طبقه بندی شده باشند؛ به واسطه این قانون، از آنجایی که وابسته های یک الگوی نویزی بدون آن الگو می توانند به درستی طبقه بندی شوند، DROPI الگوهای نویزی را حذف می
کند. اما در DROPI هنگامی که ابتدا همسایگان یک الگوی نویزی حذف شوند، آنگاه الگوی نویزی حذف نمی شود. به منظور حل این مشکل در DROP2 وابسته های یک الگو در کل مجموعه آموزشی جستجو می شوند.

روش دیگری که بر اساس وابستگی عمل می کند، الگوریتم فیلترینگ موردی تکرار شونده (ICF)13 نام دارد .[۱۴] این
الگوریتم بر اساس مجموعه های دسترس پذیری و پوشش p که به ترتیب مجموعه های همسایه و وابستگی می باشند، عمل می کند. در صورتی که |Reachable (p)|>|Coverage (p)| باشد ICF، p را حذف می کند. این بدین معناست که

بعضی از الگوهای T می توانند الگوهایی شبیه به p را بدون در نظر گرفتن آن در مجموعه آموزشی طبقه بندی کنند. این الگوریتم در گام اول، ENN را اجرا می کند.

الگوریتمهای تکاملی به طور گستردهای در انتخاب الگو استفاده شده اند. ایده اصلی آنها بدین صورت است: یک جمعیت ابتدایی از کروموزوم ها داده می شود (مجموعه ای از راه حل ها، در بحث ما، مجموعه ای از الگوها، و بر اساس یک تابع هدف (در بحث انتخاب الگو تابع هدف بر اساس یک طبقه بند است) افراد از یک جمعیت ارزیابی می شوند و بهترین کروموزوم ها به منظور جهش و ترکیب شدن برای ایجاد کروموزوم های جدید انتخاب می شود (به طوری که تابع هدف را بیشینه کنند) این الگوریتم به تعداد دفعات مشخصی (نسلها) که کاربر آن را تعیین می کند، تکرار می شود و بهترین کروموزوم ها از آخرین نسل

انتخاب می شود. معمولا کروموزوم C به صورت یک ارائه کدشده دودویی C = [1, 0, 0, 1, …] نمایش داده می شود، به طوری که |C|=|T| باشد، که برای نمایش دادن زیرمجموعه خاصی از T به کار گرفته می شود. هر Cj نماینده j امین عنصر از T می باشد. در صورتی که Cj=1 باشد، j امین عنصر از T عضو زیرمجموعه خواهد بود و در غیر این صورت Cj=0 خواهد

شد. به منظور انجام ترکیب، بیت های دو کروموزوم تعویض می گردند و انجام جهش، ارزش بعضی از بیت ها در کروموزوم را معکوس می کند .[۱۵]

-۴ مدل شبکه عصبی مبتنی بر الگوریتم GMDH

اساساً روشهای تکاملی١۴ مانند الگوریتم ژنتیک، کاربرد وسیعی در مراحل مختلف طراحی شبکههای عصبی دارند [۱۴]

چنانکه دارای قابلیتهای منحصربه فردی در یافتن مقادیر بهینه و امکان جستوجو در فضاهای غیر فبل پیشبینی هستند .[۱۶]
از اینرو در این پژوهش جهت طراحی شکل شبکه عصبی و تعیین ضرایب آن، از الگوریتم ژنتیک استفاده شده است. زیرا، شبکه عصبی GMDH مبتنی بر الگوریتم ژنتیک، ابزاری با قابلیت بالا در مدلسازی سیستمهای غیرخطی پویای پیچیده، به شمار میرود.

شبکه عصبی GMDH در برگیرنده مجموعهای از نرونها بوده که از پیوند جفتهای مختلف از طریق یک چندجملهای درجه دوم به وجود میآید. فرض کنید مجموعه ای از m متغیر شامل x1, x2 , … xm و یک متغیر y وجود دارد داده های مربوط به هر کدام از xi ها و متغیر هدف y متغیر خروجی نیز برای یک دوره زمانی وجود دارد به عبارتی هر یک از متغیرها به صورت یک بردار که شامل اعداد سری زمانی مربوط به آن متغیر است، میباشد. .[۱۷] اطلاعات اولیهای که جهت ساخت الگوریتم GMDH باید جمعآوری گردد. مجموعهای از n مشاهده است که در ماتریس زیر نشان داده شده است .[۱۷]

برای شروع به کار الگوریتم با دو مسئله مواجه هستیم تشخیص رابطهای که متغیر خروجی را بر اساس متغیرهای ورودی xi ها

تولید می کند. پیشبینی y به ازای مقادیر معلوم xi ها به عبارتی نیاز به تشخیص مدل و رابطه بین متغیرها می باشد (مدل سازی) که سپس بتوان از روی آن مدل مقادیر آتی متغیر هدف پیشبینی کرد .[۱۷] مبنای الگوریتم GMDH عبارت از

فرآیندی جهت ساخت یک چند جملهای با مراتب بالا است که به سری تابع ولترا۱۵ معروف است و به شکل زیر ارائه میگردد: (این چند جملهای را ایواخننکو نیز مینامند.)

برای این منظور در الگوریتم GMDH ابتدا به تجزیه سری توابع ولترا به چند جملهای های دو متغیره درجه دوم می پردازیم.

در این تجزیه سری ولترا به مجموعهای از معادلات بازگشتی زنجیرهای تبدیل می گردد به گونهای که مجددا با جایگذاری جبری هر یک از روابط بازگشتی در این رابطه سری ولترا برقرار میگردد.

توسط تابع f تقریب زده میشود:

و در صورتی که تابع f به صورت زیر بیان شود:

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
word قابل ویرایش - قیمت 12700 تومان در 17 صفحه
127,000 ریال – خرید و دانلود
سایر مقالات موجود در این موضوع
دیدگاه خود را مطرح فرمایید . وظیفه ماست که به سوالات شما پاسخ دهیم

پاسخ دیدگاه شما ایمیل خواهد شد