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

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از فریبکاری آرپ)
پرش به: ناوبری، جستجو
یک حمله موفق جعل آرپ به حمله کننده اجازه تغییر مسیریابی در شبکه را می دهد که به حمله مرد میانی منجر خواهد شد.

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

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

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

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

نوشتار اصلی: [[۱]]‎

آرپ پروتکل نگاشت آدرس یک پروتکل نگاشت آدرس هایلایه شبکه به آدرس های لایه پیوند است که به طور گسترده مورد استفاده قرار می گیرد.[۴]

زمانی که یک دیتاگرام آی پی درون شبکه محلی از میزبانی به میزبان دیگر ارسال می شود، آدرس آی پی مقصد باید به آدرس 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) می شود.[نیازمند منبع]

استفاده های مجاز[ویرایش]

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

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

مطالعه بیشتر[ویرایش]

دفاع[ویرایش]

  • 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.

جعل[ویرایش]

بعضی از ابزارهایی که می توان در تشخیص حملات جعل آرپ استفاده نمود:

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. ۲٫۰ ۲٫۱ Ramachandran, Vivek & Nandi, Sukumar (2005). "Detecting ARP Spoofing: An Active Technique". In Jajodia, Suchil & Mazumdar, Chandan. Information systems security: first international conference, ICISS 2005, Kolkata, India, December 19-21, 2005 : proceedings. Birkhauser. p. 239. ISBN 978-3-540-30706-8. 
  3. ۳٫۰ ۳٫۱ ۳٫۲ ۳٫۳ 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. http://technet.microsoft.com/en-us/library/cc940021.aspx
  7. AntiARP
  8. "OpenBSD manpage for CARP (4)". , retrieved 2013-01-04
  9. Simon Horman. "Ultra Monkey: IP Address Takeover". , retrieved 2013-01-04
  10. anti-arpspoof
  11. Antidote
  12. Arp_Antidote
  13. ۱۳٫۰ ۱۳٫۱ XArp
  14. "Seringe - Statically Compiled ARP Poisoning Tool". Retrieved 2011-05-03. 
  15. ۱۵٫۰ ۱۵٫۱ ۱۵٫۲ ۱۵٫۳ ۱۵٫۴ ۱۵٫۵ ۱۵٫۶ ۱۵٫۷ ۱۵٫۸ ۱۵٫۹ "ARP Vulnerabilities: The Complete Documentation". l0T3K. Retrieved 2011-05-03. 
  16. "ابزار سمی کردن کش آرپ برای ویندوز". Retrieved 2012-07-13. 

پیوند به بیرون[ویرایش]