بدن بتوان به عنوان الگویی برای ایجاد امنیت و جلوگیری از حملات سیاهچاله در شبکه های موردی سیار استفاده نمود. سیستم ایمنی بدن انسان دارای قابلیت یادگیری قوی است که باعث می‌شود به مرور زمان سیستم یادگیری قویتر داشته باشد. همچنین این سیستم میتواند رفتار مناسب را با سلولهای مهاجم در پیش گیرد و خود را برای حمله های احتمالی مجهز نماید. پس برای مقابله با حملات سیاهچاله از آن استفاده میکنیم.

  1. اهداف پایان‌نامه

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

  1. ساختار پایان‌نامه

این پایان‌نامه حاوی ۶ فصل می‌باشد. در فصل دوم بستر تحقیق که شامل مرور کامل بر شبکه‌های موردی سیار، پروتکل‌های مسیریابی، مبحث امنیت، دسته‌بندی انواع حملات و به دنبال آن سیستم ایمنی مصنوعی است، بیان میشود. فصل سوم، مروری بر تحقیقات انجام‌شده در زمینه تشخیص حملات سیاه‌چاله میباشد. فصل چهارم به معرفی روش پیشنهادی دفاع در برابر حملات سیاهچاله با بهره گرفتن از سیستم ایمنی مصنوعی می‌پردازد. در فصل پنجم، نتایج حاصل از شبیه‌سازی الگوریتم پیشنهادی با بهره گرفتن از نرم‌افزار شبیه‌ساز NS-2 ارائه‌شده و عملکرد آن نیز مورد بحث قرار گرفته است. و در نهایت فصل ششم، نتیجهگیری و کارهای آتی این پایان نامه میباشد.
فصل دوم
بستر تحقیق

فصل دوم: بستر تحقیق

شبکه‌های موردی سیار

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

۲-۱-۱ مسیریابی در شبکه‌های موردی سیار

مسیریابی یعنی انتقال بسته‌های اطلاعاتی از یک مبدأ به یک مقصد خاص می‌باشد. در شبکه زیربنای مسیریابی در حالتی که میزبان‌ها سیار بوده و مسیریاب‌ها ثابت بودند انجام می‌گرفت؛ اما در شبکه‌های موردی سیار بی‌سیم خود مسیریاب‌ها نیز سیار میباشند و این تغییرات مداوم در توپولوژی شبکه باعث می‌شود مسیریابی در شبکه موردی سیار بی‌سیم پیچیده به نظر برسد؛ بنابراین مسیریابی و امنیت در شبکه‌های موردی سیار بی‌سیم یکی از مهم‌ترین چالش‌ها می‌باشد. در این بخش به بررسی مسیریابی در شبکه‌های موردی سیار خواهیم پرداخت و روش‌های مختلفی که برای مسیریابی در شبکه موردی سیار وجود دارد را دسته‌بندی کرده و به صورت گذرا نگاهی به پروتکل‌های هر کدام خواهیم انداخت. از زمان پیدایش شبکه‌های موردی سیار پروتکل‌های زیادی گسترش‌یافته‌اند از جمله پروتکل‌هایی که خصوصیات منحصر به فردی داشتند مانند مصرف برق بالا، پهنای باند پایین، نرخ خطای بالا و مسیریابی با چندین گذر. پروتکل‌های مسیریابی موردی به دو دسته تقسیم می‌شوند: پروتکل‌های مبتنی بر جدول[۱] و پروتکل‌های مبتنی بر تقاضا [۲]
شکل۲-۱ : انواع پروتکل‌های مسیریابی موردی

۲-۱-۲ پروتکل‌های مبتنی بر جدول

در این دسته از پروتکل‌ها هرگره یک یا چند جدول شامل اطلاعات مسیریابی به گره های دیگر شبکه را نگه می‌دارد؛ تمام گرهها جداولشان را برای حفظ سازگاری و داشتن یک دید به روز از شبکه، به‌روزرسانی می‌کنند. زمانی که توپولوژی شبکه تغییر میکند، گرهها پیغام‌های به‌روزرسانی را در سرتاسر شبکه منتشر میکنند. فرق این دسته از پروتکل‌های مسیریابی در چگونگی توزیع اطلاعات، تغییر توپولوژی و تعداد جداول لازم برای مسیریابی می‌باشد. در بخش ذیل دو نوع از این دسته پروتکل‌های مسیریابی را توضیح می‌دهیم.
۲-۱-۲-۱ پروتکل بردار فاصله مرحله به مرحله مقصد ( [۳]DSDV)
این پروتکل بر اساس ایده الگوریتم مسیریابی بلمن فورد[۴] با یک سری بهبودهایی می‌باشد(کای[۵] و همکارانش ،۲۰۰۴)،(رامبابو[۶]،۲۰۰۴) هر پایگاه متحرک یک جدول مسیریابی شامل تمام مقصدهای در دسترس، تعداد گام‌های مورد نیاز برای رسیدن به آن مقصد و دنبالهای از اعداد اختصاص داده‌شده به آن مقصد را نگهداری می‌کند. این دنباله اعداد برای تشخیص مسیر جدید از مسیر قدیمی و در نتیجه تشخیص ایجاد حلقه می‌باشد. ایستگاه‌ها به صورت متناوب جداول مسیریابی خود را برای همسایه‌های مستقیم خود میفرستند، همچنین اگر یک ایستگاه یک تغییر مهم در جدول خود مشاهده نماید، به منظور ایجاد به‌روزرسانی اطلاعات، انتقال جدول مسیریابی خود را انجام می‌دهد که این به‌روزرسانی‌ها بر اساس دو روش مبتنی بر زمان و مبتنی بر رویداد میتوانند انجام شوند. به‌روزرسانی جداول به طور کلی به دو روش به‌روزرسانی کامل و به‌روزرسانی افزایشی انجام می‌شود. در روش به‌روزرسانی کامل تمام اطلاعات جدول مسیریابی برای همسایه‌ ها فرستاده می‌شود بنابراین تعداد بسته‌های خیلی زیادی را تولید مینماید، در صورتی که در روش به‌روزرسانی افزایشی فقط آن خوشه از اطلاعات جداول که از آخرین به‌روزرسانی تا حال تغییر کرده‌اند فرستاده می‌شوند. زمانی که شبکه بر اساس وابستگی‌ها پایدار شده باشد، به‌روزرسانی افزایشی می‌تواند از ازدیاد ترافیک جلوگیری نماید و به‌روزرسانی کامل برای مواقعی که وابستگی‌ها کم است مناسب می‌باشد. همه پخشی های[۷] مسیر جدید شامل آدرس مقصد، شماری از گام‌ها برای رسیدن به مقصد، عددی ترتیبی از اطلاعات دریافت شده در خصوص مقصد همچنین یک عددی ترتیبی یکتا برای همه پخشی می‌باشد. در یک شبکه با تغییرات سریع بسته‌های افزایشی می‌توانند نسبت به روش اول رشد زیادی داشته باشند. هر بسته‌ی به‌روزرسانی مسیر، اطلاعات جدول مسیریابی را افزایش می‌دهد و همچنین رشته اعداد منحصر به‌ فرد توسط انتقال ‌دهنده به آن تخصیص می‌یابد، برچسب مسیر توسط بزرگ‌ترین رشته اعداد استفاده‌شده داده می‌شود. اگر دو مسیر این دنباله اعدادشان یکسان باشد، مسیر با معیار بهتر مانند مسیر کوتاه‌تر استفاده می‌شود، لازم به ذکر است که ایستگاه‌ها زمان ماندگاری مسیرها را بر اساس سابقه قبلی آن‌ ها تخمین می‌زنند.
۲-۱-۲-۲ پروتکل (WRP)[8]
پروتکل WRP یک پروتکل مسیریابی مبتنی بر بردار فاصله می‌باشد (شانکر[۹] و همکارانش،۲۰۰۳). هر گره در شبکه مسئول نگهداری چهار جدول: جدول فاصله[۱۰]، جدول مسیریابی[۱۱]، جدول هزینه لینک[۱۲] و جدول لیست ارسال مجدد پیغام ( [۱۳]MRL) است. جدول فاصله برای هر گره مانند x شامل فاصله x تا هر گره مقصدی مانند y که از طریق همسایه‌های خود مانند z می‌تواند به آن‌ ها برسد. جدول مسیریابی برای گره x شامل فاصله‌ی هر گره مقصد مانند y تا گره x می‌باشد. همچنین یک برچسب برای شناسایی مسیر دارد که توسط آن می‌توان یک مسیر ساده یا یک حلقه و یا یک مسیر اشتباه را تشخیص داد. نگهداری فواصل قبلی و گذشته در تشخیص حلقه‌ها و اجتناب از شمارش تا بی‌نهایت بسیار مفید و سودمند میباشد. جدول هزینه پیوند، شامل هزینه هر گره تا همسایه‌های خود و زمان انتظار معتبر آن‌ ها می‌باشد. لیست ارسال مجدد پیغام (MRL)شامل اطلاعاتی است که یک گره توسط آن‌ ها می‌تواند شناسایی که کدام همسایه‌اش پیغام به‌ روزرسانی را دریافت نکرده است و مجبور به ارسال مجدد این پیغام به آن شده است. گرهها جداول مسیریابی خود را بر اساس پیغام‌های متناوب مسیریابی یا به عبارت دیگر بر اساس تغییرات پیوند، با همسایه‌های خود مبادله می‌کنند و یک لیست پاسخگویی به پیغام به‌روزرسانی را ارائه می‌دهند که این کار با بهره گرفتن از فرمت MRL می‌باشد. این لیست شامل گره هایی است که تصدیق این پیغام را ارسال کرده‌اند. اگر بعد از آخرین به‌روزرسانی هیچ تغییری در جدول مسیریابی ایجاد نشده باشد، گره فقط یک پیغام سلام یا Hello برای اطمینان از برقراری ارتباط می‌فرستد. هنگام دریافت یک پیغام به‌روزرسانی، گره جدول فاصله خود را برای یافتن بهترین مسیر با بهره گرفتن از اطلاعات جدید اصلاح می‌کند. هر مسیر جدیدی که پیدا می‌شود برای گره های اصلی هم فرستاده می‌شود تا آن‌ ها نیز بتوانند جداولشان را به‌روزرسانی کنند. گرهها همچنین جداول مسیریابی خود را اگر که مسیر جدید پیداشده ازمسیر موجود بهتر باشد، به‌روزرسانی می‌کنند. خصوصیت منحصر به‌ فرد این الگوریتم این است که سازگاری تمام گره های همسایه را زمانی که یک تغییر در پیوند هر کدام از همسایه‌ها اتفاق افتد، بررسی می‌کند. بررسی کردن سازگاری در این روش، در برطرف کردن ایجاد حلقه و سرعت بخشیدن در همگرا شدن مسیر کمک زیادی می‌کند.
۲-۱-۳ پروتکل‌های مبتنی بر تقاضا[۱۴]
در این نوع از پروتکل‌ها مسیریابی تنها زمانی مسیری ایجاد میشود که توسط گره منبع تقاضا شده باشند؛ بنابراین آن‌ ها پروتکل‌های مسیریابی مبتنی بر تقاضای آغازگر از منبع نامیده می‌شوند. زمانی که یک گره یک مسیر به یک مقصد نیاز دارد در شبکه یک فرایند کشف مسیر را بکار می‌گیرد. این فرایند یک بارزمانی که یک مسیر پیدا شود یا همه مسیرهای ممکن امتحان شوند، کامل می‌شود. زمانی که یک مسیر برقرار شد توسط یک رویه نگهداری مسیر تا زمانی که مسیر از منبع غیرقابل‌ دسترس نشده باشد یا زمانی که یک مسیر کوتاه‌تر کشف نشده باشد نگهداری می‌شود.
۲-۱-۳-۱ پروتکل مسیریابی ترتیبی موقتی [۱۵]TORA
ویژگی‌های پروتکل مسیریابی TORA متمرکز ساختن پیام‌های کنترلی در مجموعه بسیار کوچک از گره های نزدیک به محلی که تغییرات توپولوژی در آن اتفاق افتاده است می‌باشد (ماتیاس[۱۶] و پاتریک[۱۷]،۲۰۰۴). برای دستیابی به این موضوع، گرهها اطلاعات مسیریابی در بازه گره های مجاور را نگهداری می‌کنند. پروتکل مسیریابی TORA سه وظیفه اساسی دارد: ایجاد مسیر، ترمیم مسیر و پاک کردن مسیر؛ ایجاد مسیر با بهره گرفتن از بسته‌های QRY و UPD انجام می‌شود. الگوریتم ایجاد مسیر با قرار دادن یک مجموعه صفر برای ارتفاع گره مقصد و مجموعه خالی برای ارتفاع گره های دیگر شروع می‌شود. مبدأ بسته QRY که شناسه گره مقصد در آن قرار دارد را پخش می‌کند. یک گره با ارتفاع غیر خالی با بهره گرفتن از یک بسته UPD که ارتفاع خود را در آن قرار میدهد، پاسخ می‌دهد. گره ای که یک بسته UPD را دریافت می‌کند، ارتفاع خود را به یکی بیشتر از ارتفاع تولیدکننده UPD تنظیم می‌کند. گره با بیش‌ترین ارتفاع به عنوان گره ابتدایی مسیر و گره با کمترین ارتفاع به عنوان گره انتهایی مسیر مطرح می‌شود. در این روش یک گراف غیر حلقوی از مبدأ به مقصد ساخته می‌شود شکل ۲-۲ نشان دهنده یک فرایند ایجاد مسیر در TORA است. همان طور که در شکل ۲-۲ نشان داده شده است گره ۵ بسته QRY را که از گره ۳ گرفته ولی منتشر نکرده است چون این بسته قبلاً توسط گره ۲ به این گره رسیده بوده است. در شکل ۲-۳ مبدأ یعنی گره ۱ بسته UPD را می‌تواند از گره ۲ یا گره ۳ دریافت کند ولی از گره ۴ که ارتفاع آن کمتر است دریافت نمی‌کند. وقتی که یک گره حرکت می‌کند و مسیر DAG شکسته می‌شود ترمیم مسیر برای دوباره ساختن DAG در گره مقصد مورد نیاز است. در فاز از بین بردن مسیر TORA یک بسته پاک‌سازی (CLR) را در کل شبکه برای از بین بردن مسیرهای غیر معتبر به صورت انبوه پخش می‌کند.
شکل ۲-۲ : همه پخشی برای کشف مسیر در TORA
شکل ۲-۳ : یک نمونه از کشف مسیر در TORA
۲-۱-۳-۲ پروتکل مسیریابی AODV[18]
این پروتکل را می‌توان یک بهبودی بر پروتکل DSDV دانست AODV تعداد پخش‌ها را به وسیله ایجاد مسیر در مواقع لزوم به حداقل می‌رساند (سانکرادس[۱۹] و همکارانش، ۲۰۰۵). بر عکس DSDV که لیستی از تمام مسیرها را نگه می‌داشت، برای پیدا کردن یک مسیر به مقصد، مبدأ یک بسته درخواست مسیر را پخش می‌کند. همسایه‌ها بسته را برای همسایه‌های خود پخش می‌کنند. زمانی که یک گره منبع سعی در ارسال پیغامی به چند گره مقصد دارد و یک مسیر قابل ‌قبول به سمت مقصد وجود ندارد برای پیدا کردن گره دیگر یک فرایند کشف مسیر ایجاد میکند و یک بسته درخواست مسیر RREQ[20] به همسایه‌های خود پخش می‌کند تا زمانی که مقصد یا یک گره میانی یا یک مسیر آزاد به سمت مقصد پیدا شود.
AODV شماره‌های ترتیبی از مقصد را برای اطمینان از اینکه تمام مسیرها آزادی حلقه داشته و شامل اکثر اطلاعات مسیر اخیر باشند بکار می‌برد. هرگره شماره ترتیبی خود را به عنوان شناسه همه پخشی نگهداری می‌کند. شناسه همه پخشی برای هر RREQ از گره افزایش می‌یابد و همراه با آدرس IP به صورتیکه برای هر RREQ از گره مشخص می‌گردد. همراه با شماره ترتیبی خود و شناسه همه پخشی گره منبع در RREQ خود شماره ترتیبی اخیر را به مقصد دارد. گره های میانی می‌توانند به RREQ تنها اگر آن‌ ها یک مسیر به مقصد داشته باشند به طوری که شماره ترتیبی مقصد قابل ‌دسترس، بزرگ‌تر و یا مساوی با محتوای RREQ باشد پاسخ دهند. در طول فرایند ارسال RREQ گره های میانی در جداول مسیرشان آدرس همسایه‌ای را که اولین کپی از بسته همه پخشی به آن رسیده است، ثبت می‌کنند بنابراین یک مسیر معکوس را ایجادمی کنند. اگر بعداً کپیهای اضافی از RREQ مشابه رسیده باشند این بسته‌ها رد میشوند. یک بار که RREQ به مقصد یا به گره میانی با مسیری به اندازه کافی آزاد رسید، گره مقصد / گره میانی با بهره گرفتن از تک پخشی به سمت عقب یک بسته پاسخ مسیر (RREP[21]) به همسایه‌ای که اولین RREQ از آن رسیده است ارسال می‌کند. زمانی که RREP به همراه مسیر معکوس مسیریابی شود، گره های همراه با این مسیر ورودی‌های مسیر بعد از خود را در جداول مسیر خود آن قرار میدهند که این اشاره به گرهای است که RREP از آن آمده است. این ورودی‌های مسیر بعدی مسیر فعال بعدی را مشخص می‌کنند. وابسته به هر ورودی مسیر یک زمان ‌سنج مسیر وجود دارد به طوری که اگر ورودی در یک زمان حیات مشخص‌شده مورد استفاده قرار نگیرد سبب حذف آن می‌شود زیرا ورودی‌های RREP همراه با مسیر دستیابی شده توسط RREQ ارسال می‌گردد و AODV تنها استفاده از لینکهای متقارن را پشتیبانی می‌کند.
شکل ۲-۴ : همه پخشی جهت کشف مسیر در AODV
شکل ۲-۵ : کشف مسیر در AODV
در شکل ۲-۴ زمانی که یک گره بسته درخواست مسیر را برای همسایه‌هایش می‌فرستد، گرهای را که اولین درخواست از آنجا آمده است را در جدول خود ثبت می‌کند. این اطلاعات برای ساختن مسیر برگشت برای مسیریابی بسته پاسخ استفاده می‌شود.AODV فقط از پیوندهای متقارن و دو طرفه استفاده می‌کند، چون مسیریابی بسته پاسخ با معکوس کردن مسیر بسته انجام می‌شود، یعنی بسته پاسخ با پیمودن همین مسیر به صورت معکوس به مبدأ میرسد شکل ۲-۵ گره هایی که در امتداد این مسیر هستند، مسیر را در جدول خود وارد میکنند. اگر گره مبدأ حرکت کند مبدأ روال کشف مسیر به مقصد را باید مجدداً انجام دهد ولی اگر یکی از گره های میانی حرکت کند، سپس همسایه گره حرکت کرده متوجه شکست پیوند میشود و یک اخطار شکست پیوند به همسایه‌هایی خلاف جهت مسیر میفرستد تا اینکه به گره مبدأ برسد و مبدأ بتواند کشف مسیر را اگر نیاز دارد مجدداً انجام دهد.
۲-۱-۳-۳ پروتکل مسیریابی [۲۲]DSR
این یک پروتکل مسیریابی مبدأ و مبتنی بر تقاضا می‌باشد، یک گره مجموعهای از مسیرها را نگهداری می‌کند که شامل مسیرهایی از مبدأ است که گره از آن‌ ها خبر دارد (کان و همکارانش،۲۰۰۵). داده‌های واردشده درمجموعه مسیر زمانی که اطلاعات جدیدی در مورد مسیرهای جاری به دست آید، به‌روزرسانی می‌شوند. دو فاز اصلی این پروتکل کشف مسیر و نگهداری و ترمیم مسیر میباشد. زمانی که گره مبدأ میخواهد بسته ایی را برای گره مقصد بفرستد، نگاهی به مجموعه مسیر خود میاندازد تا تعیین کند که مسیری به مقصد دارد یا نه؟ اگر یک مسیر معتبر به مقصد وجود داشته باشد، از این مسیر برای ارسال بسته خود استفاده می‌کند؛ اما اگر این گره هیچ مسیری نداشته باشد فرایند کشف مسیر را توسط پخش بسته درخواست شروع می‌کند. بسته درخواست مسیر شامل آدرس گره مبدأ و مقصد و یک شماره شناسایی منحصر به ‌فرد می‌باشد. هر گره میانی بررسی می‌کند که آیا مسیری به گره مقصد دارد یا نه. اگر مسیری نداشته باشد، آدرس خود را در این بسته اضافه می‌کند و آن را برای همسایه‌های خود میفرستد. برای محدود کردن تعداد انتشار درخواست‌های مسیر، یک گره بسته درخواست مسیر را فقط در صورتی پردازش میکند که قبلاً آن را ندیده باشد یعنی اینکه آدرس خود در قسمت ثبت مسیر[۲۳] آن بسته وجود نداشته باشد. یک پاسخ مسیر زمانی تولید میشود که گره مقصد یا یک گره میانی با اطلاعات جاری در مورد گره مقصد، بسته درخواست مسیر را دریافت کنند. قسمت ثبت مسیر بسته درخواست مسیری که به یک گره میرسد، شامل دنباله ایی از HOP های سپری‌ شده از گره مبدأ تا این گره می باشد، چگونگی انتشار بسته درخواست مسیر در شبکه و ثبت مسیر آن در شکل ۲-۶ نشان داده شده است. اگر پاسخ مسیر توسط گره مقصد تولید شود این گره، قسمت ثبت مسیر بسته درخواست مسیر را در پاسخ مسیر قرار میدهد. در حالت دیگر، اگر یک گره میانی بخواهد پاسخ مسیر را تولید نماید، مسیر جمع شده خود به مقصد را در ثبت مسیر بسته درخواست مسیر قرار میدهد. شکل ۲-۷ حالتی را نشان می‌دهد که گره مقصد خود پاسخ مسیر را ارسال کرده است. برای ارسال بسته پاسخ مسیر، گره پاسخ ‌دهنده باید یک مسیر به گره مبدأ داشته باشد. اگر این گره یک مسیر به مبدأ در مجموعه مسیر خود داشته باشد، می‌تواند از آن استفاده کند. معکوس مسیری که در ثبت مسیر آمده است زمانی می‌تواند استفاده شود که پیوندهای متقارن پشتیبانی شوند. اگر پیوندهای متقارن پشتیبانی نشوند، گره میتواند کشف مسیر را به سوی مبدأ انجام دهد و پاسخ مسیر را در بسته درخواست مسیر حمل نماید.
شکل ۲-۶ : همه پخشی برای کشف مسیر در DSR
شکل ۲-۷ : یک نمونه از کشف مسیر در DSR

برای دانلود متن کامل پایان نامه به سایت zusa.ir مراجعه نمایید.