پروتکل اصلی برای ارسال دادهها در شبکه اینترنت و بسیاری از شبکههای کامپیوتری پروتکل اینترنت یا همان IP است. سرآیند هر بسته IP شامل فیلدهای مختلفی میباشد، از جمله آدرس مبدأ و مقصد بسته. در حالت کلی آدرس مبدا، آدرسی است که بسته را ارسال کردهاست. با جعل کردن سرآیند بسته، این آدرس تغییر میکند و به آدرس دیگر اشاره میکند و مهاجم میتواند اینطور نشان دهد که بسته توسط ماشین دیگری ارسال شدهاست. بنابراین ماشینی که بسته جعل شده را دریافت میکند، پاسخ را به آدرس مبدأ جعل شده ارسال میکند، همانطور که از این توضیحات نیز مشخص میشود، این روش اصولاً زمانی استفاده میشود که مهاجم به پاسخ اهمیتی نمیدهد یا میتواند از روشهای مختلفی پاسخ را حدس بزند. البته در موارد خاص، مهاجم میتواند پاسخ را ببیند یا آن را به سمت ماشین خود هدایت نماید. این موارد بیشتر زمانی است که مهاجم ادرسی را در LAN یا WAN یکسانی جعل میکند.
جعل آدرس IP، در حقیقت حیله ایست که معمولاً بر روی سرورها اعمال میشود و معمولاً بدین منظور استفاده میشود که سیستم مقابل را طوری فریب دهد تا فرض کند مقصدی که از آن اطلاعات دریافت میکند شما نیستید! در نهایت کامپیوتر مقصد بستههای اطلاعاتی را از شما دریافت خواهد کرد اما پیش خود بر این فرض خواهد بود که این بستهها از ماشین دیگری دریافت میشوند. مثالی در این زمینه این مطلب را روشن تر میسازد: در این مثال: IP Address خود را به صورت فرضی ۲۰۳٫۴۵٫۹۸٫۱ (واقعی) در نظر میگیریم. IP Address سیستم قربانی را نیز ۲۰۲٫۱۴٫۱۲٫۱ (قربانی) در نظر گرفته میشود. IP Address را هم که میخواهیم وانمود کنیم متعلق به ماست را برابر ۲۰۲٫۱۴٫۱۲٫۱ (تقلبی) میباشد. و به صورت سمبولیک به صورت زیر میباشد: Real IP Address (yours): 203.45.98.1 Victim IP Address: 202.14.12.1 Fake IP Address (yours): 173.23.56.89 در حالت عادی، هنگامی که دیتا گرامها از کامپیوتری با آدرس IP واقعی به سمت قربانی خارج میشود، مسلماً اطلاعات دریافتی توسط قربانی نیز مشخصه آدرس IPشما را در بر دارند و این به این معنا است که کاملاً طرف مقابل کامپیوتر قربانی (که شما هستید)، به راحتی قابل شناسایی خواهد بود. اکنون حالتی را در نظر بگیرید که شما میخواهید بستههایی را برای قربانی ارسال کنید، اما او گمان کند که این بستهها از سیستم تقلبی دیگر(Fake) با آدرس IP برابر ۱۷۳٫۲۳٫۴۵٫۸۹ میآیند. در این حالت بایستی از مکانیزم جعل آدرس IP استفاده کرد.
کاربردها
جعل IP اغلب در حملات انکار سرویس استفاده میشود. در این حملات، هدف غرق کردن قربانی به وسیله حجم بالای ترافیک میباشد، و مهاجم اهمیتی نمیدهد که در ازاء بستههای مورد استفاده در حمله پاسخی دریافت نمایند. بنابراین بستهها با آدرسهای جعلی برای این نوع حملات مناسب میباشند. استفاده از این تکنیک برای این نوع حملات مزایای زیادی دارد به عنوان مثال: ازآنجایی که اینطور به نظر میرسد هر بسته جعل شده از آدرسی متفاوت ارسال شده است، مبدأ اصلی حمله را پنهان کرده و فیلتر کردن این حملات بسیار دشوار میباشد. حملات انکار سرویس که از جعل آدرس استفاده میکنند، عموماً به صورت تصادفی آدرسی را از تمام فضای آدرس IP انتخاب میکنند. گسترش بات نتها باعث کاهش اهمیت جعل در حملات انکار سرویس میشوند، اما مهاجمان بهطور معمول، این شیوه را به عنوان ابزاری مد نظر دارند، و در صورتی که آنها قصد استفاده از این روش را داشته باشند، مقابله با حملات انکار سرویس ممکن است دشوارتر به نظر برسد. هم چنین، جعل آدرس IP میتواند به عنوان روشی برای انجام برخی حملات به شبکه، توسط مزاحمان و به منظور شکست اقدامات امنیتی آن، – مثل احراز هویت بر پایه آدرس IP – انجام میگیرد، به کار میرود. از آن جایی که این روش شامل تغییر هزاران بسته در یک زمان میشود، حمله بر روی سیستم از راه دور از این طریق میتواند بسیار دشوار باشد. در اکثر مواردی که ارتباط بین دستگاهها مورد اعتماد است، این نوع حمله مؤثر واقع میشود. به عنوان مثال، بسیار مرسوم است که در برخی شبکههای شرکتهای بزرگ، سیستمهای داخلی به هم اعتماد کنند، بنابراین کاربران میتوانند بدون نام کاربری یا رمز عبور از یک ماشین به ماشین دیگری بر روی شبکه داخلی متصل گردند. با جعل اتصال از ماشین مورد اعتماد، مهاجم قادر به دسترسی به دستگاه مورد نظر بدون احراز هویت میباشد.
کاربردهای قانونی جعل آدرس IP
اگرچه جعل بستههای IP دلیلی بر بد نیتی نمیباشد. در تست کردن کارایی وب سایتها، ممکن است صدها یا هزاران کاربر مجازی (vuser) ایجاد شوند و هرکدام از این کاربران مجازی، وظیفه اجرا کردن اسکریپت تستی را برعهده دارند، که این اسکریپتها عملکرد ان وب سایت را در زمانی که تعداد زیادی کاربر در یک لحظه به سیستم log on میشود را بررسی میکنند. از آن جایی که هر کاربری در حالت عادی، آدرس IP خودش را دارد، ابزار محصولات تست تجاری، (مثل نرمافزار loadrunner متعلق به شرکت hp) میتوانند از روش جعل کردن آدرس IP استفاده کنند.
سرویسهایی که نسبت به جعل آدرس IP آسیب پذیر میباشند
سرویسهای زیر، سرویسهایی که نسبت به جعل آدرس IP آسیب پذیر میباشند: سرویسهای RPC (Remote procedure call) هر سرویسی که از تصدیق آدرس IP استفاده کند. سیستم X Windows دنباله سرویسهای R (rlogin,rsh,….)
مقابله با حملات جعل آدرس IP
فیلتر کردن بستهها یک روش مقابله با این حمله میباشد. معمولاً دروازه یک شبکه عملیات مربوط به فیلتر کردن بستههای ورودی را انجام میدهد، بدین معنی که بستههای ورودی از خارخ شبکه که آدرس مبدأ آن، آدرسی داخل شبکه باشد را بلاک میکند. این امر مانع میشود که مهاجمی خارج از شبکه، آدرس ماشینی درون شبکه را جعل کند. در صورت دلخواه، دروازه همچنین میتواند عملیات مربوط به فیلتر کردن بستههای خروجی را انجام دهد، بدین معنی که بستههایی از داخل شبکه را که آدرس مبدأ آن داخل شبکه نمیباشد را بلاک میکند. این امر مانع میشود که مهاجمی داخل شبکه آدرس ماشینی خارج شبکه را جعل نماید. همچنین توصیه میشود که درهنگام طراحی پروتکلها و سرویسهای شبکه تلاش شود به گونهای این طراحی شکل بگیرد که برای تصدیق هویت به آدرس IP وابسته نباشند.
تحلیل و بررسی Dynamic Arp Inspection
پروتکل ARP که مخفف کلمهی Address Resolution Protocol است، برای تبدیل آدرس IP (لایهی شبکه) به آدرس MAC (لایهی پیوند داده) کاربرد دارد، که این پروتکل یک پروتکل ضروری برای لایهی اینترنت است.
به علت اینکه پروتکل ARP بیشترین کاربرد را دارد، مهاجمها با روشهای غیرقانونی سعی در دور زدن آن دارند. در شکل زیر سیستم ” Client PC” را مشاهده میکنید که با روتر پیشفرض آن ۱۹۲.۱۶۸.۰.۱ است و اطلاعات را با این روتر رد و بدل میکند، اگر در این بین یک سیستم مهاجم با نام ” Attacker’s PC” وجود داشته باشد، برای اینکه خود را به جای سیستم ” Client PC” به روتر معرفی کند، با ارسال پیامهای ARP (GRAP) هم به کلاینت و هم به روتر خود را در وسط کار قرار میدهد، مثلاً در این شکل ” Attacker’s PC” آدرس مک خود را به جای آدرس مک روتر “BBBB.BBBB.BBBB” جا میزند و این کار باعث میشود که سیستم مورد نظر اطلاعات خود را به مهاجم ارسال کند و به همین ترتیب مهاجم با دستکاری در آن اطلاعات را به سمت روتر مورد نظر خود ارسال میکند؛ این نوع حملات با نام ARP spoofing شناخته میشوند و از نوع man-in-the-middle است.
توجه داشته باشید که GRAP که به اختصار به نام Gratuitous Address Resolution Protocol شناخته میشود کمکی برای شناسایی آدرس IP تکراری در شبکه است که این کار را با ارسال Broadcast در شبکه انجام میدهد، باارسال broadcast سیستمهایی که در شبکه قرار دارند اگر به این پیغام پاسخ دهند یعنی اینکه آدرس مورد نظر متعلق به آنها است و نمیتوان از آن استفاده کرد.
در قسمتهای قبلی از سرویس DHCP snooping استفاده کردیم، زمانی که این سرویس فعال میشود یک جدول که شامل آدرس MAC و آدرس IP است ایجاد میشود و میتوانید با کمک این جدول از حملات ARP جلوگیری کنید.
یکی از ویژگیهای امنیتی در پروتکل ARP استفاده از DAI یا همان Dynamic Arp Inspection است که با استفاده از جدول DHCP snooping بررسی میشود اگر بستهی ARP از پورتی که Trust است دریافت شود، اجرازه عبور به ان را میدهد و اگر از پورتی دیگر دریافت شود فقط در صورتی که آدرس مک با آدرس IP یکی باشد اجازه عبور را میدهد.
برای فعال سازی ویژگی Dynamic Arp Inspection به صورت زیر عمل کنید:
برای شروع اول باید DAI را بر روی Vlan مورد نظر خود در سوئیچ اجرا کنید، که دستور آن به صورت زیر میباشد.
Switch(config)# ip arp inspection vlan 1
بعد از آن باید در Interface که به سوئیچ متصل است دستور زیر را وارد کنید:
Switch(config)#interface Ethernet 0/2
Switch(config-if)# ip arp inspection trust
توجه داشته باشید به صورت پیشفرض ویژگی DAI در همهی پورتهای سویییچ در حالت Untrust است و فقط باید در پورت قابل اعتناد که به سوئیچ قرار دارد بر روی Trust قرار بگیرد.
پس در این موضوع یاد گرفتیم که چگونه جلوی مهاجم را که خود را به عنوان یک سیستم میانی جا میزد بگیریم، که این کار را با تعریف دستورات مورد نظر در پورت مشخص شده انجام میدهیم.