شبکه های بی سیم IEEE 802.11
شبكه :
شبكههاي بيسيم مبتني بر استاندارد 802,11 روز به روز در حال گسترش و كاربرديتر شدن هستند و انواع مختلف آنها مانند شبكههاي حسگر و شبكههاي موردي(Ad hoc) در صنايع و سازمانها مورد استفاده قرار ميگيرند. بنابراين، طبيعي است كه آسيبپذيريها و نقاط ضعف اين شبكهها نسبت به گذشته بيشتر نمود و ظهور پيدا كند. وقتي هم كه نقاط ضعف مشخص شدند، هكرها و خرابكارها دست به كار شده و روشهای جديدي برای حمله و از كار انداختن شبكهها كشف ميكنند. كارشناسان امنيتي نيز براي مقابله، بايد به سراغ شيوههاي جديد دفاع بروند و طرحهايي براي پوشش نقاط آسيبپذيري و مستحكمتر كردن لينكها و ارتباطات بيابند. در اين مقاله سعي كرديم نگاهي كوتاه به متدولوژيهاي جديد هك شبكههاي بيسيم و بهطور خاص شبكههاي موردي داشته باشيم.
شبكههاي موردي و چالشهاي امنيتي
بهتر است قبل از پرداختن به شيوههاي جديد حملات عليه شبكههاي موردي (Adhoc Network)، كمي درباره چند و چون امنيت و ضعفهاي ساختاري اينگونه شبكهها صحبت كنيم. همانطور كه ميدانيد شبكههاي بيسيم به دوگونه كلي ساختارمند(Infrastructure) و غيرساختارمند (Non Infrastructure) تقسيم ميشوند. بهترين مثال از شبكههاي ساختارمند، شبكههاي وايفاي و وايمكس هستند. در اينگونه شبكهها يك نود يا دستگاه مركزي مانند اكسسپوينت يا روتر وجود دارد كه وظيفه مديريت و مسيريابي و ارتباطات كلي شبكه را عهدهدار است. اما در شبكههاي غيرساختارمند كه بهترين نمونه آنها شبكههاي موردي هستند، هيچ نود مركزي يا روتر/اكسسپوينتي وجود ندارد و نودهاي شبكه بايد خودشان عمليات مسيريابي و مدیريت ارتباطات و شكلدهي توپولوژي شبكه را انجام دهند و به نوعي خودمختار هستند. بهترين مثال براي شبكههاي موردي ارتباط دو يا سه گوشي موبايل و نوتبوك از طريق بلوتوث است. شبكههاي موردي در صنايع نظامي، حوادث طبيعي، شبكههاي خودرويي، شبكههاي درون سازماني و كاربردهاي اينچنيني بسيار مورد استفاده قرار ميگيرند. حتي با همين اكسسپوينت يا روترهاي معمولي نيز ميتوان يك شبكه موردي راهاندازي كرد. پس تا اينجا متوجه شديم كه در شبكههاي موردي هيچگونه دستگاهي براي مديريت شبكه و نودها وجود ندارد و هيچ فضاي سختافزاري يا فيزيكي براي پشتيباني و هدايت شبكه در اختيار نداريم. اين قابليت مزيت ويژه شبكههاي موردي و البته پاشنه آشيل اينگونه شبكهها نيز هست. از آنجا که همبندی (توپولوژی) شبکههای موردی همیشه در حال تغییر و دگرگونی است و هیچ نودی جای ثابت و مشخصی در شبکه نداشته و خود نودها ارتباطات درون شبکهای را مدیریت و سرویسدهی میکنند، مشکلات امنیتی زیادی به وجود میآید. در اینگونه شبکهها نمیتوان از هیچ سرویس یا دستگاه سختافزاری برای تأمین امنیت و بالا بردن ضریب اطمینان استفاده کرد و فراهم كردن امنيت فيزیكي نسبت به شبكههاي مبتني بر كابل يا وايفاي سختتر است. كافي است يك مهاجم براي سرقت اطلاعات، جایي در شبكه را براي اقامت پيدا كند. مشكلات امنيتي در شبكههاي موردي از آن جهت خاص شده و جداگانه مورد بررسي قرار ميگيرد كه در اين شبكهها علاوه بر اين كه تمامي مشكلات موجود در يك شبكه کابلی يا يك شبكه بيسيم وجود دارد؛ مشكلات تازه و بيشتري نيز ديده ميشود. مثلاً از آنجا كه تمامي ارتباطات به صورت بيسيم انجام ميشود، ميتوان آنها را شنود كرد و تغيير داد. همچنين از آنجا كه خود نودها در عمل مسيريابي شركت ميكنند، وجود يك نود متخاصم ميتواند به نابودي شبكه بيانجامد. همچنين در اين شبكهها تصور يك واحد توزيع كليد يا زيرساخت كليد عمومي و غيره مشكل است، زیرا اينگونه شبكهها بیشتر بدون برنامهريزي قبلي ايجاد ميشوند و براي مدت كوتاهي به برقراري امنيت نياز دارند و در عين حال هر نود انرژي بسيار كمي دارد. براي جمعبندي اين بخش بايد بگوييم كه عمده حملات به شبكههاي موردي از جانب مسيريابي(Routing) است و حملات جديد براساس آسيبپذيريهاي پروتكلها و الگوريتمهاي مسيريابي به وجود ميآيند. در ادامه مهمترين حملات جديد كشف و معرفي شده در مقالات علمي و پژوهشي دنيا در سالهاي 2011 و 2012 را بررسي ميكنيم.
حمله Port Change
يكي از مهمترين و كلاسيكترين تهديدات در شبكههاي موردي، حملات تغيير (Changing) هستند. در اين نوع حملات، نود يا نودهاي متخاصم سعي ميكنند با تغيير بستههاي مسيريابي يا بستههاي اطلاعاتي، شبكه را هك كنند. اين تغيير ميتواند در بستههاي مسيريابي RREQ (بستههايي كه براي شناسايي نودهاي همسايه صادر ميشود)، RREP (بستههايي كه در پاسخ به دريافت بستههاي RREQ براي نود مبداء ارسال ميشود) و RERR (بستههايي كه براي اعلام قطع شدن يك لينك يا از بين رفتن يك نود در توپولوژي شبكه صادر و براي نودهاي همسايه ارسال ميشود) اعمال شود يا تغيير در آدرس نود مبداء و مقصد بستهها صورت گيرد. شيوههاي ديگر تغيير ميتواند در فيلد Hop Count (فيلد نگهدارنده تعداد گامهايي كه يك بسته مسيريابي طي كرده است که همان تعداد نودها در طول مسير است) يا در فیلد آدرس مقصد صورت گيرد كه روش آخري موجب بروز حملات DDoS ميشود. براي تشريح حملات بالا يك مثال را بررسي ميكنيم. در شكل 1، يك شبكه موردي فرضي ترسيم شده است. در اين طرح فرضي نود مبداء S و نود مقصد X است. نود مبداء براي ارتباط با نود X بايد از نودهاي مياني A، B، ... تا D براي انتقال بسته اطلاعاتي كمك بگيرد. در اين شرايط اگر يكي از نودهاي مياني يك نود مهاجم يا خرابكار باشد، ميتواند با تغيير دادن بستههاي مسيريابي يا اطلاعاتي عبوري از خود در شبكه اخلال ايجاد كند. مثلاً فرض كنيد كه نود M با دريافت هر بسته مسيريابي و شناسايي نودهاي فعال در شبكه، پيغامي به اين صورت بسازد كه خودش آخرين نود در شبكه است و ديگر نودي براي انتقال بسته مسيريابي وجود ندارد. در اين شرايط ارتباط نود S با نود X قطع خواهد شد.
شکل 1- يك شبكه موردي فرضي
در چند سال اخير گونههاي جديدي از حملات تغيير، تعريف و طراحي شدهاند و كم و بيش در حال شكلگيري و استفاده هستند كه يكي از مهمترين آنها حمله Port Change است كه برای نخستین بار در مقاله محیت جین (Mohit Jain) و همکارانش در سال 2010 مطرح شده است. هدف اين حمله، از دسترس خارج کردن يك يا چند نود از شبكه و تغيير كل مسيريابي و ارتباط نودهاي مبداء و مقصد با يكديگر است. اين حمله از آن جهت اهميت دارد كه به راحتي روي شبكههاي مبتني بر TCP/IP و پروتكل UDP قابل اجرا است. شكلهاي 2 و 3 سرآيند بستههاي TCP/IP و UDP را براي شبكههاي بيسيم نشان ميدهد.
شکل 2- سرآيند بستهها در پروتكل TCP/IP
شکل 3- سرآيند بستهها در پروتكل UDP
در اين سرآيندها براي ارسال يك بسته نياز به آدرس IP و شماره توالي يا شماره پورت نود مقصد است (در مسيريابي شبكههاي موردي هميشه يك جدول آخرين شماره دريافت شده از نودها نگهداري ميشود كه براساس همين شماره نيز مسيريابي جديد صورت ميگيرد. نودهاي دريافتكننده بستههاي مسيريابي بايد از شمارههاي توالي بزرگتر استفاده كنند). تركيب آدرس IP و شماره پورت را آدرس سوكت (Socket Address) ميگويند كه يك آدرس يكتا براي هر نود ايجاد ميكند. حمله Port Change در چهار مرحله صورت ميگيرد كه طي آنها با تغيير آدرس IP و شماره پورت، برخي از نودهاي فعال شبكه از فرآیند مسيريابي و ارتباطات دروني شبكه خارج ميشوند. شبكه موردي فرضي پيش از شروع حمله در شكل 4 نمايش داده شده است.
شکل 4- يك شبكه موردي فرضي با نودها و لينكهاي فعال و سالم
نود S ميخواهد اطلاعاتي را با نود D تبادل كند. در ارتباطات قبلي، دو نود مياني وظيفه رساندن بستهها را به نودهاي S و D برعهده داشتند و ميان اين نودها لينكهاي سالم و فعالي برقرار شده است. از آنجا که توپولوژي شبكه موردي بهعلت تغيير محل فيزيكي نودها دائماً در حال عوض شدن است، نود S براي ارتباطات جديد خود بايد ابتدا يك مسيريابي انجام داده و پس از اطمينان از وجود نودها و توپولوژي قبلي شروع به ارسال اطلاعات کند. در اين شرايط نود مهاجم M به نودهاي شبكه نزديك شده و شروع به جستوجو و اسكن آدرس IP و شماره پورتهاي باز نودها میکند (معمولاً براي اين عمليات نرمافزارها و ابزارهاي Port Scan وجود دارد). با داشتن اطلاعات نود مقصد D، وقتي بسته مسيريابي RREQ را از نود S دريافت ميكند، شماره پورت آن را تغيير داده و يك شماره بزرگتر از قبلي قرار ميدهد. با اين حركت ميخواهد به نود S بفهماند كه آخرين ارتباط برقرار شده ميان او و نود D از طريق خودش بوده است. سپس بسته مسيريابي RREQ تغييريافته را براي نود مياني بعدي ارسال و در نهايت به دست نود D ميرساند. نود D نيز چون صحت بسته را مطمئن شده و شماره پورت صحيح است، تأييد ميكند كه آماده دريافت اطلاعات است و مسير طي شده را دوباره با بسته RREP در اختيار نود S قرار ميدهد (شكل 5). نود مهاجم M نيز بسته RREP را دوباره تغيير ميدهد و شماره پورت بزرگتري درون آن جاسازي ميكند. به این ترتیب، دوباره نود مياني فعال و سالم از ميان خواهد رفت و نود S با دريافت بسته تأييد مسيريابي و تشخيص اينكه آخرین مسيريابي صحيح صورت گرفته از طريق نود M است، شروع به ارسال اطلاعات براي نود D ميكند. در اين حمله يك يا چند نود، در حالي كه فعال هستند از فرآیند مسيريابي خارج شده و در انتقال بستههاي اطلاعاتي شركت نميكنند و نود مهاجم به هدفش كه شنود يا سرقت اطلاعات يا از بين بردن لينك فعال ميان دو نود است، خواهد رسيد.
شکل 5- نود مهاجم M در حالت ايجاد ارتباط ميان نود مبداء و مقصد
حملات حفره سياه و خاكستري
يكي ديگر از معروفترين حملات در شبكههاي بيسيم (موردي، مبتنی بر حسگر و VANET) حملات معروف به سوراخ كرم (Worm Hole) هستند. يك جستوجوي ساده در اينترنت، صدها مقاله درباره چگونگي عملكرد اين نوع حملات را نشان خواهد داد. اما گونههاي جديدي از اين نوع حمله به نام Black Hole و Gray Hole نيز در طي سالهاي 2003 تا 2010 مطرح شده و در دو سال اخير به نقطه اوج خود رسيده است كه در نتيجه مقالات زيادي درباره مقابله با اين نوع حملات مانند مقاله آقاي دیشا جی کاریا (Disha G. Kariya) و همکارانش از كشور هند منتشر شده است. حمله حفره سياه به اين صورت است كه يك نود مهاجم با دريافت بسته مسيريابي RREQ از نود مبداء S، با اطلاعاتي كه از قبل درباره وضعيت شماره توالي(Sequence Number) و تعداد گامهاي مسيريابي (Hop Count) نود مقصد دارد، يك بسته RREP ميسازد و خودش را به عنوان نود مقصد معرفي ميكند و اين بسته را براي نود مبداء S ميفرستد. از آنجا که نود S يك بسته RREP زودتر از بسته RREP اصلي (كه بايد از سوي نود D مقصد ساخته شده و ارسال شود) دريافت ميكند، جدول مسيريابي خود را بهروز كرده و با پاك كردن مسيرهاي قبلي، نود مهاجم را نود مقصد فرض كرده و شروع به ارسال اطلاعات براي آن میکند. نمايي از حمله حفره سياه را ميتوانيد در شكل 7 مشاهده كنيد. در اين شكل نود K ميتواند يك حمله حفره سياه طراحي و اجرا كند. در حمله حفره سياه صددرصد بستههاي اطلاعاتي به دست نود مهاجم رسيده و هيچگونه بستهاي به دست نود مقصد سالم نخواهد رسيد. بنابراين اين نوع حملات بسيار خطرناك ارزيابي ميشوند و در شبكههاي موردي حساس يا نظامي تهديدي جدي خواهند بود. مقابله با این حمله بسیار دشوار است چرا كه شناسايي نود مهاجم در اين وضعيت بسيار سخت است و نياز به ابزارهاي جستوجو، احراز هويت و اعتبارسنجي نودها دارد كه سربار زيادي براي شبكه ايجاد ميكند.
شکل 6- در حمله Port Change بخشي از شبكه غيرقابل دسترس ميشود.
شکل 7- نمايي از حملات Jamming
در حمله حفره خاكستري نود مهاجم يكي از نودهاي مياني يا يك نود با فاصله دورتر از نود مبداء است و در جريان مسيريابي شركت ميكند و بسته RREQ را براي نود مقصد ميفرستد و بسته RREP را نيز از نود مقصد براي نود مبداء هدايت ميكند اما در جريان تبادل اطلاعات سعي ميكند مانع از رسيدن برخي از اطلاعات شود. براي نمونه فقط 60 درصد اطلاعات را از نود مبداء به سوي نود مقصد هدايت ميكند و باقي اطلاعات را پيش خود نگه ميدارد. در شكل 7 نودهاي F، J و L ميتوانند نود مهاجم براي طراحي حمله حفره خاكستري باشند. به همين خاطر حمله حفره خاكستري خطرات كمتري براي شبكه دارد اما فرآیند شناسايي نود مهاجم در آن، سختتر از حمله حفره سياه است. در حقيقت نود مهاجم در حمله حفره خاكستري يك نوع جاسوس است و طوري رفتار ميكند كه دو نود مبداء و مقصد مشكوك نشوند و اطلاعات لازم ميان آنها تبادل شود. در شيوههاي جديد همين حملات، نود مهاجم با ساخت بستههاي RERR به نود مبداء گزارش ميدهد كه نودهاي مياني ارتباطشان با شبكه قطع شده است يا داراي مسافت دورتري نسبت به او هستند و در نتيجه سعي در تخريب نودهاي ديگر ميكند و نود مبداء وضعيت پيچيدهتر و در عين حال مطمئنتري براي ارتباط با نود مهاجم پيدا ميكند.
حملات سيلآسا
نودهاي در حال حركت يا نودهاي موبايل معمولاً منبع تغذيه و انرژي كمي دارند و مانند يك دستگاه ثابت نميتوانند به يك منبع تغذيه بيپايان متصل باشند يا انرژي زيادي را با خود حمل كنند. اين ضعف شبكههاي موردي ميتواند شروع حملاتي موسوم به Jamming باشد كه در نهايت به از سرويس خارج شدن كل شبكه يا تعداد زيادي نود در شبكه منجر شود و به نوعي حملات DDoS را تداعي و اجرا كند. روش كار اين نوع حملات ساده است. يك نود مهاجم يا يك ايستگاه كاري ميتواند تعداد زيادي سيگنال راديويي يا بستههاي مسيريابي RREQ توليد و در كل شبكه منتشر کند. تعداد اين سيگنالها بايد آنقدر زياد باشد كه تمام انرژي نودهاي شبكه را به خود معطوف كرده و در نتيجه بعد از چند دقيقه نودها از حالت فعال خارج شده و توپولوژي شبكه و لينكهاي تبادل اطلاعات به طور كامل از بين بروند (شكل 8).
شکل 8- نمايي از حملات Jamming
اين نوع حملات از همان سالهاي نخست مطرح شدن شبكههاي بيسيم و موردي روي پروتكل 802.11 شناخته شده و روشهاي مختلفي براي جلوگيري از آنها ارائه شده است اما در گونهاي جديد از حملات Jamming، نود مهاجم بهطور فيزيكي اقدام به توليد و انتشار سيگنال نميكند و بهصورت مجازي و در لايه MAC بستههاي مسيريابي و سيگنالي را آزاد ميكند. اين قابليت امكان استفاده از انرژي كمتري نسبت به حمله Jamming فيزيكي به نود مهاجم ميدهد و دردسرها و تلاش كمتري براي از كار انداختن كل شبكه يا بخشي از آن نياز دارد و در عوض شناسايي و مقابله با آن سختتر ميشود. يكي از مقالات جديدي كه به اين نوع حمله پرداخته است و طرحي نيز براي مقابله با آن ارائه كرده، توسط دكتر براننکات (Beran Necat) و همكارش اریف ساری (Arif Sari) از كشور قبرس نوشته شده است كه در نشريه بينالمللي شبكههاي Ad hoc در ژوئن 2012 منتشر شده است. در حمله Jamming مجازي، نود مهاجم از فريمهاي RTS/CTS (Rate to Send/Clear to Send) يا فريمهاي اطلاعاتي در لايه MAC استفاده ميكند. نود مهاجم در يك دوره زماني بدون وقفه فريمهاي RTS را براي شبكه مورد نظر ارسال ميكند و با تغيير جاي خود در شبكه و دوباره شروع کردن به ارسال فريمها، سعي ميكند در بازههاي زماني طولاني نودهاي ديگر را وادار به واكنش کرده، مشغول نگاه دارد كه در نهايت كل شبكه از كار خواهد افتاد. شكل 9 نمايي از يك حمله Jamming مجازي است. نود مهاجم M است و براي شروع حمله فريمهاي با اندازه بزرگ RTS را براي نود R ميفرستد. نود R نيز مجبور به پاسخگوي با فريمهاي CTS ميشود. در اين شرايط نود M سعي ميكند تغيير مکان بدهد و چون از نودهاي ديگر مانند G و H دورتر است، آنها بازه زماني بيشتري را درگير دريافت فريم RTS و پاسخگويي به آن هستند.
گونه ديگري از حملات Jamming به حملات سيلآسا يا Flooding مشهور هستند. همانطور که میدانیم الگوریتمهای مسيريابي مهمی مانند AODV و DSR در شبكههاي موردي بر مبنای انتشار بسته RREQ هستند. بسته RREQ بهصورت سیلآسا در شبکه منتشر شده و منابع شبکه و انرژی نودها را به شدت در اختیار خود میگیرد. روال کار نیز به این صورت است که این الگوریتمها برای نخستینبار جهت کشف یک مسیر در شبکه اقدام به انتشار بسته RREQ میکنند. پس از آن نود ارسالکننده، در یک مدت زمان معین و تعریف شده منتظر دریافت پاسخها از نودها یا همان بستههای RREP میماند. اگر پاسخی دریافت نکند، دوباره اقدام به ارسال بسته RREQ در شبکه میکند با این تفاوت که این بار حداکثر زمان معتبر بودن بسته و زمان برگشت را در شبکه تعیین میکند. چون احتمال میدهد بستههای RREP به علت اتمام زمان اعتبار یا زمان برگشت بسته در میانه راه نابود شدهاند. در حمله سیلآسا که در نهايت به ازكار افتادن كل شبكه منتهی ميشود، نودهای مخرب با تعریف نودهای مجازی و آدرس آیپیهایی که وجود خارجی در شبکه ندارند، باعث میشوند که در عملیات کشف مسیر شبکه اختلال ایجاد شود و نود مبداء منتظر دريافت پاسخ از سوی نودها یا آدرس آیپیهایی باشد که اصلاً در شبکه نیستند. بنابراین چون پاسخی نمیشنود و عملیات کشف مسیر ناتمام باقی مانده است، دوباره اقدام به فرستادن RREQ برای کل نودهای شبکه میکند (شكل 9). تکرار چند باره این عملیات باعث میشود که کل شبکه و نودهای آن فقط درگیر پاسخگویی به بستههای RREQ باشند و انرژی و منابع خود را از دست بدهند.دربخش دوم این مقاله، انواع دیگری از انواع حملات به شبکههای موردی را بررسی خواهیم کرد.
شکل 9- حمله سیلآسا؛ فلشهای قرمز رنگ نشاندهنده مسیر حرکت بسته RREQ هستند.
حملات Byzantine
تاكنون در تمامي حملاتي كه بررسي كرديم، يك نود مهاجم طراح اصلي حمله بوده و دست به خرابكاري يا شنود اطلاعات يا اخلال در مسيريابي صحيح نودهاي شبكه زده است. در اين حملات فرض بر اين است كه فقط يك نود خرابكار در شبكه وجود دارد. اما در يكي از گونههاي پيشرفته هك شبكههاي بيسيم كه به حملات Byzantine معروف هستند، بيش از يك نود مهاجم در حمله شركت كرده و با قرار دادن خود در همبندی (توپولوژي) شبكه و معرفي كردن خودشان به عنوان نودهاي مياني شبكه، با پشتيباني و حمايت يكديگر سعي ميكنند شبكه را هك كرده و اهدافشان را پيادهسازي کنند. چندين دليل براي هككردن يك شبكه با بيش از يك نود وجود دارد. دليل اول استفاده از منابع انرژي بيشتر براي طراحي حمله است. دو نود بيشتر از يك نود ميتوانند در شبكههاي موردي باقي بمانند و انرژي بيشتري تأمین ميكنند. دليل دوم تضمين موفقيت حمله است. مهاجمان چندين سناريو طراحي ميكنند تا اگر نود مهاجم اول نتوانست موفق باشد، نود مهاجم دوم وارد عمل شود و كار نود مهاجم اول را كامل كند. بيشتر اوقات نودهاي سالم تصور نميكنند كه چندين نود مهاجم در شبكه باشد و بنابراين با لو رفتن نود مهاجم اول، به نودهاي ديگر شبكه اعتماد ميكنند. دليل ديگر ميتواند طراحي حملات بسيار پيچيده با استفاده از چندين نود باشد. در تازهترين مقالهاي كه در ماه مي امسال توسط جيجيوشنا (G.JYOSHNA) و كييوگا پراساد (K.YOGA PRASAD) در شماره سوم ژورنال بينالمللي تحقيقات پيشرفته مهندسي كامپيوتر و فناوري (Advanced Research in Computer Engineering & Technology) چاپ شده است، هفت سناريو براي حملات جديد با دو نود متخاصم در شبكههاي موردي مطرح شده است. فرض كنيم كه شبكه موردي ما همانند شكل 1 است. در اين وضعيت نودهاي M1 و M2 نودهاي مهاجم هستند كه در شبكه خود را به عنوان نود مياني معرفي كردهاند. نود مبداء S و نود مقصد T است و قرار است نود S ابتدا شبكه را مسيريابي كرده و با يافتن كوتاهترين مسير، اطلاعات محرمانهاي را براي نود T ارسال كند. همانطور كه قابل مشاهده است، كوتاهترين مسير از طريق نودهاي 1 و 4 است. ابتدا نود S يك بسته مسيريابي RREQ را براي نودهاي همسايه خود يعني نودهاي 1، M1 و 2 ميفرستد. اينجا است كه نودهاي M1 و M2 ميتوانند با روشهاي مختلف نود S را گمراه كنند و مسيرهايي مانند S→M1→5→M2→T یا S→M1→1→4→T يا S→1→4→M2→T را جايگزين مسير اصلي S→1→4→T كنند. در روش اول هك، نود مهاجم اول ميتواند جواب بستههاي مسيريابي نود S را طوري بدهد كه نشان دهد نزديكترين نود به نود مبداء است و نودهاي 1 و 2 همسايههاي بالاسري او هستند. در روش دوم نود M1 و M2 با هماهنگي يكديگر يك فرم خاص از وضعيت شبكه را براي نود S ميفرستند تا او را گمراه كنند و تصور كند که نزديكترين مسير براي برقراري ارتباط با نود T از طريق نودهاي M1 و M2 است. در روش سوم نود M1 سعي ميكند به نود S القا كند كه نود M2 ميان دو نود 1 و 4 است و مسيريابي را تغيير جهت دهد. در روشی دیگر، دو نود مهاجم با كمك يكديگر ميتوانند يك حلقه در شبكه ايجاد كنند كه هر اطلاعاتي ازطريق آنها منتقل شود. اهداف مهاجمان در حملات Byzantine ميتواند شنود اطلاعات، حذف يك يا چند نود سالم از توپولوژي شبكه، تغيير مسيريابي، قطع ارتباط ميان نودها يا اهداف ديگري مانند تزريق اطلاعات غلط باشد.
شكل1-يك شبكه موردي فرضي براي پيادهسازي حمله Byzantine
حملات Colluding Injected
اين نوع حملات كه در برخي از منابع با نام CIA (سرنام Colluding Injected Attack) نيز شناخته ميشود، بيشتر در شبكههاي M2M (ماشين به ماشين) يا شبكههاي VANET (شبكههاي موردي بينخودرويي) رخ ميدهد. اين نوع حمله نيز ميتواند با يك نود مهاجم يا بيشتر به وقوع بپيوندد. در فاز اول فقط يك نود مهاجم در هك شبكه حضور دارد اما براي پوششدادن اهداف بعدي، نود دوم يا سوم هم وارد شبكه ميشوند. اين حمله به ترتيب به دو فاز Node Replication و Node Injection تقسيم ميشود. در فاز اول يك نود مهاجم سعي ميكند با سرقت تمامي اطلاعات يك نود سالم در شبكه، خودش را به جاي او به نودهاي ديگر معرفي و وضعيت خودش را در توپولوژي و مسيريابي شبكه مستحكم كند. سپس اين نود در فاز تزریق يا Injection كمك ميكند تا نود مهاجم دوم نيز وارد شبكه شود و بتواند جاي نود سالم ديگري را بگيرد. تفاوت اين حمله با حملات قبلي در اين است كه ابتدا بايد تمامي اطلاعات يك نود سالم از روي حافظه آن نود به سرقت برود. اين اطلاعات شامل جدول مسيريابي، جدول نودهاي همسايه، كليدهاي رمزنگاري و اعتبارسنجي، كدهاي منحصربهفرد آن نود در مسيريابي، الگوريتمهاي مسيريابي و تاريخچه مسيريابي شبكه هستند. هر نود مهاجمي با داشتن اين اطلاعات ميتواند خودش را به جاي نود سالم در شبكه معرفي كند. در شكل۲ ميتوانيد به ترتيب مراحل حمله CIA را مشاهده كنيد. نرمافزارهاي پويش هميشه ميتوانند نقاط آسيبپذير نودها و شبكه را به هكرها گزارش دهند. شروع اين حمله با چنين نرمافزارهايي است. يك نود مهاجم با اجراي يك نرمافزار پويش سعي ميكند آسيبپذيرترين نود را در شبكه شناسايي كرده و با نفوذ به حافظه آن، تمامي اطلاعات ذخيره شده در اين حافظه را روي حافظه خودش كپي كند. فرآيند كپيكردن معمولاً با فشردهسازي اطلاعات و سپس از حالت فشرده خارج کردن آنها و با هدف مصرف كمتر انرژي صورت ميگيرد.
شكل2-تشريح گامبهگام حمله CIA با سناريوهاي مختلف
سپس با ارسال يك بسته جعلي به نودهاي همسايه، خودش را نود سالم قبلي معرفي ميكند. به اين صورت تمامي نودهاي همسايه نود مهاجم M1 را نود B تلقي كرده و ارتباط خودشان را با نود اصلي سالم B قطع ميكنند و به نوعي نود B در حالت ايزوله قرار ميگيرد. در ادامه، نود M1 براي كسب اعتماد نودهاي ديگر شبكه سعي ميكند در فرآيند چندين مسيريابي يا تبادل اطلاعات شركت كند و رفتار مشكوكي از خود بروز ندهد تا كاملاً جايگاه خودش را در شبكه تثبيت کند. فاز اول حمله يا همان فاز Node Replication در اين بخش به پايان ميرسد و نود مهاجم M1 بايد طراحي فاز دوم حمله يا Node Injection را شروع كند. در اين فاز نود M1 سعي ميكند اطلاعات مهمي از شبكه و نودها و وضعيت مسيريابي را به همراه جدول مسيريابي و آخرين شمارههاي Hop Counter و Sequence Number موجود در شبكه، دراختيار يك نود مهاجم ديگر با نام M2 قرار دهد. اين اطلاعات به نود M2 كمك ميكند تا در مسيريابي و تبادل بستههاي اطلاعاتي شبكه به صورت سالم و بدون برانگيختن سوءظن نودهاي ديگر شركت كند. در اين فاز محل قرارگيري نودها و توپولوژي شبكه بسيار مهم است. چون هم نود M1 بايد خودش را بهطور كامل با نود جديد M2 هماهنگ و سينك كند تا حجم زيادي از اطلاعات را با يكديگر تبادل كنند و هم نود مهاجم M2 بايد نزديك به يك نود سالم شبكه باشد تا بتواند خودش را به جاي او جا بزند. در اين مرحله، حمله با چندين سناريو ميتواند پيش برود. در سناريو اول، نود مهاجم M2 با اطلاعاتي كه از شبكه دارد، خودش را وارد فرآیندهاي مسيريابي كرده و بدون ايجاد مزاحمت براي ديگر نودها، اطلاعات را شنود ميكند. در سناريو دوم كه خطرناكتر نيز هست، نود M2 تصميم ميگيرد به جاي يك نود سالم در شبكه نقش بازي کرده و آن نود را از شبكه خارج و ايزوله کند. براي اين منظور طوري بستههاي مسيريابي را جواب ميدهد و سعي ميكند اطلاعات نود قرباني را به سرقت ببرد كه اين نود از توپولوژي شبكه حذف شود. اين سناريو ميتواند دوباره براي نودهاي ديگر سالم اتفاق بيفتد و در پايان تمام شبكه تحت اختيار نودهاي مهاجم قرار بگيرد. حتي ميتوان در يك سناريو ديگر متصور بود كه نود مهاجم M3 نيز وارد شبكه شود و جاي يكي از نودهاي سالم قرار بگيرد. اين نوع از هك شبكههاي بيسيم كه جزء خطرناكترين آنها نيز ردهبندي ميشود، در مقاله فرح كنداه (Farah Kandah)و همكارانش از ايالات متحده مطرح شده است. اين مقاله در ژورنال IEEE INFOCOM 2011 چاپ شده است.
حملات Rushing
اين نوع حمله كه به هك پنهان نيز معروف است، هدفش از كار انداختن شبكه و به نوعي پيادهسازي حملات DDoS است و عليه شبكههاي موردي استفاده ميشود كه از پروتكلها و الگوريتمهاي مسيريابي On-Demand استفاده ميكنند. اين پروتكلها براي مسيريابي از يك جدول مسيريابي استفاده ميكنند و هر نود شبكه بايد در هر مسيريابي براساس آن، بستههاي مسيريابي را هدايت كند و دوباره جدول مسيريابي را بهروز کند. معروفترين پروتكلهاي مسيريابي مبتني بر اين شيوه AODV، DSR، LAR، Ariadne و حتي پروتكلهاي مسيريابي امني مانند SAODV، ARAN، SEAODV و... هستند. در مقاله ئیچونهو و همكارانش كه در يكي از شمارههاي نشريه ACM در سال 2011 چاپ شده است، روش كار حملات جديد Rushing اينگونه عنوان شده است كه هكرها سعي ميكنند با راهاندازي پروسه كشف مسير (Route Discover) براي چندين نود سالم هدف (قرباني)، جدولهای مسيريابي آنها را با اطلاعات غلط و گمراهكننده پر كنند و در نتيجه در مسيريابيهاي اصلي كه از سوي نودهاي سالم شبكه صورت ميگيرد، چون نودهاي قرباني اطلاعات اشتباهي دارند، فرآیند كشف مسير و مسيريابي درست را با اخلال روبهرو كرده و در نهايت نود مبداء نميتواند تصميم بگيرد که كدام مسير براي برقراري ارتباط با نود مقصد مناسب است و دچار مشكل و قطع سرويسدهي ميشود. شكل 3 را بهعنوان يك شبكه موردي فرض كنيد. در اين شكل نود initiator ميخواهد با نود target ارتباط برقرار کند. دو نود خاكستري همسايه نود target ميتوانند نودهاي قرباني در حمله Rushing باشند. هكرها ابتدا با ارسال بستههاي RREQ براي اين دو نود، سعي ميكنند جدول مسيريابي آنها را با اطلاعات اشتباه و گمراهكننده پر كنند. براي نمونه ميتوانند طوري شبكه را مسيريابي کنند كه اين دو نود تصور كنند آخرين نودهاي شبكه هستند و نود target همسايه آنها نيست. اگر هكرها اطلاعاتي درباره شبكه و لايه MAC در پروتكل 802.11 داشته باشند، به راحتي ميتوانند بستههاي RREQ جعلي بسازند و وارد شبكه كنند. از اين جهت، به اين نوع از حملات، هك پنهان ميگويند چراكه هكرها در فرآيند مختلسازي شبكه به صورت اكتيو فعال نيستند. وقتي جدولهای مسيريابي نودهاي قرباني برنامهريزي شد، هكرها خودشان را از شبكه خارج كرده و فقط نظارهگر هستند. چون وقتي نود initiator شروع به فرآیند كشف مسير ميكند و بستههاي RREQ را براي تمامي نودهاي همسايه مياني ميفرستد، آنها نيز اين بستهها را براساس جدولهای مسيريابي خود هدايت ميكنند تا در نهايت به دو نود قرباني خاكستري ميرسند. هر دو نود براساس اطلاعات جدول مسيريابي بستههاي RREP را ساخته و اعلام ميكنند كه نودي با نام target را در شبكه همسايه خود نميبينند و به نوعي اعلام ميكنند که در توپولوژي فعلي شبكه آخرين نودها هستند. اين بستههاي RREP باز هم ميان نودهاي مياني دست به دست ميچرخند تا به دست نود initiator ميرسند. براساس اين بستهها نود مبداء متوجه ميشود كه نود target اكنون در شبكه نيست و نميتواند با آن ارتباط برقرار کند! علاوه بر روش گفته شده، روشهاي ديگري نيز براساس حملات Rushing و اخلال جدول مسيريابي مطرح شدهاند (مانند حملات سرريز جدول مسيريابي يا حملات آلوده كردن جدول مسيريابي) كه كم و بيش مشابه همين روش هستند. فقط در اين نوع حملات، مهم است كه نخستین بستههاي مسيريابي كه به دست نودهاي قرباني ميرسند، بستههايي از سوي هكرها باشند.
شكل 3-نمايي از نودهاي قرباني در حملات Rushing
حملات Sybil
گونه دیگری از حملات علیه شبکههای موردی که از آسیبپذیریهای پروتکلهای مسیریابی سوءاستفاده میکند، معطوف به آدرس IP یکتا و اختصاصی و آدرس MAC نودها است. به علت استفاده نکردن از الگوریتمهای رمزنگاری یا احراز هویت یا عدم دسترسی به سیستمهای رمزنگاری در این پروتکلها، به راحتی میتوان به آدرس IP و MAC نودها دسترسی پیدا کرد. به عنوان مثال، یک هكر میتواند با نامعتبرکردن آدرس IP یک نود، پروسه کشف مسیر را با اختلال مواجه کند و از این امر به نفع خود استفاده كرده و خود را به جای نود قربانی جا بزند. اين نوع حملات كه مبتني بر آدرس IP يا شناسه ID يا آدرس MAC هستند، به حملات Sybil معروفاند. طيف جديدي از اين نوع حملات عليه شبكههاي حسگر استفاده ميشود كه در مقاله شيامالا راماچاندران (Shyamala Ramachandran) و والي شانموگان (Valli Shanmugan) از هند به آنها اشاره شده است. اين مقاله در مجله کامپیوتر ساینس چاپ شده است. يكي از روشهاي مسيريابي در شبكههاي حسگر مبتني بر موقعيت جغرافيايي است و از پروتكل Geographic Multicast Routing (GMR) استفاده ميكند. شكل 4 نمايي از اين پروتكل را نشان ميدهد.
شكل 4-مثالي از پروتكل مسيريابي GMR در شبكههاي حسگر
نودها براساس موقعيت جغرافيايي به سه سطح تقسيم ميشوند و براساس سطحها، ارتباطات ميان نودها برقرار ميشود. هر نود داراي يك شناسه كاربري (ID) خاصی است و بستههاي اطلاعاتی با استفاده از آیدیهای هر نود ارسال و دريافت ميشوند. به عنوان مثال، اگر نود C ميخواهد يك بسته اطلاعاتي را براي نود D3 بفرستد، ابتدا آن را براي نود A1 فرستاده و در آن آدرس مقصد را نود D3 تعيين ميكند. نود A1 نيز با مشاهده اين آدرس مقصد، چون با D3 لينك دارد، بسته اطلاعاتي را برايش ارسال ميكند. در حمله Sybil چندين نود مهاجم ميتوانند در موقعيت جغرافيايي نودهاي A1 و A2 قرار بگيرند و با جعل شناسه كاربري (ID) يا آدرس IP اين نودها، خودشان را يك نود مياني معتبر معرفي كنند. از آنجا که پروتكل GMR فاقد هرگونه فيلد اعتبارسنجي يا احراز هويت است، بهراحتي اين امكان را به نودهاي مهاجم ميدهد كه در موقعيت جغرافيايي خاصي قرار گرفته و در شبكه شناسايي شوند. شكل 5 نمايي از يك حمل Sybil را نشان ميدهد. نودهاي A21، A22، A23 و A24 در موقعيت جغرافيايي نود A1 و A2 سابق قرار گرفتهاند و با استفاده از آیدی اين نودها، براي خودشان يك ID جديد معتبر در شبكه ساختهاند. وقتي نود C با استفاده از GPS موقعيتسنجي ميكند، متوجه ميشود كه نود A21 به نود D3 و D4 نزديكتر است و به همين دلیل براي ارسال اطلاعات به نودهاي D3 و D4 با اين نود مهاجم ارتباط برقرار ميكند و يك مسير جديد در شبكه تشكيل ميدهد. حملات Sybil شامل دو فاز هستند كه در فاز اول نودهاي مهاجم با جعل آدرس IP يا ID، خودشان را در موقعيت معتبر شبكه قرار ميدهند و در فاز دوم، اهداف نفوذ خود را كه ميتواند اخلال در مسيريابي، از بين بردن اطلاعات، سرقت اطلاعات يا از كار انداختن شبكه باشد، اجرا ميكنند.
شكل 5-نمايي از يك حمله Sybil با ايجاد مسيرهاي جعلي
فراسوي آينده
تاكنون براي امنسازي شبكههاي موردي و بهخصوص مسيريابي امن، پروتكلها و روشهاي مختلفي پيشنهاد شده است. به علت نبود امكان استفاده از روشهاي امضاي ديجيتالي يا كليدهاي رمزنگاري با طول زياد، بسياري از اين پيشنهادها فقط ميتوانند بخشي از نقاط ضعف و آسيبپذيري اينگونه شبكهها را برطرف کنند اما يك راهكار عملي كلي ارائه نميدهند. هرچند، روزنه امیدی كه در ميان مقالات ارائه شده در دو سال اخير به چشم میخورد، استفاده از ويژگيهاي ذاتي شبكههاي موبايل براي امنسازي خودشان است. مثلاً استفاده از Hop Count يا Sequence Number زوج و فرد براي بستههاي مسيريابي مختلف يا استفاده از شناسههاي قراردادي كه هر نود ميتواند بسازد و در بستههاي مسيريابي براي اعتبارسنجي آن بسته قرار دهد.
اين روشها برخلاف رمزنگاري، نياز به انرژي بالايي ندارند و همچنين پروتكلهاي مسيريابي امن ارائه شده، ميتوانند نقاط ضعف را پوشش بدهند. به هر حال، استفاده از شبكههاي بين خودرويي، شبكههاي حسگر و شبكههاي ماشينبهماشين در كشورهاي پيشرفته در دستور كار قرار داشته و تا يكي دو سال آينده شاهد رواج آنها خواهيم بود. اگر اين شبكهها امن نباشند و مشكلات امنيتي آنها برطرف نشده باشد، عواقب ناگواري در انتظار استفادهكنندگان خواهد بود.