تکنیکهای اشتراکی برای تشخیص حمله در شبکه های mobils ad-hoc
در این مقاله در تکنیک تشخیص حمله برای شبکه های and-hoc که از همکاری گره ها در یک همسایگی برای کشف یک گره مهاجم (بداندیش) در آن همسایگی استفاده می کند.
اولین روش برای تشخیص گره های مهاجم در یک همسایگی که هر دو جفت گره در یک محدوده رادیویی می باشند.
این قبیل گره های همسایه به عنوان دسته (گروه یا clique) شناخته می شوند.
روش دوم برای تشخیص گره های مهاجم در یک همسایگی که ممکن است دو گره در یک محدوده رادیویی نباشند اما یک گره میانی مابین آنها وجود دارد که سایر گرهها در یک همسایگی one-hop از آن قرار دارند.
این همسایگی به عنوان کلاستر شناخته می شود.
یک گره که monitor نامیده می شود فرایند تشخیص حمله را آغاز می کند.
هر دو روش از روش message-passing بین گره ها استفاده می کنند.
بر اساس پیام هایی که در خلال فرایند تشخیص دریافت می شود هر گره از گره های مظنون را تعیین می کند و نظر خود را به گره مانیتور می فرستد.
گره مانیتور به محض بازرسی آرای گره های مهاجم را از میان گره های مظنون تعیین میکند.
این سیستم تشخیص حمله از هر پروتکل مسیریابی مستقل میباشد.
اثبات درستی روش اول در این جا می آید و نشان می دهد که روش هنگامی که هیچ از دست رفتن پیام نداشته باشیم به درستی کار می کند.
همچنین با شبیه سازی نشان داده می شود که هر دو الگوریتم راندمان خوبی حتی وقتی که از بین رفتن پیام در کانالهای نامطمئن داشته باشیم.
1- مقدمه
ازیاد وسایل موبایل مانند لپ تاپ، PDA و تلفنهای همراه، برنامههای کاربردی مهیجی نظیر کلاسهای مجازی، کنفرانسهای مجازی و...
را باعث شده است .
شبکه ael-hoc موبایل یک تکنولوژی است که تمامی برنامه های مذکور را در هر مکانی مقدمه می سازد.
همه چیزی که مورد نیاز می باشد این است که یک گروه از گروه های متحرک قابلیت خود سازماندهی و شکل دهی یک شبکه بدون نیاز به ساختار پایه ای ثابت و یک کنترل مرکزی داشته باشند.
در این شبکه یک گره موبایل به عنوان یک میزبان و یک روتر در یک زمان عمل میکند.
این شبکه یک گره موبایل را به صورت واقعی موبایل می سازد در مقایسه با شبکه های موبایل ساختارگرا که یک گره مقید به فعالیت در یک شعاع مشخص توسط زیر ساختار می باشد .
همچنین یک شبکه adhoc موبایل (Monet) می تواند در زمانی که امکان یک ارتباط در یک ناحیه توسط یک ساختار ثابت قول به صرفه نباشد و یا از لحاظ جغرافیایی غیرممکن باشد، سودمند باشد.
اما نقطه منفی این شبکه سختی تضمین یک ارتباط مطمئن در آن شبکه می باشد.
فراهم کردن امنیت در شبکه های adhoc به خاطر احتیاج به یک ارتباط محافظت شده و مطمئن بین گره های متحرک در محیط داشتن موضوع اصلی و مهم این شبکهها میباشد.
برخلاف شبکه های بی سیم ساختارگرا ویژگی واحد Manet ها مانند ساختار باز شبکه، رسانه بی سیم مشترک، محدودیت منابع و توپولوژی های پویای شبکه چالش های امنیتی جدیدی را مطرح کرده است.
یکی از روش های امن کردن شبکه adhoc موبایل در لایه شبکه، امن کردن پروتکلهای مسیریابی است به طوری که از همه حملات ممکن جلوگیری شود.
به هر حال هیچ پروتکل مسیریابی وجود ندارد که همه انواع حملات را پوشش دهد و بالفرض هم اگر وجود داشته باشد هیچ کس در مورد حملاتی که در آینده اتفاق می افتد و ممکن است از ضعفهای طراحی و یا ایرادات برنامه نویسی استفاده کند خبر ندارد.
بنابراین این پروتکلها نیز نیازمند اصلاح جهت جلوگیری از حملات جدید می باشند.
به عبارت دیگر هیچ کس نمی تواند ادعا کند که یک مکانیزم جلوگیری از حمله بدون نقص است.
بنابراین این پروتکلها نیز نیازمند اصلاح جهت جلوگیری از حملات جدید می باشند.
به عبارت دیگر هیچ کس نمی تواند ادعا کند که یک مکانیزم جلوگیری از حمله بدون نقص است.
در اینجاست که به یک لایه دفاعی ثانویه به نام سیستم تشخیص حمله نیاز داریم.
ایده اینست که اگر یک حمله و یا سرکشی ناخواسته صورت گرفت، اگر یک سیستم برای تشخیص آن باشد باید در این لحظه ممکنه آن را تشخیص دهد و سیستم را قبل از بروز یک خسارت شدید امن کند.
تحقیقات انجام شده در راستای توسعه یک سیستم تشخیص حمله (IDS) تعیین گره های مزاحم و ایزوله کردن آنها از بقیه شبکه می باشد بعلاوه وجود یک سیستم تشخیص حمله گره های فراهم را در تلاش برای نفوذ در آینده به سیستم دلسرد می کند.
در این مقاله به بررسی دو الگوریتم برای تشخیص گره های مهاجم می پردازیم.
اولی که ADCII نامیده می شود برای تشخیص گره های مهاجم در یک گروه (Clique) و دومی که ASDCLU نام دارد برای تشخیص گره های مهاجم در یک کلاستر می باشد.
در هر دو الگوریتم از مکانیزم تبادل پیام استفاده می شود که هر کدام از گره ها را قادر می سازد که گره های فطتون به نفوذ را تعیین کنند.
در پایان یک رأی گیری برای تشخیص گره های مهاجم از بین این گره های مظنون صورت میگیرد.
از دست رفتن بسته به خاطر ارتباط غیرمطمئن نیز شبیه سازی شده است و از طریق شبیه سازی نیز کارایی الگوریتم دوم نیز بررسی می شود.
کارهای مربوطه در زیر تعدادی از تکنیکهای پیشنهاد شده برای تشخیص حمله در MANET آمده است .
Watchday: یک روش ID می باشد که در هر گره در شبکه adhoc موبایل اجرا می شود.
در این روش فرض می شود که گره ها در یک حالت بیقاعده عمل می کنند.
که گره ها را وادار به گوش داده به انتقالات در همسایه های مجاور (یک پرشه) می کند .
بنابراین با گوش دادن به همسایههایش می تواند تشخیص دهد که بسته هایی را که به همسایهاش فرستاده است توسط آن منتقل شده است یا نه.
اگر گره همسایه به عنوان یک نفوذی تشخیص داده شود به آن گره و رفتارش را به عنوان نفوذی به path-rater گزارش می دهد.
مثالهایی از رفتارهای نفوذی از بین بردن یک بسته و یا تغییر محتوای آن قبل از فوروارد کردن آن می باشد .
Path-rater یک مولفه است که در گره ها اجرا می شود و نحوه عملکرد رفتار هر گره را نگهداری می کند.
این نحوه عملکرد به عنوان یک معیار جهت انتخاب مسیر برای انتقال داده استفاده می شود.
این روش معایب آشکاری دارد.
به عنوان نمونه یک گره می تواند توسط دو گره دیگر که با هم تبانی کرده اند .
فریب داده شود.
Ling , Manik opaulas یک معماری برای امنیت شبکه موبایل adhoc ارائه کرده اند که در آن یک IDS بر روی تمامی گره ها اجرا می شود.
این IDS داده های محلی را از گره میزبان و همسایگانش در یک محدوده ارتباطی جمع آوری کرده و به داده های خام را پردازش می کند و به صورت دوره ای دسته بندی از رفتارهای نرم و غیر نرمال بر اساس داده های پردازش شده اند.
گره میزبان و گره های همسایه را پخش می کند.
یک طرح دیگر که بر اساس طرح اصل کشف سوء استفاده می باشد که به درستی اثرات حملات شناخته شده در آن را تطبیق می کند.
طرح دیگر بر اساس رفتار غیر عادی گره های همسایه می باشد.
هر گره فعالیت های رفت و آمدی مشخصی را در حوزه رادیویی خود مانیتور می کند.
تمام نفوذهای کشف شده محلی دریک udit log نگهداری میشود.
این داده های جمع آوری شده توسط الگوریتم های خاص پردازش می شوند و حملات را تشخیص می دهند.
الگوریتم ها: در این بخش دو الگوریتم برای تشخیص گره های بدخواه در یک MANET پیشنهاد می شود یک گره بدخواه، گره ای است که مطابق رفتار مورد نظر عمل نمی کند و ممکن است از انواع مختلف روشهای حمله که در بخش قبل گفته شد استفاده کند.
بیشتر این حملات با تغییر محتوای پیام قبل از فوروارد کردن آن و یا فوروارد نکردن پیامی که باید منتقل شود صورت می گیرد.
در زمان توسعه این دو الگوریتم فرض شده است که گره های بدخواه این دو ویژگی را در طول دوره حیاتشان بروز خواهند داد.
سعی می شود که این رفتارهای ناخواسته کشف و در نهایت گره های بدخواه که این ویژگیها را نمایان می سازند به دام افتاده شوند.
الگوریتم هیا ADCLU, ADCLI می تواند در گروه ها یا کلاسترهای مختلف اجرا شوند.
هر گروه (کلاستر) با یک سری اطلاعات در مورد گره های بدخواه مطرح می شوند (اگر این اطلاعات وجود داشته باشد) .
از این اطلاعات جهت ایزوله کردن گره های بدخواه می تواند استفاده شود.
علاوه بر این این اطلاعات ممکن است به گره هیا دیگر در دیگر گروه ها (کلاسترها) فرستاده شود به طوریکه آنها نیز بتواند این گره را از خود ایزوله کنند.
به بیان دیگر اطلاعات در مورد گره های مزاحم ممکن است در تصمیم گیری های مسیریابی استفاده شود.
هر گره ای که الگوریتم (ADCLU) ADCLI را آغاز می کند مانیتور نامیده می شود.
الگوریتم های مختلفی برای دسته بندی گره ها در یک MANET به کلاسترها وجود دارد که الگوریتم های خوشه بندی نامیده می شوند.
این الگوریتم ها یک گره در کلاستر را به عنوان Cluster head در نظر می گیرند.
خوشه بندی (کلاسترینگ) عموماً برای مسیریابی های سلسله مراتبی انجام می شود .
در یک MANET که در آن برای اهداف مسیریابی کلاسترینگ صورت گرفته است، این الگوریتم میتواند در کلاستر موجود انجام شوند و cluster head به عنوان مانیتور در نظر گرفته شود.
به خاطر سربار زیاد گره مانیتور باطری آن سریعتر از سایر گره های کلاستر خالی می شود این مسئله با بکارگیری الگوریتم کلاسترینگی که در یک دوره زمانی وابسته به مصرف منبع تغذیه اعضا به طوریکه یک توازن بین سطوح انرژی گره ها در یک کلاستر وجود داشته باشد.
الگوریتم ها گره های بدخواه در یک گروه یا کلاستر را در یک نمونه زمانی مشخص کشف می کند بهرحال اعمال مجازات برای یک گره بر اساس رفتار آن در یک لحظه از زمان جالب نیست با توجه به اینکه شبکه ممکن است دارای از دست رفتن packel و یا ازدحام باشد.
بنابراین این الگوریتم می تواند در یک دوره زمانی به صورت تصادفی اجرا شود و رفتار گره ها در دوره های گذشته مشاهده شود قبل از اعمال هر گونه تنبیه.
این روش به گره هایی که قبلاً رفتار بداندیشانه داشته اندجهت اصلاح و پذیرش دوباره در شبکه کمک می کند.
گذشته از این ها، در حالتیکه شبکه دارای ازدحام است ممکن است بسته ای drop شود الگوریتم به درستی عمل نمی کند و ممکن است که مکانیزمی که برای کنترل ازدحام وجود دارد abort شود.
الگوریتم ADCLI این الگوریتم برای کشف گره های فراهم درحالتیکه تمامی گره ها در یک محدوده رادیویی هستند استفاده می شود (شکل 1) این مجموعه از گره ها گروه (clique) نامیده می شوددو گره در یک محدوده رادیویی ممکن است توسط یک لبه بین آنها نمایش داده شوند (شکل 2) در این الگوریتم فرضیات زیر در نظر گرفته شده است: وقتی که پیام توسط یک گره مزاحم دریافت شد آن را به حداقل نصف گره ها بصورت پیام اشتباه ارسال می کند .
بدون از بین رفتن کلیت مسئله، فرض شده است که گره آغاز ین این الگوریتم (گره مانیتور) یک گره مزاحم نیست و زمانی که این گره کار کشف گره های مزاحم را با فرستادن پیام به آنها شروع می کند، گره های مزاحم هیچ راهی را برای تشخیص اینکه الگوریتم در حال اجراست ندارند.
این مسئله از آن جهت مورد نیاز است که اگر گره مزاحم این مسئله را بفهمد ممکن است رفتار خود را تغییر دهد و یا بخواهد الگوریتم را از کار بیندازد.
حال الگوریتم تشخیص حمله ای که حدکثر k گره مزاحم را از میان n گره که در یک محدوده رادیویی هستند و n>flect می باشد ارائه میشود.
گام اول: در گام اول گره مانیتور (m) یک پیام درست را به n-1 گره دیگر می فرستد و از آنها می خواهد آن را به n-2 گره دیگر منتقل کنند.
گام 2 – به محض دریافت گره پیام، گره I (برای هر I که مانیتور نباشد)آن را به سایر گره ها ارسال می کند.
(در این حالت گره مزاحم ممکن است که آن را ارسال نکند و یا به صورت اشتباه نیست به پیام درست اولیه ارسال کند).
گام 3- در این گام گره مانیتور یک پیام درخواست رای گیری برای گره مزاحم را به سایر گره ها می فرستد.
گام 4- به هنگام دریافت این پیام توسط از گره مانیتور، n-1 گره دیگر به صورت زیر عمل می کنند: برای هر گره و پیامی است که توسط گره I از گره j در گام 2 دریافت شده است.
(اگر گره I پیامی از گره j دریافت نکند و یا به صورت