شبکه های کامیپوتری وایرلس و اطلاعاتی که در بستر آنها مبادله می شوند دائم در خطر حملات Spoofing قرار دارند. حملات اسپوفینگ به حملات جعل معروف هستند زیرا هکر با جعل اطلاعات شبکه خود را کاربری مجاز جلوه داده و به اطلاعات دسترسی پیدا می کند. حملات اسپوفینگ باعث کندی در شبکه و اختلال در امنیت آن خواهند شد. برنامه یا هکر اطلاعات را جعل می کند و خود را به عنوان کاربر مجاز معرفی کرده و به اطلاعات شبکه دسترسی پیدا می کند. مثلاً شبکه هایی که دستگاه های مجاز خود را براساس مک آدرس فیلتر می کنند برای حمله اسپوفینگ، کاربر غیرمجاز فقط کافی است مک آدرس کاربری مجاز را پیدا کند تا از تمام دسترسی های آن سوء استفاده کند. معمولاً هکر با استفاده از اسپوفینگ به دنبال سوء استفاده از شرایط و دسترسی به سود نامشروع است. ARP spoofing از این دسته حملات میباشد که در این مقاله با آن آشنا خواهیم شد.
حمله ARP Poisoning، حمله ای از نوع Man in the Middle می باشد و در سطح شبکه داخلی یا LAN است که در آن هکر با فرستادن پیغام های جعلی ARP در شبکه داخلی، قادر به شنود تمامی بسته های کاربر هک شده، می شود. پروتکل Address resolution protocol عمل تبدیل IP به MAC را برای ما انجام می دهد. نحوه کارکرد آن بدین صورت است که درخواست هایی در شبکه پخش می شود که آیا IP شما است، اگر درست است مک خود را ارسال کنید.در همین حین تمامی کلاینت های شبکه IP خود را چک می کنند که در صورت درست بودن یک پاسخ همراه مک به فرستنده ارسال می کنند. برای این که این درخواست پیوسته در شبکه ارسال نشود و ترافیک بیهوده ایجاد نشود هر کلاینت یکبار این درخواست را ارسال کرده و سپس جواب های ارسالی را بصورت یک جدول در ARP Cache نگه داری می کند. این جدول شامل Mapping بین IP و MAC می باشد. هر زمان که بسته ای به یک کلاینت در یک شبکه داخلی ارسال می شود، باید از Gateway عبور کند سپس Gateway با استفاده از ARP، آدرس MAC کلاینتی که بسته به آن مربوط می شود را با استفاده از IP موجود در بسته پیدا کرده و آن بسته را به کلاینت مورد نظر ارسال می کند.
حملات مسموم سازی ARP به هکرها امکان جاسوسی و شنود ارتباطات را می دهند. در این مطلب ابتدا درباره پروتکل ARP و شیوه عملکرد آن صحبت نموده، سپس نحوه اجرای حملات مسموم سازی ARP را توضیح می دهیم. این پروتکل، امکان برقراری ارتباط با دستگاه های مختلف را در شبکه فراهم می کند. از ARP برای ترجمه آدرس آی پی و تبدیل آن به مک آدرس سیستم ها استفاده می شود. معمولاً دستگاه ها از ARP برای برقراری ارتباط با مسیریابی استفاده می کنند که امکان دسترسی به اینترنت را به آنها می دهد. شیوه عملکرد این پروتکل به این صورت است که میزبان، یک کش ARP داشته و از آن برای برقراری ارتباط با سایت ها و سایر مقاصد در شبکه استفاده می کند. اگر مک آدرس، یک عدد آی پی منحصر به فرد نداشته باشد می تواند با ارسال بسته درخواست ARP از سایر سیستم های شبکه درخواست کند که مک آدرس مربوط به آدرس آی پی مورد نظر را برای او ارسال کنند.
مسموم سازی ARP یک نوع حمله مرد میانی است که مهاجمان با اجرای آن امکان جاسوسی و شنود ارتباطات صورت گرفته در شبکه محلی را خواهند داشت. همانطور که گفتیم، پروتکل ARP با هدف ارتقای بهره وری طراحی شده است. طراحان این پروتکل توجه چندانی به امنیت آن نداشته و سیستم احراز هویت را برای اعتبارسنجی پیام های ARP در آن پیاده سازی نکرده بودند. مراحل اجرای این حمله توسط هکرها به ترتیب زیر است:
1. هکرها باید امکان دسترسی به شبکه را پیدا کنند تا با تجزیه و تحلیل آن بتوانند آدرس آی پی دستگاه های متصل به شبکه را به دست آورند.
2. شامل انتخاب یک هدف مثل یکی از نقاط انتهایی یا وسیله ای در شبکه مثل یک مسیریاب است.
3. مهاجمان از ابزارهای جعل مثل Arpspoof یا Driftnet برای اجرای حمله مسموم سازی ARP استفاده نموده و پس از انجام تنظیمات لازم، اجرای حمله را برای جاسوسی ارتباط بین دو تا از دستگاه های موجود در شبکه آغاز می کنند.
4. پس از اجرای این حمله، دستگاه ها باور می کنند که مک آدرس ارایه شده توسط مهاجم صحیح است.
5. این دستگاه ها ورودی های کش ARP خودشان را به روزرسانی می کنند. از این مرحله به بعد، این دو دستگاه به جای برقراری ارتباط مستقیم با یکدیگر، با مهاجم ارتباط برقرار می کنند. مهاجم هم برای هر کدام از دستگاه ها چنان وانمود می کند که دستگاه مقابل است. به همین دلیل این دو سیستم به هیچ وجه در جریان نخواهند بود که در حال برقراری ارتباط با مهاجم هستند.
6. اکنون مهاجم می تواند بدون اطلاع سیستم ها هر کاری را که می خواهد انجام دهد.
از آنجا که طول آدرس های آی پی نسخه چهار، 32 بیت و طول مک آدرس 48 بیت است بنابراین این آدرس ها دارای طول های متفاوتی بوده و برای شناسایی هر سیستم در شبکه، ترجمه آنها ضروری می باشد. از این رو ایجاد نگاشتی اصولی بین مک آدرس و آدرس آی پی از اهمیت زیادی برخوردار است و ARP باید بتواند این آدرس ها را به یکدیگر تبدیل کند. در حال حاضر نسخه آدرس های IPv4 پرکاربردترین نسخه آدرس های آی پی است. نسخه ای جدید از آدرس های آی پی تحت عنوان نسخه شش یا IPv6 در راه است. به دلیل آنکه پروتکل ARP از امنیت چندانی برخوردار نیست، در آدرس های آی پی نسخه شش از پروتکل جدیدتری با عنوان پروتکل شناسایی همسایه NDPاستفاده شده که امنیت بسیار زیادی دارد و در آن برای بررسی هویت میزبان ها در شبکه از کلیدهای رمزنگاری استفاده می شود.
در رابطه با نقاط ضعف این حمله میتوان گفت، وقتی در یک شبکه ARP Poisoning رخ میدهد ترافیک شبکه بالا میرود و باعث DELAY یا تاخیر می شود. فرض کنید تمام ترافیکی که بین کلاینت ها رد و بدل می شود باید اول از اسنیفر عبور کند یعنی اسنیفر واسط بین کلاینت ها و GATEWAY می شود که باعث پایین آمدن سرعت می شود. از طرفی دیگر باید ARP Cache Entryوجود داشته باشد یعنی اسنیفر برای تولید بسته ARP جعلی به سراغ ARP Cache Table میرود و آن را Update می کند ولی خود اسنیفر نمی تواند یک نسخه Entry در جدول مک آدرس تولید کند یعنی باید از قبل وجود داشته باشد و اسنیفر، آدرس MAC کلاینت هدف را داشته باشد تا اسنیفر بتواند آن را اصلاح کند. همچنین این حمله با استفاده از ARP کار میکند که این پروتکل درون لایه ۲ قرار دارد یعنی برای این کار شما باید درون LAN باشید و بیرون از این Network شما نمی توانید اسنیف کنید.
برای جلوگیری از این حمله ARP spoofing از Dynamic ARP inspection استفاده می شود این مورد می تواند با DHCP Snooping کار کند تا جلوی این حمله را بگیرد. روش های مختلفی برای شناسایی حمله ARP Poisoning وجود دارد. Command Prompt ویندوز، برنامه هایی مانند Snort ، ArpWatch ، ArpAlert ، XArp و غیره قابلیت شناسایی این نوع حملات را دارند. حال که با نحوه شناسایی حمله ARP Poisoning آشنا شدیم، بهتر است از روش هایی برای حفاظت دستگاه و داده های خود در برابر این نوع حملات استفاده کنید.
• استفاده از VPN ، یک روش برای جلوگیری از مورد تهاجم قرار گرفتن توسط حمله هکرها استفاده از VPN است. در حالت عادی، وقتی که به اینترنت متصل می شوید در ابتدا به یک ISP وصل می شوید تا با شبکه جهانی اینترنت ارتباط برقرار کنید اما با استفاده از VPN، یک تونل Encrypted بین شما و سرور VPN برقرار می شود که فعالیت شما را از هکرها مخفی نگاه میدارد. البته VPN ها به دلیل زمان بر بودن عملیات Encryption و Decryption ممکن است سرعت دسترسی آنلاین شما را کم کنند.
• استفاده از Static ARP ، درج رکوردهای ARP به صورت Static می تواند ریسک مورد تهاجم قرار گرفتن را کاهش دهد. اگر در شبکه داخلی شما دو کلاینت اغلب اوقات باهم در ارتباط اند، تنظیم جدول ARP به طور Static برای این دو کلاینت می تواند یک لایه حفاظتی برای در امان ماندن از حملات اضافه کند. روتر های CISCO می توانند تشخیص دهند عمل ARP Poisoning رخ می دهد یا خیر و در صورت رخداد آن، فعالیت آن را از سر گیرند.
• اعتبارسنجی IP ها
در حالت معمول، کلاینت ها تنها از آدرس IP برای تشخیص هویت کلاینت دیگر استفاده می کنند که این عامل باعث می شود کار هکرها برای Spoofing راحت شود. یک راه حل دیگر برای در امان ماندن از حملات ARP Poisoning استفاده از نام کاربری و رمز عبور برای اعتبارسنجی کلاینت ها است. برای ساخت یک سیستم اعتبارسنجی باید آن را در سطح سازمان خود تعریف کنید و به کلاینت های معتبر، نام کاربری و رمز عبور مخصوص بدهید. این تکنیک ساده می تواند یک لایه حفاظتی دیگر به شبکه شما اضافه کند و هکرهایی که میخواهند به شبکه دسترسی غیرمجاز داشته باشند را شناسایی کند.
• فیلتر کردن بسته ها ، این فیلترها بسته هایی که در شبکه ارسال می شوند را آنالیز می کنند و بسته های جعلی و کلاینت هایی که بسته جعلی می فرستند را فیلتر می کنند. Packet Filtering علاوه بر این فیلترها می توانند بسته هایی که در واقع از بیرون آمده است ولی ادعا می کند منشاء داخلی دارند را تشخیص دهند. این امر شانس هکرها برای یک حمله موفقیت آمیز را کاهش می دهد.
• استفاده از امکانات Switch ها و مودم ها، مودم هایی مانند مودم های شرکت DLink قابلیتی برای جلوگیری از حملات ARP Poisoning دارند.