بخشی از مقاله
*** این فایل شامل تعدادی فرمول می باشد و در سایت قابل نمایش نیست ***
بررسي و طبقه بندي روشهاي مقابله با حمله کرمچاله برعليه پروتکل هاي مسيريابي
Reactive در شبکه هاي Ad-hoc بيسيم
١
چکيده
حمله کرمچاله يکي از مهمترين حملات مطرح در شبکه هاي Ad-hoc بيسيم است که فرآيند مسيريابي در اين شبکه ها را مختل ميکند. در اين مقاله يک طبقه بندي از حملات کرمچاله و روشهاي مقابله با آن ارائه شده است . سپس روش هاي مطرحي که براي مقابله با اين حمله براساس پروتکل هاي مسيريابي Reactive و برعليه شبکه هاي Ad-hoc و حسگر ارائه شده اند، مورد بررسي قرار مي گيرند و مزيت ها و چالش هاي هريک مورد ارزيابي و مقايسه قرار مي گيرند.
کلمات کليدي: کرمچاله ، پروتکل هاي مسيريابي Reactive، مهاجم ، تشخيص حمله ، ايزوله کردن
١- مقدمه
کاربردهاي وسيع شبکه هاي Ad-hoc بيسيم در حوزه هاي مختلف باعث شده تا در چند سال اخير توجه ويژه اي به اين شبکه ها شود. در اين شبکه ها هر نود مجهز به يک فرستنده و گيرنده است تا امکان برقراري ارتباط با ساير نودهاي شبکه وجود داشته باشد. همچنين هر نود قادر است اطلاعات خود را توليد و به مقصد موردنظر انتقال دهد. هر نود تنها با نودهايي در ارتباط است که در شعاع راديويياش هستند که اصطلاحاً نودهاي همسايه ناميده مي شوند. نودهايي که در حوزه ارتباطي يکديگر قرار دارند مستقيماً از طريق اتصال بيسيم با هم مرتبط بر مي شوند. درحاليکه نودهايي که از هم دورند پيا شان از طريق ديگر نودها و برمبناي مدل نقطه به نقطه ١ تقويت شده تا به نود مقصد برسد. بنابراين هر نود در شبکه Ad-hoc بعنوان يک مسيرياب عمل مي کند و قادر است تا ترافيک و بسته هاي از اطلاعاتي را به مابقي نودها انتقال دهد. فقدان زيرساخت و همچنين تحرک و پويائي نودها اين شبکه را نسبت به شبکه هاي مبتني بر کابل متفاوت مي کند. اين چالش باعث بر طراحي پروتکل هاي مسيريابي که بتوان در اين چارچوب انجام وظيفه کنند شده است . پروتکل هاي مسيريابي، اتصالات پايداري را بين اين نودها ايجاد م کنند، حتي اگر نودها متحرک باشند. ارسال بسته هاي اطلاعاتي در شبک هاي بيسيم Ad-hoc توسط نودهاي مسيري که قبلا توسط يکي از الگوريتمهاي مسيريابي مشخص شده است ، صورت مي گيرد.
امنيت در اين شبکه ها بسيار مهم و حياتي است . با توجه به وقتي و موردي بودن اين شبکه ها، در برخي کاربردها کارآيي بکه رباني برقراري امنيت ميشود. حملات زيادي با اهداف مختلف براي ن شبکه ها وجود دارند. در اين مقاله سعي داريم تا به بحث امنيت رآيند مسيريابي بپردازيم . يکي از مهمترين حملات درخصوص سيريابي حمله کرمچاله است .
-١- طبقه بندي پروتکل هاي مسيريابي شبک هاي Ad-hoc
دسته بندي پروتک هاي مسيريابي در شبک هاي Ad-hoc اساس استراتژي مسيريابي و ساختار شبکه انجام مي گيرد. از اين يث پروتکل هاي مسيريابي به سه دسته مسطح ٢، سلسله مراتبي و 3 بتني بر موقعيت جغرافيايي ٤ دسته بندي مي شوند[١]. پروتکل هاي لسله مراتبي مبتني بر خوش بندي هستند. بنابراين در اين دسته پروتکل ها نودها به تعدادي خوشه تقسيم ميشوند و براي هر وشه يک سرخوشه انتخاب ميشود. از مهمترين پروتکل هاي سيريابي سلسله مراتبي CBRP [٢] است . در پروتکل هاي مبتني موقعيت جغرافيايي، اطلاعات مکاني نودها ملاک عمل مسيريابي ت . در اکثر موارد اين اطلاعات براي محاسبه فاصله بين نودها به نظور تخمين مقدار انرژي مورد نياز براي ارسال داد ها بکار گرفته يشوند.
در پروتکل هاي مسطح ، هر نود بصورت مستقيم با ساير نو ها در تباط است . پروتکل هاي مسيريابي مسطح به سه دسته (مبتني بر جدول ٥ )، Reactive (مورد درخواست ٦ ) و ترکيبي٧ تقسيم بندي ميشوند[١].
پروتکل هاي مسيريابي Proactive با حفظ و نگهداري مسيرهاي قبلي از تاخيرهاي موجود براي کشف مسير جلوگيري ميکنند. اين نوع پروتکل ها با به روزرساني اطلاعات جداول مسيريابي سعي ميکنند که در شبکه همگرايي ايجاد نمايند. اطلاعات مسيريابي در تعداد مختلفي از جداول نگهداري ميشود و تغييرات در توپولوژي شبکه توسط نودهاي همسايه اعلام شده و بدين ترتيب جداول به روزرساني شوند.
فرآيند کشف مسير در اين پروتکل ها بطور متناوب و در بازه زماني مشخص انجام ميشود و نتايج در جداول ذخيره مي شوند.
در پروتکل هاي Reactive تنها زماني عمل کشف مسير انجام ميشود که نود مقصد ناشناس باشد و هيچ مسيري از قبل وجود نداشته باشد. اين پروتکل ها براي کاهش سربار، اطلاعات را فقط براي مسيرهاي فعال پخش مي کنند. زماني که يک نود براي نود مقصد درخواست مسير مي کند، ابتدا يک فرآيند کشف مسير در شبکه رخ ميدهد. اين فرآيند يک مسير را با تمام مسيرهاي جايگزين ديگر امتحان ميکند. يکبار ديگر يک مسير پابرجا نگه داشته شده و تا زماني که مسير خارج از دسترس است ، در طول مسير درخواستي از منبع تا مقصد را دنبال ميکند. کشف مسير معمولاً توسط پخش سي آسا٨ يک بسته درخواست مسير٩ (RREQ) در شبکه اتفاق مي افتد. با هر انتقال بسته بين نودهاي شبکه مقدار فيلد hop افزايش مييابد و همين مقدار در مقصد معيار يافتن بهترين مسير است . وقتي يک بسته به مقصد رسيد، با استفاده لينک برگشتي يک بسته RRES10 براي مبدا ارسال شده و بهترين مسير اعلام ميشود. پروتکل هاي مهم DSR و AODV از اين دسته هستند. پروتک هاي Reactive نيز به دو دسته مسيريابي مبدا١١ و مسيريابي گام به گام دسته بندي مي شوند[٣].
در پروتکل هاي ترکيبي ، قابلي هاي Proactive و Reactive باهم ترکيب مي شوند. اين پروتک ها جديدترين کلاس پروتک ها در اين راستا مي باشند. از معروفترين پروتکل هاي اين نوع مي توان به 13ZRP [٤] اشاره کرد. در اين پروتکل کل شبکه به تعدادي ناحيه تقسيم شده و هر نود عضو يک ناحيه است . هر نود براي ارتباطات درون ناحيه از روش Proactive (که مبتني بر جدول است ) و براي ارتباطات بين نواحي از روش Reactive استفاده ميشود. در جدول ١ برخي از پروتکل هاي مهم مسيريابي مسطح نمايش داده شده اند.
جدول ١ نمايش طبقه بندي پروتک هاي مسيريابي مسطح
١-٢- حمله کرمچاله
اين حمله مختص شبکه هاي Ad-hoc است . در اين حمله دو يا چند نود مهاجم با هم همکاري کرده و يک اتصال کوتاه در توپولوژي شبکه ايجاد مي کنند و بدين ترتيب فرآيند کشف مسير را مختل مي کنند. روند کار اين حمله به اين صورت است که مهاجم اول با دريافت يک بسته کشف مسير، آن را از طريق يک تونل خصوصي که تونل کرمچاله ١٤ ناميده ميشود، به مهاجم دوم که خارج از محدوده قابل رويت نودهاي همسايه است منتقل کرده و در اين فرآيند مقدار فيلد hop نيز ثابت مي ماند. بدين ترتيب تعداد زيادي از نودها طي ميشوند، بدون اينکه فيلد hop افزايش يابد.
بنابراين مسير نادرستي بعنوان بهترين مسير شناسايي مي شود.
علاوه بر اين تمام ترافيک جابجا شده بين مبدا و مقصد از دو نود مهاجم عبور خواهند کرد. تونل کرمچاله ميتواند يک ارتباط سيمي و يا يک ارتباط بيسيم باشد. نودهاي حمله کننده که در دو سوي اين تونل قرار دارند، ميتوانند براي سرعت دادن به اين لينک اختصاصي به جاي ارسال بسته ها بصورت بسته به بسته آنها را بصورت بيت به بيت نيز ارسال نمايند. در اين حالت نودهاي حمله کننده در شرايط بسيار مناسبي قرار مي گيرند که ميتوانند براي حالات متعددي از حملات بعدي مورد استفاده قرار گيرند. حمله کننده مي تواند بسته ها را بصورت انتخابي از اين کانال عبوردهد. يا با عبور ندادن بسته هاي مربوط به نود خاص ، آن نود را تحت حمله DoS قرار دهد. حتي اگر چنانچه شبکه داراي ويژگيهاي اصال سنجي و قابليت اعتماد باشد و نودهاي حمله کننده به هيچ يک از کليدهاي موجود در شبکه دسترسي نداشته باشند، بازهم شبکه در مقابل حمله کرمچاله آسيب پذير است . تمامي پروتک هاي مسيريابي شبکه هاي Ad-hoc در مقابل حمله کرمچاله ناتوان هستند. شکل ١ حمله کرمچاله را بصورت نمادين نشان داده است .
شکل ١ نمايش حمله کرمچاله در يک شبکه Ad-hoc فرضي [٥]
در ادامه در بخش ٢ انواع حملات کرمچاله که برعليه شبکه هاي Ad-hoc بکارگرفته شده اند طبقه بندي م شوند و سپس در بخش ٣ روشهاي مطرح ارائه شده براي مقابله با اين حملات مبتني بر پروتکل هاي Reactive بررسي خواهند شد.
سپس در بخش ٤ اين روش ها مورد ارزيابي قرار خواهند گرفت و در بخش ٥ نتيجه گيري و طرح آينده ارائه خواهد شد.
٢- دسته بندي حملات کرمچاله
روش هايي که براي مقابله با حمله کرمچاله ارائه شده اند را از سه ديدگاه دسته بندي ميکنيم :
الف ) از ديدگاه تجهيزات مورد استفاده در تشخيص حمله به دو دسته تقسيم مي شوند [٦]. در دسته اول تشخيص از طريق استفاده از دستگاههاي جانبي مثل GPS (سيستم موقعيت ياب جغرافيايي)، آنتن مستقيم ، همزماني ساعت بين نودهاي عضو شبکه و غيره انجام ميشود. دسته دوم روش هايي هستند که پيشنهادهايي را روي پروتکل هاي خاص ارائه مي کنند و معمولا به هيچ تجهيزات کمکي براي تشخيص حمله نياز ندارند.
ب ) از اين ديدگاه که نود مهاجم آدرس MAC خود را در سرآيند بسته هاي ارسالي قرار مي دهد يا خير، نيز به دو دسته آشکار١٥و نهان ١٦ تقسيم بندي مي شوند[٧]. در حملات آشکار آدرس مهاجم در سرآيند بسته قرار گرفته و بنابراين مهاجم ميتواند در مسير ايجاد شده براي ارسال داده حضور داشته باشد. در اين دسته مهاجم مانند ساير نودها در فرآيند مسيريابي مشارکت ميکند. درعوض در حالت نهان مهاجم خود را از ديد نودهاي واقعي پنهان مي کند.
ج ) از ديدگاه پروتکل مسيريابي که مورد حمله قرار مي گيرد مي توان حملات کرمچاله را به دو دسته تقسي بندي کرد[٨].
حملات کرمچاله اي که بر عليه پروتکل هاي Proactive عمل ميکنند و حملات کرمچاله اي که بر عليه پروتکل هاي
Reactive عمل مي کنند.
٣- بررسي رو هاي مطرح ارائه شده براي مقابله با کرمچاله
٣-١- قلاده هاي مکاني و قلاده هاي زماني
سرباري که به يک بسته داده اضافه شده است تا يکسري محدوديت هايي روي آن اعمال کند را قلاده گوييم . اين بحث شامل دو مقوله قلاده مکاني و قلاده زماني است . يک قلاده ي مکاني مبتني بر اين خاصيت است که دريافت کننده بسته در یک مسافت مطمئني از فرستنده قرار دارد. اما يک قلاده زماني مبتني بر طول عمر است که در آن حداکثر مسافت پيموده شده هر بسته به حد بالا و حد پاييني از طول عمر محدود شده است [٩].
براي بکارگيري طرح قلاده هاي مکاني در شبکه Ad-hoc بيسيم بايد يکسري نيازمنديها فراهم شود. مثلا همه نودها بايد از يک GPS استفاده کنند و نودها بايد ساعت هاي همزماني براي چک کردن ساعت داشته باشند. هنگامي که يک نود مبدا بسته را به سمت مقصد ارسال ميکند، مکان فرستنده (PS) و زمان فرستنده (tS) به هدر بسته اضافه ميشود. پس از دريافت بسته توسط نود مقصد، زمان رسيدن (tr) و مکان آن (Pr) بوسيله درياف کننده مقايسه ميشوند. بر اساس همزماني دو نود، اگر ساعت مبدا و مقصد در حدود Δ± همزمان بود، آنگاه حد ميان مسافت مبدا تا مقصد از رابطه زير محاسبه ميشود که در آن V سرعت نود و δ حداکثر خطايي است که ممکن است در اطلاعات يافتن مکان وجود داشته باشد.
در طرح قلاده هاي زماني که براي اجتناب از کرمچاله در شبکه هاي حسگر پيشنهاد شده است ، يک زمان انقضا براي هر بسته انتقالي محاسبه ميشود مولفه بسيار مهم در اين طرح همزماني ساعت فرستنده و گيرنده پيام است . اختلاف زماني فرستنده و گيرنده Δ است . در اين روش زمان محدود شده است و فرستنده بسته بايد از broadcasting بسته به مسافت بيشتر از L اجتناب کند. (ܥ؟୫୧୬ّοء که در آن C سرعت انتشار نور است ). زمان انقضا در سمت فرستنده از رابطه زير محاسبه مي شود:
و قبل از اين که بسته ارسال شود در هدر بسته قرار مي گيرد. باشد بسته حذف ميشود. همچنين اگر بسته مسافت زيادي را طي کرده باشد گيرنده ميتواند بر اساس زمان انتقال و سرعت نور آن را تشخيص دهد. در اين روش احراز هويت نودها بسيار مهم است . براي اين منظور پروتکل TIK بکار گرفته شده است . پروتکل TIK از رمزنگاري کليد متقارن استفاده مي کند.
٣-٢- تشخيص کرمچاله مبتني بر مکانيزم سگ نگهبان
در [١٠] از مکانيزم سگ نگهبان ١٧ براي مقابله با کرمچاله استفاده شده است . سگ نگهبان و ارزياب مسير١٨ دو ضميمه به پروتکل مسيريابي DSR ميباشند که براي شناسايي و کاهش اثرات سوء رفتار در مسيريابي مورد استفاده قرار مي گيرند. تکنيک سگ نگهبان بر انتقال داده در نودهاي پايين دست و ارسال صحيح آنها نظارت ميکند. اگر يک نود نتواند بسته را در بازه زماني مشخصي ارسال کند، سگ نگهبان يک امتياز منفي به آن نود مي دهد و زماني که اين امتيازهاي منفي از يک حد آستانه اي بيشتر شد، اين نود يک نود بدرفتار ناميده مي شود. سپس ارزياب مسير با استفاده از اطلاعات جمع آوري شده و با اجتناب از نودهاي بدرفتار، مسيرها را به بهترين شکل ممکن تعيين ميکند. اين مکانيزم باعث افزايش توان عملياتي در شبکه مي شود.
مشکل ترين عمل متخاصمانه در اين تکنيک ، همکاري دو يا چند نود با يکديگر براي فرار از تله سگ نگهبان است . اگر مکانيزم سگ نگهبان بر روي يک پروتکل AODV پياده سازي شود، ممکن است با مشکل جديدي مواجه شود. اگر يک نود متخاصم ، اطلاعات را براي نودي که وجود خارجي ندارد ارسال کند، نود نگهبان به اشتباه افتاده و بر اين باور ميشود که اطلاعات به درستي ارسال شده است . زيرا از گام بعدي بسته اطلاعي ندارد. به همين دليل است که تکنيک سگ نگهبان برروي پروتکلهاي مسيريابي مبداء مانند DSR مؤثرتر و کاراتر است . در پروتکل پيشنهادي به هر نود دو جدول اضافه ميشود. براي حمله کرمچاله دو جدول عبارتند از جدول Panding و جدول Rating. فيلدهاي جدول Pending بصورت زير است :
فيلد Packet ID،ID بسته ارسال شده است . Next Hop آدرس نود گام بعدي است . Expiry time زمان انقضا يا طول عمر بسته است و Packet destination آدرس نود مقصد بسته مذکور است . جدول Rating بصورت زير است :
فيلد Node Address آدرس نود گام بعدي است . Packet Drops شمارنده بسته هاي دور انداخته شده است . Packet Forwards شمارنده بسته هاي ارسال شده است . فيلد Misbehave ميتواند ٠ و يا ١ باشد. اگر نود خو رفتار باشد مقدار ١ و در غير اينصورت مقدار ٠ به خود م گيرد. مقدار اين فيلد بوسيله نرخ تصديق بسته هايي که با موفقيت ارسال شده است ، محاسبه شده است . اگر اين نرخ از يک حد آستانه بيشتر شد در اين صورت مقدار Misbehave برابر ١ قرار مي گيرد که نشان مي دهد که اين نود يک نود کرمچاله است . اگر مقدار فيلد Misbehave صفر شود، بدين معني است که اين نود معتبر است .
جدول Rating براي جدول Pending به روزرساني ميشود. در مکانيزم سگ نگهبان هر نود يک سطر از جدول Pending را به هر بسته اختصاص مي دهد. درجه بندي نودهايي که در محدوده ارتباطي خودشان هستند با کمک جدول Rating انجام مي شود.
٣-٣- روشي مبتني بر خوشه بندي و امضاي ديجيتال
در طرح مبتني بر خوشه بندي و امضاي ديجيتال براي پيشگيري از حمله کرمچاله کل شبکه با توجه به مجاورت نودها با هم به خوش هاي کوچک تقسيم ميشوند. هر خوشه يک سرخوشه (CH) دارد که از خوشه و نود يا نودهاي دروازه (GW) نگهداري ميکند. نودهاي دروازه اتصالاتي را با ديگر خوشه ها برقرار م کند.
فاصله هر نود در يک خوشه با سرخوشه اش يک گام است . براي ارتباط دو خوشه با يکديگر دروازه ها با هم ارتباط خواهند داشت . اگر يک نودي بخواهد با نودي از ديگر خوشه ها ارتباط برقرار کند، بايد بسته RREQ را به سرخوشه خودش تحويل دهد. سرخوشه درصورت نياز آن را از طريق نودهاي دروازه به سمت خوشه هاي ديگر ارسال ميکند تا اين که بسته RREQ به سرخوشه اي برسد که نود مقصد بدان متعلق است . با رسيدن بسته RREQ، مقصد يک بسته RREP را به سمت فرستنده ارسال مي کند. علاوه براين هر سرخوشه کليد عمومي خودش را براي همه نودهاي خوش اش ارسال ميکند. نودهاي دروازه به چند خوشه متعلق هستند و ميتوانند کليد عمومي ساير سرخوشه ها را به سرخوشه خودشان تحويل دهند. بنابراين هر نود دروازه دو يا چند کليد عمومي دارد.
اين الگوريتم از مسيريابي داده به سمت کرمچاله پيشگيري م کند.
هنگامي که مبدا مي خواهد بسته RREQ را ارسال کند، آن را به سرخوشه اش تحويل مي دهد. سرخوشه با استفاده از کليد خصوصي خودش آن را امضاي ديجيتال مي کند. سرخوشه چک م کند که آيا مقصد عضوي از خوشه خودش است يا خير؟ اگر بود بسته امضا شده را به نود مقصد تحويل مي دهد اما اگر مقصد عضو خوش اش نبود، بسته RREQ را براي همه ي دروازه هاي خوشه اش ارسال ميکند.
دروازه بسته را با استفاده از کليد عمومي سرخوشه رمزگشايي مي کند و بدين ترتيب امضاي ديجيتال آن را چک م کند. سپس دروازه بسته RREQ را براي دروازه خوشه هاي مجاورش که با آنها در ارتباط است ارسال ميکند. با ورود بسته RREQ به دروازه خوشه جديد ابتدا امضا ديجيتال آن چک شده و سپس تحويل سرخوشه مي گردد. نود مقصد بسته RREQ اي را پاسخ مي دهد که از سرخوشه خودش تحويل گرفته باشد. بنابراين نود مقصد بسته هايي که از طريق کرمچاله رسيده باشد را در نظر نم گيرد. چون اين بسته ها توسط سرخوشه خودش امضا نشده است [١١].
٣-٤- تشخيص حمله کرمچاله با روش DELPHI
در اين بخش روشي که Delphi١٩ [١٢] نام دارد ارائه مي شود. در اين تکنيک از اطلاعات تاخير زماني و تعداد گام استفاده شده است . مزيت روش Delphi اين است که نيازمند هيچ دستگاه سخت افزاري يا همزماني ساعت نيست . ايده اصلي اين است که با جمع آوري اطلاعات تاخير زماني و تعداد گا ها مسيرها را بررسي کرده و پارامتر تاخير هرگام را براي شناسايي حمله کرمچاله محاسبه ميکنيم . همچنين در اين روش مشابه AODV مکانيزم کشف مسير راه اندازي م شود. اين روش در دو فاز کشف کرمچاله را انجام مي دهد. در فاز اول اطلاعات گام و تاخير زماني جمع آوري ميشوند و در فاز دوم که تحليل و تشخيص نام دارد، فرستنده با تحليل اطلاعات فاز اول ، تشخيص مي دهد که آيا حمله کرمچاله رخ داده است يا خير؟ فرض ميکنيم که يک بسته درخواست Delphi (DREQ) در زمان ts توسط فرستنده broadcast مي شود و توسط نود iام بسته DREP در زمان t صادر مي شود. در اين صورت زمان رفت و برگشت به نود i ام (RTT) بصورت RTT محاسبه ميشود. اگر فيلد تعداد گام در بسته DREP که از طرف نود i ام صادر شده است برابر hi باشد، آنگاه تاخير هر گام از رابطه زير بدست مي آيد:
روش Delphi مزايايي در مقابل ساير روش ها دارد. اين تکنيک هر دو نوع حمله پنهان و آشکار را کشف مي کند.