یک حمله موفق جعل آرپ به حمله‌کننده اجازه تغییر مسیریابی در شبکه را می دهد که به حمله مرد میانی منجر خواهد شد.
**فریبکاری آرپ** یا **جعل آرپ** (Arp spoofing) تکنیکی است که در آن حمله‌کننده پیام‌های جعلی آرپ را به شبکه محلی ارسال می‌کند. در اصل، هدف قرار دادن آدرس مک حمله‌کننده به همراه آدرس آی پی میزبانی دیگر (همچون درگاه پیش فرض) است، که باعث می‌شود به جای اینکه هر ترافیکی که قرار است به آن میزبان ارسال شود، به حمله‌کننده ارسال گردد.

جعل آرپ به حمله‌کننده این امکان را می دهد که فریم‌های داده را بر روی شبکه محلی از هم جدا کند، ترافیک را تغییر دهد، یا کل ترافیک را متوقف نماید. اغلب این حمله به عنوان ورودی دیگر حملات استفاده می‌شود. حملاتی نظیر محروم‌سازی از سرویس، مرد میانی، یا استراق نشست.

این حمله فقط در شبکه‌هایی قابل استفاده است که از آرپ استفاده می‌کنند و به سگمنت‌های محلی محدود شده‌اند.

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

مقالهٔ اصلی: http://en.wikipedia.org/wiki/Address\_Resolution\_Protocol
آرپ پروتکل نگاشت آدرس یک پروتکل نگاشت آدرس هایلایه شبکه به آدرس‌های لایه پیوند است که به‌طور گسترده مورد استفاده قرار می‌گیرد.

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

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

آناتومی حمله جعل آرپ
--------------------

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

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

1. بررسی بسته‌ها و فرستادن ترافیک به درگاه پیش‌فرض (حائل بودن)
2. تغییر دادن داده‌ها قبل از ارسال (حمله مرد میانی)
3. انجام حمله محروم‌سازی از سرویس با استفاده از حذف کردن بعضی یا تمامی بسته‌ها در شبکه

دفاع‌ها
-------

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

نگاشت‌های آی پی-به-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) می‌شود.[]

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

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

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

مطالعه بیشتر
------------

* جعل سامانه نام دامنه
* جعل آدرس آی پی
* MAC جعل آدرس

### دفاع

* anti-arpspoof
* "Arpwatch".
* ArpON: 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 (بخشی از مجموعه ابزارهای DSnif)
* Arpoison
* Ettercap
* 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 |
| ArpON | Linux/Mac/BSD | نه | آری | آری | آری | active+passive |
| ArpGuard | Mac | آری | نه | آری | آری | active+passive |
| ArpStar | Linux | نه | آری | آری | ***؟*** | passive |
| Arpwatch | 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) | آری (Linux, pro) | آری | active + passive |
| Seconfig XP | Windows 2000/XP/2003 only | آری | آری | آری | نه | only activates protection built-in some versions of Windows |

منابع
-----

1. ↑  Also known as **ARP cache poisoning** or **ARP poison routing**(APR)
2. 1 2  Ramachandran, Vivek & Nandi, Sukumar (2005). "Detecting ARP Spoofing: An Active Technique". *Information systems security: first international conference, ICISS 2005, Kolkata, India, December 19-21, 2005 : proceedings*. Birkhauser. p. 239. ISBN 978-3-540-30706-8. `{{cite book}}`: Unknown parameter `|editors=` ignored (`|editor=` suggested) (help)نگهداری یادکرد:استفاده از پارامتر نویسندگان (link)
3. 1 2 3 4  Lockhart, Andrew (2007). *Network security hacks*. O'Reilly. p. 184. ISBN 978-0-596-52763-1.
4. ↑  ARP was defined by RFC 826 in 1982.
5. ↑  Lockhart, Andrew (2007). *Network security hacks*. O'Reilly. p. 186. ISBN 978-0-596-52763-1.
6. ↑
7. ↑  «AntiARP». بایگانی‌شده از اصلی در ۶ ژوئن ۲۰۱۱. دریافت‌شده در ۲۰ ژانویه ۲۰۱۳.
8. ↑  "OpenBSD manpage for CARP (4)". Archived from the original on 22 April 2011. Retrieved 20 January 2013. retrieved 2013-01-04
9. ↑  Simon Horman. "Ultra Monkey: IP Address Takeover". Archived from the original on 18 November 2012. Retrieved 20 January 2013. retrieved 2013-01-04
10. ↑  «anti-arpspoof». بایگانی‌شده از اصلی در ۳۱ اوت ۲۰۰۸. دریافت‌شده در ۲۰ ژانویه ۲۰۱۳.
11. ↑  Antidote
12. ↑  «Arp\_Antidote». بایگانی‌شده از اصلی در ۱۴ ژانویه ۲۰۱۲. دریافت‌شده در ۲۰ ژانویه ۲۰۱۳.
13. 1 2  XArp
14. ↑  "Seringe - Statically Compiled ARP Poisoning Tool". Retrieved 2011-05-03.
15. 1 2 3 4 5 6 7 8 9 10  "ARP Vulnerabilities: The Complete Documentation". l0T3K. Archived from the original on 5 March 2011. Retrieved 2011-05-03.
16. ↑  "ابزار سمی کردن کش آرپ برای ویندوز". Archived from the original on 9 July 2012. Retrieved 2012-07-13.

پیوند به بیرون
--------------

* Steve Gibson (2005-12-11). "ARP Cache Poisoning". GRC. `{{cite web}}`: External link in ``|publisher=`` (help)