بخشی از مقاله

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


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

.1 مقدمه
با توجه به تکامل در عرصه رایانش روشهای بسیاری جهت توزیع منابع و پیشرفت استفاده از داده ها از قبیل خوشهبندی داده ها، رایانش گرید و سیستم مدیریت پایگاه داده های توزیع شده معرفی شده اند.[2] امروزه رایانش ابری مکانیزم در حال ظهور برای محاسبات سطح بالا به عنوان یک سیستم ذخیره سازی تلقی میشود که در آن ابرها به کاربران خود برمبنای میزان استفاده از منابع هزینه دریافت کرده و سرویسهای خود را در اختیار آنها قرار میدهند. از این رو میتوان سرویسهای ابری را در ایجاد انگیزه برای شروع یک کسبوکار با هزینه های مالی پایینتر سهیم دانست. رایانش ابری بسته به نوع توزیع منابع از سه لایه زیر ساخت به عنوان سرویس، پلتفرم به عنوان سرویس و نرمافزار کاربردی به عنوان سرویس تشکیل شده است.
در پایینترین سطح که لایه زیر ساخت به عنوان سرویس((Iaas نامیده میشود، پردازنده، حافظه و اجزای سختافزاری توسط فراهم کننده سرویس ابری ارائه میگردد. لایه میانی یا پلتفرم به عنوان سرویس(( Paas میزبان محیطهای مختلف برای ارائه خدمات میباشد. در آخر بالاترین لایه نرمافزار کاربردی به عنوان سرویس((SaaS است که دسترسی به این خدمات از طریق وب سرویسها و مرورگرهای وب صورت میگیرد. مشکلات امنیتی به عنوان یک مانع بزرگ در مقابل استفاده کاربران از سیستمهای رایانش ابری قلم داد میشود.[3]
ایجاد یک ساختار امنیتی قوی میتواند در بالا بردن ضریب امنیت و همچنین کاهش خطرحملات احتمالی مؤثر واقع شود. یکی از مراحلی که محیطی امن را جهت دسترسی کاربران مجاز به سرویسهای موردنیاز در محیط رایانش ابری فراهم میآورد تست نفوذ است. برای اطمینان از سیستم ارائه دهنده باید در فواصل منظم زمانی تست سیستم صورت پذیرد.


سیستمهای تشخیص نفوذ را میتوان از سه جنبه ی روش تشخیص، معماری و نحوه ی پاسخ به نفوذ طبقهبندی کرد. انواع روشهای تشخیص نفوذ عبارتاند از تشخیص رفتار غیرعادی و تشخیص سوء استفاده (تشخیص مبتنی بر امضاء).
انواع مختلفی از معماری سیستمهای تشخیص نفوذ وجود دارد که به طور کلی میتوان آنها را در سه دستهی مبتنی برمیزبان، (HIDS) و توزیع شده (DIDS) و مبتنی بر شبکه (NIDS) تقسیم بندی نمود.[4]
بر همین اساس هر IDS را میتوان براساس روشهای تشخیص نفوذ، معماری و انواع پاسخ به نفوذ دستهبندی کرد.
1,1. انواع روشهای تشخیص نفوذ
-روش تشخیص رفتار غیرعادی -روش تشخیص سوء استفاده یا تشخیص مبتنی بر امضاء
.1,1,1 روش تشخیص رفتار غیرعادی
در اینروش، در یک پایگاه داده نماهایی از رفتار عادی ایجاد میشود. یک ناهنجاری ممکن است نشاندهندهی یک نفوذ باشد. برای ایجاد نماهای رفتار عادی از روی کردهایی از قبیل کنترل فازی[5]، تکنیکهای یادگیری ماشین و حتی سیستمهای ایمنی زیستی استفاده میشود.
.1,1,2 روش تشخیص سوء استفاده یا تشخیص مبتنی بر امضاء
در این تکنیک که معمولاً با نام تشخیص مبتنی بر امضاء شناخته شده است، الگوهای نفوذ از پیش ساخته شده (امضاء) به صورت قانون نگهداری میشوند. به طوری که هر الگو انواع متفاوتی از یک نفوذ خاص را در بر گرفته و در صورت بروز چنین الگویی در سیستم، وقوع نفوذ اعلام میشود. در اینnروشها،معمولاً تشخیص دهنده دارای پایگاه داده ای از امضاءها یا الگوهای حمله است و سعی میکند با بررسی ترافیک شبکه ، الگوهای مشابه با آنچه را که در پایگاه داده ی خود نگهداری میکند، بیابد. این دسته از روشها تنها قادر به تشخیص نفوذهای شناخته شده میباشند و در صورت بروز حملات جدید در سطح شبکه ، نمیتوانند آنها را شناسایی کنند و مدیر شبکه باید همواره الگوی حملات جدید را به سیستم تشخیص نفوذ اضافه کند. از این رو استفاده از شبکه های عصبی، رویکردی مناسب برای کاهش انرژی و زمان مصرفی در انطباق الگوها و اضافه کردن الگوهای جدید در این روش به نظر میرسد. از دیگر مزایای این روش دقت در تشخیص نفوذهایی است که الگوی آنهاعیناً به سیستم داده شده است.
از آنجایی که در هر روش، به یک شیوه خاص سعی در بالا بردن امنیت داریم و هر الگوریتم در راستای یکی از این روشها مفیدتر است، استفاده از الگوریتمهای مختلف در این مبحث تفاوتهای زیادی با هم دارد.

.2 سیستم تشخیص نفوذ توزیع شده

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

.3 تشخیص نفوذ با استفاده از شبکه های عصبی
دلیل استفاده از شبکه عصبی برای تشخیص نفوذ توانایی تعمیم و کلاس بندی داده های نرمال و آ-نرمال از یکدیگر است. نوع شبکه عصبی استفاده شده در تشخیص نفوذ شبکه عصبی چند لایه پیش خور، شبکه چندلایه پرسپترون و سیستم پس انتشار است.
Cannady طرح سه لایه را برای این شبکه ها مطرح کرد.مدل استفاده شده توسط Cannady متشکل از 9 لایه بود ولی دقت این روش پایین بود.Moradi و Zulkernine مدل MLP را ارائه دادند.[6] آن ها با این کار نشان دادند که روش MLP با داشتن لایههای مخفی بیشتر، دقت بالاتری را ایجاد میکند.Grediaga et alدو روش پرسپترون چند لایه و روش SOM را با هم مقایسه کرد و نشان داد که نظریه خود سازمانده دقت بالاتری را نسبت به ANN دارا میباشد. در نهایت Vieira et al روش ANN را برای رایانش ابری پیاده سازی کرد که نیاز به آموزش بیشتر برای شناسایی بهتر نفوذ پذیری ها داشت.[7]
در این مقاله از پایگاه داده KDD CUP99 برای ارزیابی کارایی استفاده خواهیم کرد. این پایگاه داده شامل یک مجموعه آموزشی و یک مجموعه تست میباشد و دارای 5 نوع کلاس (Probe, Normal, R2L, U2R, DOS) هستند. و بررسی خواهد شد که استفاده از شبکه عصبی در تشخیص نفوذ هرکدام از دستهها به چه صورت است. الگوریتم استفاده شده در این مقاله الگوریتم یا پس انتشار میباشد[8]و.[9]
ما در این مقاله از تکنیک پس انتشار برای حل مسئله تشخیص نفوذ پذیری با استفاده از الگوریتم شبکه های عصبی در رایانش ابری استفاده میکنیم.
طراحی این شبکه به گونه ای است که باعث انعطاف پذیری، توانایی توسعه و قدرت عملکرد بالا در این گونه سیستم ها میشود.
.4 پس انتشار خطا در شبکه های عصبی:
با توجه به شکل 1 این شبکه عصبی از سه لایه تشکیل شده است: لایه ورودی، لایه مخفی و لایه خروجی

حالا ما شبکه ابری را به این گونه باید تصور کنیم که ساختاری پر از ماشینهای متفاوت دارد که به کاربرهای متفاوت میخواهد سرویس دهد. هر ماشینی را یک گره در شبکه در نظر میگیریم. حال چند ماشین ماشین مجازی در یک خوشه میتواند ساختار شبکه های عصبی ما را ایجاد کند. حال الگوریتمی که در جلوتر بیان میکنیم روش کار شبکه های عصبی را نشان میدهد. حال چند متغیر به نامهای x,y,w برای داده های ورودی و نتیجه خروجی و مقادیر وزن تعریف میکنیم. θ مقدار تصحیح کننده در لایه مخفی و لایه خروجی میباشد، این مقدار در هر تکرار به روز میشود. مقدار خطا و σ مقدار گرادیان تابع و p مقدار تکرار میباشد:[10]
-1 ابتدا مقادیر وزن ها را در بازه به صورت تصادفی انتخاب میکنیم که Fi تعداد کل ورودیهای نرون i در شبکه میباشد.

-2 بدست آوردن خروجیهای نرونهای لایه مخفی :

که در آن n تعداد ورودی ها به نرون j در لایه مخفی و sigmoid تابع تحریک شبکه به حساب میآید

3- محاسبه خروجی واقعی در لایه خارجی:

که m تعداد ورودیهای نرون k در لایه خروجی میباشد
-4 تخمین میزان گرادیان در لایه خروجی:

که در مقدار نهایی خروجی است.
-5 محاسبه مقدار جدید وزن ها:

و سپس بروز رسانی

که α ضریب یادگیری میباشد.
-6 محاسبه خطای گرادیان برای نرون ها در لایه مخفی

-7 محاسبه وزنهای جدید

سپس عمل به روز رسانی

-8 افزایش مقدار p برگشت به گام 2 و تکرار پروسه تا خطا به کمترین مقدار خود برسد
آموزش شبکه نیاز به شناخت رفتار نرمال و غیر نرمال را دارد. در سیستم آموزش از پایگاه داده KDD استفاده میشود. برای هر یک از اتصالات شبکه ، 41 ویژگی کمی و کیفی استخراج میشود. بعد از آموزش، شبکه عصبی یاد میگیرد که در سناریوهای مختلف حمله چه تعداد از ویژگی ها نشان دهنده رفتار نرمال و چه تعداد از ویژگی ها نشان دهنده رفتار غیر نرمال است. وقتی تمام رویداده ا وارد شبکه شدند به 41 حالت تبدیل میشوند، سپس این 41 حالت وارد لایه مخفی و لایه خروجی میشوند، که گرههای خروجی نتیجه را به ما نشان میدهند. وقتی یک رویداد غیر عادی رخ میدهد، لایه خروجی شروع به اخطار میکند و از ورود این رویداد جلوگیری میکند. تمام فعالیت ها باید شکسته شود. قسمت ناظر در ابر، این رویداده ا را از لایه خروجی دریافت میکند. یک نسخه دیگر ماشین ناظر در قسمت سر خوشه ها میباشد و تنها سر خوشه ها نسبت به بقیه اعضا میتوانند با بیرون در ارتباط باشند. این 41 بعد یا گره ای که در سیستم شبکه های عصبی پیاده سازی شده دقت را در شبکه های پیچیده سایبری بالا میبرد.

.5 معماری سیستم
ما در این آزمایش از سیستم UEC استفاده کردیم، که از سیستم ابنتو Encalyptus-powered در ساخت سرور ابری بهره برده است.EP یکی از سیستمهای ابر با قابلیت بالا میباشد.EP با ساختار ابر از ترکیب 5 کامپننت ساخته شده است که در شکل 2 آمده:
CLC(Cloud Controller) -1 برای مدیریت منابع محازی اصلی استفاده میشود
Walrus -2 که تولید کننده S3 که معادل سرویس مقیاس بندی یا مدیرین دسترسی در ماشین مجازی میباشد. CC( Cluster Controller) -3 کنترل آن خوشه و مدیریت اجرا و شبکه بندی.
SC( Storage controller) -4 مدیریت ذخیره سازی در خوشه ها -5 حداقل یک NC(Node controller) کنترل فعالیت ها

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