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

مسیریابی در شبکه را می‌دهد که به حمله مرد میانی منجر خواهد شد.
فریبکاری آرپ یا جعل آرپ (Arp spoofing) تکنیکی است که در آن حمله‌کننده پیام‌های جعلی آرپ را به شبکه محلی ارسال می‌کند. در اصل، هدف قرار دادن آدرس مک (ابهام‌زدایی) حمله‌کننده به همراه آدرس آی پی میزبانی دیگر (همچون درگاه پیش فرض) است، که باعث می‌شود به جای اینکه هر ترافیکی که قرار است به آن میزبان ارسال شود، به حمله‌کننده ارسال گردد.
جعل آرپ به حمله‌کننده این امکان را می‌دهد که فریم‌های داده را بر روی شبکه محلی از هم جدا کند، ترافیک را تغییر دهد، یا کل ترافیک را متوقف نماید. اغلب این حمله به عنوان ورودی دیگر حملات استفاده می‌شود. حملاتی نظیر محروم‌سازی از سرویس، مرد میانی، یا استراق نشست.
این حمله فقط در شبکه‌هایی قابل استفاده است که از آرپ استفاده می‌کنند و به سگمنت‌های محلی محدود شده‌اند.
آسیب‌پذیری‌های پروتکل نگاشت آدرس (آرپ)
آرپ پروتکل نگاشت آدرس یک پروتکل نگاشت آدرس هایلایه شبکه به آدرس‌های لایه پیوند است که به‌طور گسترده مورد استفاده قرار می‌گیرد.
زمانی که یک دیتاگرام آی پی درون شبکه محلی از میزبانی به میزبان دیگر ارسال می‌شود، آدرس آی پی مقصد باید به آدرس MAC تبدیل شود تا بتواند از طریق لایه پیوندداده ارسال گردد. وقتی که آدرس آی پی میزبان دیگر معلوم باشد و آدرس 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) می‌شود.
استفاده‌های مجاز
تکنیک‌هایی در جعل آرپ استفاده می‌شود می‌تواند برای پیاده‌سازی تکرارهای سرویس‌های شبکه نیز مورد استفاده قرار گیرد. برای مثال، برخی نرم‌افزارها به یک سرور پشتیبان اجازه ایجاد درخواست‌های آرپ بلاعوض را می‌دهند، بدین منظور که سرورهای خراب را پوشش داده و به صورت شفاف تکرار را ارائه دهند.
جعل آرپ معمولا توسط توسعه دهندگان برای ردیابی ترافیک آی پی بین دو میزبان زمانی که از یک سوئیچ استفاده می‌شود، به کار گرفته می‌شود.
مطالعه بیشتر
جعل سامانه نام دامنه
دفاع
anti-arpspoof
Arpwatc
: Portable handler daemon for securing ARP against spoofing, cache poisoning or poison routing attacks in static, dynamic and hybrid networks.
Antidote : Linux daemon, monitors mappings, unusually large number of ARP packets.
Arp_Antidote : Linux Kernel Patch for 2.4.18 - 2.4.20, watches mappings, can define action to take when.
Arpalert: Predefined list of allowed MAC addresses, alert if MAC that is not in list.
Arpwatch/ArpwatchNG/Winarpwatch: Keep mappings of IP-MAC pairs, report changes via Syslog, Email.
Prelude IDS: ArpSpoof plugin, basic checks on addresses.
Snort: Snort preprocessor Arpspoof, performs basic checks on addresses
XArp : Advanced ARP spoofing detection, active probing and passive checks. Two user interfaces: normal view with predefined security levels, pro view with per-interface configuration of detection modules and active validation. Windows and Linux, GUI-based.
جعل
بعضی از ابزارهایی که می‌توان در تشخیص حملات جعل آرپ استفاده نمود:
Arpspoof (بخشی از مجموعه ابزارهای )
Arpoison
Cain-Abel
Seringe
ARP-FILLUP -V0.1
arp-sk -v0.0.15
ARPOc -v1.13
arpalert -v0.3.2
arping -v2.04
arpmitm -v0.2
arpoison -v0.5
ArpSpyX -v1.1
ArpToXin -v 1.0
SwitchSniffer
APE - ARP Poisoning Engine
Name
OS
GUI
Free
Protection
Per interface
Active/passive
Agnitum Outpost Firewall
Windows
passive
AntiARP
Windows
active+passive
Antidote
Linux
passive
Arp_Antidote
Linux
passive
Arpalert
Linux
passive
Linux/Mac/BSD
active+passive
ArpGuard
Mac
active+passive
ArpStar
Linux
passive
Linux
passive
ArpwatchNG
Linux
passive
Colasoft Capsa
Windows
no detection, only analysis with manual inspection
Prelude IDS
remarp
Linux
passive
Snort
Windows/Linux
passive
Winarpwatch
Windows
passive
XArp
Windows, Linux
(+pro version)
active + passive
Seconfig XP
Windows 2000/XP/2003 only
only activates protection built-in some versions of Windows