سیستم ایمنی مصنوعی روشی است که بر اساس سیستم ایمنی بدن انسان طراحی شده است که راه حلهای جدیدی را برای حل مسائل پیچیده از قبیل عیبیابی و بهینهسازی فراهم میکند.
( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
در سیستم ایمنی مصنوعی، الگوریتمی به نام الگوریتم انتخاب منفی (NSA)[7] تعریف شده است که با الهام از یکی از انواع سلولهای ایمنی به نام سلولهای Tدر بدن، مکانیزم جداسازی خودی/غیرخودی را در سیستم ایمنی بدن شبیهسازی میکند و در کاربردهای مختلفی از قبیل تشخیص خطا و ناهنجاری مورد استفاده قرار میگیرد. الگوریتم انتخاب منفی از شناساگرها برای تشخیص فضای خودی/غیرخودی بهره میبرد. تعریف شناساگرها یکی از وجوه اصلی الگوریتم انتخاب منفی است. دو گروه کلی برای الگوریتمهای انتخاب منفی مطرح میشود: شعاع ثابت و شعاع متغیر؛ که شعاع در نظر گرفته شده برای شناساگرها برای پوشش فضای غیر خودی است.
در این پژوهش روش به کار گرفته شده برای تشخیص ناهنجاری در شبکه های اقتضایی متحرک، استفاده از سیستم ایمنی مصنوعی می باشد. به این ترتیب که سعی شده است با بهره گرفتن از الگوریتمهای موجود در سیستم ایمنی مصنوعی مانند الگوریتم انتخاب منفی راهکار بهینهای برای تشخیص ناهنجاری در شبکه های اقتضایی متحرک اتخاذ گردد.
۱-۳- هدف پژوهش
هدف از این پژوهش، ارائه ی الگوریتمی جدید جهت تشخیص ناهنجاری در شبکه های اقتضایی متحرک می باشد که بتواند عملکرد بالایی داشته و مشکلات موجود در سیستم های موجود را ارتقا بخشد. یکی از چالش های سیستمهای تشخیص نفوذ موجود این است که در این سیستمها نرخ تشخیص پایین و همچنین دقت تشخیص حملات پایین می باشد. در این پژوهش قصد داریم با بهره گرفتن از سیستم ایمنی مصنوعی، به ارائه الگوریتمی بهینه در حوزه تشخیص ناهنجاری در شبکه های اقتضایی متحرک بپردازیم که نرخ تشخیص بالا و نرخ هشدار نادرست پایینی داشته باشد.
۱-۴- جنبههای نوآورانه پژوهش
نوآوریهای این پایاننامه شامل موارد زیر می باشد :
در نظر گرفتن شعاع متغیر برای نمونههای خودی. با تعیین شعاع متغیر برای نمونه های خودی میتوان مشخصه مناسبی از سیستم ایجاد کرد که به موجب آن نرخ تشخیص بالاتر و نرخ هشدار اشتباه کاهش می یابد .
افزودن مکانیسم سرکوب ایمنی در فاز تشخیص الگوریتم انتخاب منفی. مکانیسم سرکوب ایمنی یک تکنیک جدید می باشد که با به کارگیری سلول های ایمنی سرکوبگر Ts در کنار سلولهای ایمنی دیگر که(شناساگرها نقش آنها را ایفا می کنند)، موجب فراهم کردن پوشش بهتر از فضای غیرخودی می گردد. در نتیجه از تعداد حفرهها کاسته شده و در عین حال تعداد شناساگرهای موردنیاز برای پوشش فضای غیرخودی را کاهش می دهد که به موجب آن هزینه های محاسباتی کاهش یافته و موجب بهبود عملکرد الگوریتم انتخاب منفی می گردد.
مکانیسم سرکوب ایمنی و تلفیق آن با تکنیک تعریف نمونههای خودی با شعاع متغیر در الگوریتم انتخاب منفی برای تشخیص ناهنجاری در شبکه های اقتضایی متحرک، برای اولین بار در این پایان نامه به کارگرفته شده است.
۱-۵- جمع بندی
در این فصل هدف از انجام این پژوهش، کلیاتی از موضوع پژوهش و جنبه های نوآورانه آن بیان گردید. در فصل بعدی به شرح مختصری از مفاهیم و تعاریف بهکار رفته در این پژوهش مثل شبکه های اقتضایی متحرک و ویژگیهای آنها، پروتکلهای مسیریابی در این شبکه ها، انواع حملات در این شبکه ها و راه های مقابله با آنها خواهیم پرداخت. همچنین مفهوم تشخیص نفوذ، انواع روش های تشخیص نفوذ و مفهوم سیستم ایمنی مصنوعی در فصل ۲ بیان گردیده است. در فصل ۳ به بررسی ادبیات موضوع تشخیص نفوذ در شبکه های اقتضایی متحرک خواهیم پرداخت. در فصل ۴ راهکار ارائه شده در این تحقیق معرفی گردیده و در فصل ۵ راهکار جدید مورد ارزیابی قرار داده شده و نتایج با روشهای دیگر مقایسه شده است. در فصل ۶ جمع بندی مطالب و پیشنهادات برای تحقیقات آتی قرار داده شده است .
فصل ۲: مفاهیم و تعاریف
۲-۱- مقدمه
در این فصل به معرفی مفاهیم اصلی به کار رفته در این پژوهش خواهیم پرداخت. ابتدا شبکه های اقتضایی متحرک[۸] معرفی می شوند. خصوصیات این شبکه ها، پرتکلهای مسیریابی، تهدیدات پیش روی آنها و روش های مقابله با این تهدیدات به طور اجمالی مورد بررسی قرار می گیرد.
در ادامه مفهوم سیستم ایمنی مصنوعی معرفی می گردد و سپس به الگوریتمها و تئوریهای موجود در سیستم ایمنی مصنوعی اشاره شده است.
۲-۲- شبکه های اقتضایی متحرک
شبکه ها را می توان براساس لایه فیزیکی شان [۹] به دو دسته عمده سیمی [۱۰] و بیسیم [۱۱] تقسیم کرد. در شبکه های سیمی گرههای شبکه از طریق یک وسیله فیزیکی مانند کابل، اترنت یا فیبرنوری به هم متصل اند. ولی در شبکه های بیسیم، هیچ وسیله اتصالی وجود ندارد و گرهها از طریق امواج رادیویی یا اشعه مادون قرمز به هم متصل اند.
شبکه ها بر اساس قابلیت حرکت گرهها به دو دسته تقسیم می شوند. در شبکه های ثابت[۱۲] گرهها ثابتاند و توپولوژی و ساختار شبکه تغییر نمی کند. در شبکه های متحرک [۱۳] مکان گرهها و در نتیجه ساختار شبکه قابلیت تغییر دارد.
شبکه های بیسیم (ثابت یا متحرک) را می توان به دو دسته تقسیم کرد: شبکه های بیسیمی که دارای زیرساخت[۱۴] هستند و شبکه های بیسیم بدون زیرساخت. در نوع اول، گرهها به سطح بالاتری مانند ایستگاههای پایه[۱۵] یا نقاط دسترسی متصل می شوند (به شکل بی سیم) و از این طریق قادر به ارتباط خواهند بود. در حالی که در نوع دوم، اصولا چنین گرههایی وجود ندارند و شبکه بدون هیچ زیرساخت اولیهای قادر است کار خود را آغاز کند و گرهها خود-راه انداز[۱۶] هستند(تانیجا[۱۷] و کوش[۱۸] ، ۲۰۱۰).
شبکه های اقتضایی متحرک [۱۹] (موردی سیار) نوع خاصی از شبکه های بی سیم متحرک هستند که در آنها گرهها بدون هیچ زیرساخت ثابتی با یکدیگر ارتباط برقرار می کنند. در این شبکه ها هر یک از گرهها به عنوان مسیریاب نیز عمل می کنند.گرهها از طریق امواج رادیویی با هم ارتباط برقرار می کنند. هرگره قادر است با گرههایی که در برد رادیویی آن قرار دارند، که به اصطلاح آنها را گرههای همسایه می نامند، به طور مستقیم ارتباط داشته باشد. برای برقراری ارتباط با گرههایی که در خارج از محدوده رادیویی قرار دارند، از گرههای میانی استفاده می شود. به این صورت که گرههای میانی به عنوان مسیر یاب عمل کرده و ترافیک را به صورت گام به گام از گره مبدا به گره مقصد ارسال می کنند. به همین دلیل به آنها شبکه های بی سیم اقتضایی چند گامی[۲۰] نیز گفته می شود(تانیجا[۲۱] و کوش[۲۲] ، ۲۰۱۰).
در شبکه های اقتضایی متحرک، سیار بودن گرهها ممکن است باعث تغییر مسیر بین دو گره شود. همین موضوع باعث بروز مشکلاتی در استفاده از این شبکه ها می شود. با این وجود امروزه شبکه های اقتضایی متحرک کاربردهای فراوانی دارند. دلیل این امر سرعت و آسانی پیادهسازی این شبکه ها و نیز عدم وابستگی آنها به ساختارهای از پیش ساخته است. این شبکه ها در کاربردهای شخصی مانند اتصال لپتاپها به یکدیگر، کاربردهای عمومی مانند ارتباط وسایل نقلیه وتاکسیها، کاربردهای نظامی مانند اتصال ارتش و ارتباط ناوگان جنگی و کاربردهای اضطراری مانند عملیات امداد و نجات، قابلیت به کارگیری دارند.
۲-۳- خصوصیات شبکه های اقتضایی متحرک
شبکه های اقتضایی متحرک دارای ویژگیهای خاص خود می باشند. ویژگیهای شبکه های اقتضایی متحرک را می توان به صورت زیر خلاصه کرد (نادکامی و میشرا ،۲۰۰۳):
۱) عدم وجود زیر ساخت و خودمختاری: این شبکه ها بدون هیچ زیرساختی ایجاد شده و به هیچ مدیریت متمرکزی وابسته نیستند. هرگره به صورت مستقل هم به عنوان میزبان ( تولید کننده داده ) و هم به عنوان مسیریاب عمل می کند.
۲) مسیریابی چند گامی[۲۳] : در این شبکه ها هیچ مسیریابی وجود ندارد. بلکه گرههای میانی پیام ها را به صورت گام به گام به سمت گره مقصد مسیریابی می کنند.
۳) ساختار پویای[۲۴] شبکه : به دلیل تحرک گرهها، ساختار شبکه می تواند دائما و به صورت غیر قابل پیش بینی تغییر کند. با تحرک دائمی گرهها، مسیرها نیز تغییر خواهند کرد.
۴) اتصالات ناهمگن: هر گره شبکه می تواند مجهز به چندین واسط رادیویی با قابلیت های انتقال و دریافت متفاوت باشد که سبب ایجاد لینکهای نامتقارن در شبکه و ناهمگنی در میزان برد رادیویی گرهها می شود. همچنین، پیکر بندی سخت افزاری و نرم افزاری هر گره می تواند متفاوت باشد. به همین دلیل است که طراحی پروتکلها و الگوریتمها برای این نوع از شبکه ها کار پیچیدهای است.
۵) محدودیت در انرژی: به دلیل متحرک بودن گرهها در این شبکه ها، انرژی آنها به وسیله باتری تامین می شود. در نتیجه منبع انرژی آنها محدود است. از آنجایی که هر گره هم به عنوان مسیریاب و هم به عنوان میزبان عمل می کند، لذا مصرف انرژی در گرههای شرکت کننده باید مدیریت شود.
۶) محدودیت محاسباتی.
از مزایای این شبکه ها این است که انعطاف پذیری بالایی دارند و در برابر خرابی یک یا چند گره مقاومند. همچنین گسترش این شبکه ها بسیار آسان و سریع است.
۲-۴- مسیریابی در شبکه های اقتضایی متحرک
مسیریابی در شبکه های اقتضایی متحرک به دلیل ویژگیهای منحصر بفرد این شبکه ها، به وسیله پروتکلهای مسیریابی از قبیل حالت اتصال[۲۵] و بردار فاصله[۲۶] قابل انجام نیست به این دلیل که این پروتکلها برای شبکه هایی با همبندی ایستا طراحی شده اند. در صورتی که تحرک گرهها و تغییر همبندی جزء ماهیت شبکه های اقتضایی متحرک می باشد. نکته دیگر این که پروتکلهای مسیریابی موجود با فرض اینکه همه اتصالات دو طرفه هستند طراحی شده اند. اما در شبکه های اقتضایی متحرک این موضوع همیشه صادق نیست. وجود تفاوت در سخت افزار گرهها و نوسانات سیگنالهای رادیویی در ایجاد اتصالات یک طرفه موثر است (بروچ[۲۷] و همکاران ، ۱۹۹۸ ، پرکینز[۲۸] و رویر[۲۹] ، ۱۹۹۹) .
فرق میان پروتکلهای مسیریابی، بر اساس چگونگی نگهداری و به دست آوردن اطلاعات مسیریابی میباشد. پروتکلهای مسیریابی به سه گروه برمبنای جدول[۳۰] ، بر مبنای تقاضا[۳۱] و ترکیبی تقسیم می شوند(عبدالحسن[۳۲] و همکاران ، ۲۰۰۴ ، رویر[۳۳] و تو[۳۴] ، ۱۹۹۹).
۲-۴-۱- پروتکل های مسیریابی بر مبنای جدول
در پروتکل های مسیریابی بر مبنای جدول(رویر و تو ، ۱۹۹۹)، گرهها دائما با ارزیابی مسیرهایی که به گرههای قابل دسترس منتهی می شوند، اطلاعات مسیریابی را به روز رسانی می کنند و همواره یک مسیر از گره مبدا به مقصد به دست می آید. در این پروتکلها همه گرهها یک نما از همبندی شبکه نگهداری می کنند. به محض تغییر در همبندی شبکه ، اطلاعات تمام گرههای تحت تاثیر این تغییر، به روز رسانی می شوند. هر گره قبل از نیاز به یک مسیر آن را در جدول مسیریابی خود نگهداری می کند به همین دلیل به این پروتکلها “برمبنای جدول” یا “پیش گستر[۳۵]” می گویند. از آنجایی که مسیرها از قبل محاسبه می شوند، سرعت دسترسی به مسیر بالا بوده و این پروتکلها در کاربردهای بلادرنگ استفاده می شوند. از جمله پرتکل های مبتنی بر جدول می توان به پرتکل های DSDV و OLSR اشاره کرد.
۲-۴-۲- پروتکل های مسیریابی برمبنای تقاضا
در پروتکل های مسیریابی برمبنای تقاضا (رویر و تو ، ۱۹۹۹)، مسیر بین دو گره تنها به واسطه درخواست یک گره ایجاد می شود. مسیریابی در این پروتکل ها در سه مرحله کشف مسیر، نگهداری مسیر، حذف مسیر انجام می شود . از آنجایی که در شبکه های اقتضایی متحرک نودها تغییر مکان می دهند ، مسیر می تواند قطع شود. بنابراین نگهداری مسیر بین گره مبدا و مقصد در پروتکلهای مبتنی بر تقاضا مسئله مهمی است.
درپروتکلهای مبتنی بر تقاضا سربار کنترلی نسبت به پروتکلهای پیشگستر کمتر است ولی در این پروتکلها به دلیل اینکه مسیر از قبل تعیین نشده است، یک تاخیر در ارسال بستهها وجود دارد که به پیدا کردن مسیر مربوط می شود. از جمله پرتکلهای مبتنی برتقاضا میتوان پرتکلهای DSR[36] و AODV را نام برد. پرتکل مسیریابی استفاده شده در شبکه اقتضایی متحرک مورد مطالعه در این پژوهش، پرتکل مبتنی بر تقاضای AODV می باشد که به شرح آن می پردازیم.
۲-۴-۲-۱- AODV[37]
پروتکل AODV (پرکینز و همکاران ، ۲۰۰۳) ، یک پروتکل مسیریابی درخواست محور است که در واقع بهبود یافته پروتکل DSDV می باشد . چرا که در آن از مفهوم شماره توالی مقصد به کار رفته در پروتکل DSDV برای نگهداری آخرین اطلاعات مسیریابی استفاده می شود. ولی برخلاف پروتکل DSDV که درآن گرهها مجموعه کاملی از مسیرها را نگهداری می کنند، درپروتکل AODV که مبتنی بر درخواست می باشد، تعداد همه پخشیهای مورد نیاز در شبکه کاهش یافته است. شماره توالی مقصد جهت جلوگیری از مسیرهای حلقه و تشخیص مسیرهای به روز استفاده می شود. این پروتکل نیز شامل دو مرحله کشف مسیر و نگهداری مسیر می باشد. زمانی که گره مبدا بخواهد دادهای را به یک گره مقصد ارسال کند، در صورتی که هیچ مسیری به آن گره در جدول مسیریابی خود نیابد فرایند کشف مسیر را آغاز می کند. در ابتدا گره مبدا یک بسته RREQ را ایجاد کرده و به تمام همسایگانش همه پخشی می کند. هر بسته RREQ شامل آدرس گره مبدا، آدرس گره مقصد، شماره منحصر به فرد، آخرین شماره توالی مشاهده شده از مقصد و شماره توالی گره مبدا است. بعد از ایجاد بسته RREQ گره یک تایمر را راه اندازی می کند و منتظر دریافت بسته RREP می شود. هر گره لیستی شامل آدرس مبدا و شماره منحصر به فرد هر بسته درخواست مسیر را نگهداری می کند . این اطلاعات برای یک بازه زمانی خاص در این لیست باقی می مانند. زمانی که برای جلوگیری از حملات سیل آسا[۳۸] لازم است. در صورتی که بسته RREQ تکراری باشد دور ریخته خواهد شد.
اگر بسته RREQ در بازه زمانی مشخص دیده نشده باشد، گره بسته دریافتی را پردازش کرده و یک مسیر معکوس به گره ارسال کننده بسته در جدول مسیریابی خودش ایجاد می کند. مسیر معکوس شامل آدرس مبدا ، شماره توالی ، تعداد گام های مورد نیاز برای رسیدن به گره مبدا است. این فرایند برای ارسال بسته RREP به سمت گره مبدا در مسیر معکوس ضروری است .
هنگامی که یک گره میانی بسته RREQ را دریافت کرد ابتدا آدرس گره مبدا و شماره منحصر به فرد بسته را چک می کند. اگر بسته تکراری نبوده و گره میانی مسیری به مقصد این بسته داشته باشد، آن گره فیلد شماره توالی گره مقصد بسته را با شماره توالی مقصدی که خودش در حال حاضر دارد، مقایسه می کند. اگر گره میانی شماره توالی مقصد بزرگتر یا مساوی شماره توالی مقصد بسته داشته باشد ، مسیری که گره میانی در حافظه خود دارد یک مسیر جدید به سمت مقصد است. در نتیجه یک بسته RREP با بهره گرفتن از مسیر معکوس که توسط بسته RREQ دریافت شده، قبلا ایجاد شده بود، به سمت گره مبدا ارسال می کند. باقی مسیرهای معکوس با گذشت زمان از بین می روند. در غیر این صورت اگر گره میانی مسیری به مقصد نداشته باشد، آن گره شمارنده گام بسته را یک واحد افزایش داده و این بسته را باز هم به همسایگانش همه پخشی می کند. اگر هیچ یک از گرههای میانی مسیری به سمت گره مقصد نداشتند، سرانجام بسته RREQ به گره مقصد می رسد. گره مقصد شماره توالی خود و مدت زمان اعتبار این مسیر را در بسته RREP قرار داده و برای گره مبدا ارسال می کند. هر گره میانی به محض دریافت بسته شمارنده گام آن را یک واحد افزایش داده و سپس از مسیر معکوس ایجاد شده آن را به سمت مبدا هدایت می کنند.
گاهی گره مبدا بیش از یک بسته RREP از همسایگانش دریافت می کند. در این مواقع گره مبدا اولین بسته دریافتی را استفاده می کند و به محض دریافت بستههای پاسخ دیگر شماره توالی مقصد و شمارنده گام آن را چک می کند. اگر شماره توالی مقصد بزرگتر و یا شمارنده گام کمتری داشته باشد، بدین معناست که مسیر تازهتر و یا کوتاهتری به مقصد مورد نظر دارد. در این صورت،گره مبدا جدول مسیریابی خود را با مسیر جدید به روز رسانی می کند. در غیر این صورت بسته دریافتی دور ریخته می شود.
اگر یک گره متوجه قطع یک اتصال شود یک بسته (RERR)[39] را به صورت همه پخشی به همسایههای خود ارسال می کند. این پیام در شبکه پخش شده و گرههایی که مسیر آنها از این اتصال قطع شده میگذرد، جدول مسیریابی خود را به روز می کنند.