فریب‌کاری آرپ

آسیب‌پذیری‌های پروتکل نگاشت آدرس (آرپ)

آرپ پروتکل نگاشت آدرس یک پروتکل نگاشت آدرس هایلایه شبکه به آدرس‌های لایه پیوند است که به‌طور گسترده مورد استفاده قرار می‌گیرد.
زمانی که یک دیتاگرام آی پی درون شبکه محلی از میزبانی به میزبان دیگر ارسال می‌شود، آدرس آی پی مقصد باید به آدرس MAC تبدیل شود تا بتواند از طریق لایه پیوندداده ارسال گردد. وقتی که آدرس آی پی میزبان دیگر معلوم باشد و آدرس MAC آن نیاز باشد، یک بسته انتشاری بر روی شبکه محلی ارسال می‌شود. این بسته به عنوان درخواست آرپ شناخته می‌شود. ماشین مقصد با آی پی مورد نظر در درخواست آرپ، با جواب آرپ پاسخ می دهد که این پاسخ شامل آدرس MAC برای آن آدرس می‌باشد.
آرپ یک پروتکل بدون حالت است. میزبان‌های شبکه بطور خودکار تمامی جواب‌های آرپی را که دریافت می‌کنند، بدون توجه به اینکه درخواست داده باشند یا خیر، آن‌ها را کش می‌کنند. حتی مقادیر آرپی که هنوز منقضی نشده اند، با دریافت آرپ جدید از بین می روند. هیچ تابعی در پروتکل آرپ وجود ندارد که بتوان با استفاده از آن منبع ارسال‌کننده جواب آرپ را احراز هویت نماید. این رفتار یک آسیب‌پذیری است که اجازه می دهد فریب کاری آرپ اتفاق افتد.

مدخل‌های ایستای آرپ

نگاشت‌های آی پی-به-MAC می‌تواند در کش آرپ محلی به صورت ایستا تعریف شده، و سپس میزبان‌ها از تمامی بسته‌های جواب آرپ را صرف نظر نمایند. هرچند مدخل‌های ایستا در صورت مدیریت صحیح توسط سیستم عامل، امنیت کاملی را در مقابل فریب کاری آرپ ارائه می دهند، منجر به تلاش برای پشتیبانی در درجه دوم است، به صورتی که تمام نگاشت‌های آی پی-MAC در شبکه باید به تمامی ماشین‌های دیگر توزیع شود.

نرم‌افزارهای کشف فریب کاری آرپ

نرم‌افزاری که فریب کاری آرپ را کشف می‌کند، اصولاً بر پایه بعضی از فرم‌های گواهی کردن یا چک کردن‌های بینابینی جواب‌های آرپ استوار است. سپس جواب‌های آرپی که معتبر نیستند، بلوکه خواهند شد. این تکنیک‌ها بهتر است به همراه سرور DHCP یکپارچه شود که هر دو آدرس‌های آی پی ایستا و پویا معتبر شوند. ممکن است این توانایی در میزبان‌ها به صورت جداگانه یا در سوئیچ‌های شبکه یا دیگر تجهیزات شبکه پیاده‌سازی شوند. وجود چندین آی پی که دارای یک آدرس MAC مشترک هستند ممکن است نشان دهنده حمله جعل آرپ باشد، هرچند بعضی از موارد چنین استفاده‌ای کاملاً مجاز است. در یک دیدگاه مجهولتر، دستگاهی به جواب‌های آرپ شبکه گوش داده و در صورت تغییر یک مدخل آرپ، پیام‌های ملاحظه‌ای را از طریق رایانامه ارسال می‌کند.

امنیت سیستم عامل

سیستم عاملها به صورت‌های مختلف عمل می‌کنند، به عنوان مثال، لینوکس جوابهای ناخواسته را نادیده می‌گیرد، ولی از سمتی دیگر از درخواست‌های ارسالی مشاهده شده از دیگر ماشین ها برای بروزرسانی کش خود استفاده می نماید. سولاریس فقط بروز رسانی‌هایی را قبول می‌کند که بعد از انقضای زمانی اتفاق افتد. در مایکروسافت ویندوز، مدخل‌های آرپ می‌تواند از طریق مدخل‌های رجیستری مختلفی تنظیم شود: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters, ArpCacheLife, ArpCacheMinReferenceLife, ArpUseEtherSNAP, ArpTRSingleRoute, ArpAlwaysSourceRoute, ArpRetryCount.
AntiARP نیز عمل جلوگیری از فریب کاری آرپ در سیستم عامل ویندوز در سطح کرنل انجام می‌دهد. ArpStar ماژولی برای لینوکس جهت کرنل 2.6 و روترهای Linksys است، که بسته‌هایی که نگاشت را تهدید می‌کنند را حذف می‌کند و دارای گزینه سمی کردن/التیام دادن است.
ساده‌ترین شکل گواهی کردن، استفاده از مدخل‌های فقط خواندنی و ایستا در سرویس‌های بحرانی برای کش کردن در یک میزبان می‌باشد. این امر فقط می‌تواند از حملات ساده جلوگیری کرده و قابل گسترش در شبکه‌های بزرگ نیست، چرا که نگاشت باید به ازای هر ماشین داخل شبکه انجام می‌گیرد که منجر به ایجاد یک کش آرپ (n*n) می‌شود.

استفاده‌های مجاز

تکنیک‌هایی در جعل آرپ استفاده می‌شود می‌تواند برای پیاده‌سازی تکرارهای سرویس‌های شبکه نیز مورد استفاده قرار گیرد. برای مثال، برخی نرم‌افزارها به یک سرور پشتیبان اجازه ایجاد درخواست‌های آرپ بلاعوض را می دهند، بدین منظور که سرورهای خراب را پوشش داده و به صورت شفاف تکرار را ارائه دهند.
جعل آرپ معمولاً توسط توسعه دهندگان برای ردیابی ترافیک آی پی بین دو میزبان زمانی که از یک سوئیچ استفاده می‌شود، به کار گرفته می‌شود.