یکشنبه , ۲۷ آبان ۱۳۹۷

روش‌های جدید هک شبکه‌های ad hoc (بخش سوم)

 

AD hoc

در شماره گذشته، درباره آسيب‌پذيري‌هاي شبكه‌هاي موردي (Ad hoc) صحبت كرديم و گفتيم كه به خاطر نبود يك نود مركزي هدايت‌كننده و مدير در شبكه و استفاده نکردن از ساختار فيزيكي ثابت، مسيريابي بسته‌هاي اطلاعاتي در شبكه بايد توسط خود نودها صورت گيرد كه اين امر ضعف‌هاي زيادي را به وجود مي‌آورد. هكرها مي‌توانند با طراحي حملاتي، مسيريابي شبكه را دچار اختلال كنند يا خودشان را به عنوان نودهاي احراز هويت شده در شبكه معرفي کرده  و بعد به اهداف‌شان برسند. همچنين چهار حمله جديد عليه شبكه‌هاي موردي به نام‌هاي Port Change، Black Hole & Gray Hole ، Jamming و Flooding را بررسي و روش عملكرد آن‌ها را مرور کردیم. در ادامه اين مقاله، سعي مي‌كنيم حملات مطرح ديگري را بررسي كنيم و شيوه‌هاي جديد هكرها براي هك كردن این نوع شبكه‌هاي بي‌سيم را تشريح كنيم.

حملات 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 زوج و فرد براي بسته‌هاي مسيريابي مختلف يا استفاده از شناسه‌هاي قراردادي كه هر نود مي‌تواند بسازد و در بسته‌هاي مسيريابي براي اعتبارسنجي آن بسته قرار دهد.
اين روش‌ها برخلاف رمزنگاري، نياز به انرژي بالايي ندارند و همچنين پروتكل‌هاي مسيريابي امن ارائه شده، مي‌توانند نقاط ضعف را پوشش بدهند. به هر حال، استفاده از شبكه‌هاي بين خودرويي، شبكه‌هاي حسگر و شبكه‌هاي ماشين‌به‌ماشين در كشورهاي پيشرفته در دستور كار قرار داشته و تا يكي دو سال آينده شاهد رواج آن‌ها خواهيم بود. اگر اين شبكه‌ها امن نباشند و مشكلات امنيتي آن‌ها برطرف نشده باشد، عواقب ناگواري در انتظار استفاده‌كنندگان خواهد بود.

منبع: ماهنامه شبکه

Print Friendly, PDF & Email

جوابی بنویسید

ایمیل شما نشر نخواهد شدخانه های ضروری نشانه گذاری شده است. *

*