ARP چیست؟
در یک شبکه ی LAN ، سیستم های کامپیوتری و تجهیزات شبکه ها برای ارسال داده هاو برقراری ارتباط با یکدیگر نیاز به دانستن IP وMac Address کامپیوتر طرف مقابل خود را دارند. حال فرض کنید کامپیوتری IP Address کامپیوتر دیگری که میخواهد با آن ارتباط برقرار کند را میداند، ولی Mac Address آن را نمیداند، ابن امر باعث می شود اتصال بین سیستم ها برقرار نشود. بنابراین از پروتکلARP استفاده می کند تا بتواند در هرزمان MAC Address مرتبط با IP Address یک سیستم (HOST) را در اختیار داشته باشد. ( و البته برعکس این عمل نیز صادق است)
- هر Host یک ARP Table دارد که نگاشت های اخیر انجام شده در آن نگهداری می شوند.
- به محلی از حافظه کامپیوتر کهARP Table در آن ذخیره میشودARP Cache گفته میشود .
درصورتیکه یک کامپیوتر Mac Address کامپیوتر مقصد را درARP Cache خود نیابد، یک Packet درخواست تحت عنوان ARP Request که حاوی IP کامپیوتر مورد نظر است، برای کل شبکه ارسال میکند و جواب خود را دریک Packet با عنوان ARP reply دریافت می کند که حاوی MAC address متناظر با آن IP درخواستی است که بلافاصله نتیجه درخواست در ARP Table سیستم جهت استفاده های بعدی ذخیره و یا بروز می شود.
حملهARP Poisoning چگونه صورت میگیرد ؟
ARP poisoning که همچنین به عنوان ARP Spoofing وARP Flooding نیز شناخته میشود برای حمله به شبکه هادر لایه ۳وجهت مقاصد زیر استفاده میشود:
– شنود اطلاعات DATA Sniffing
– تغییر دادن اطلاعات
– از دسترس خارج کردن یک سرویس و یا سیستم از شبکه
متاسفانه نفوذگران با دانش محدود هم قادر به انجام این حمله هستند. در کلARP یک پروتکل قابل اعتماد ومورد نیاز در شبکه است، اما با وجود سادگی و کارآمدی، هیچ روشی برای Authentication یک IP address متناظر با MAC address خود ندارد، بنابراین یکHOST نمی تواند چک کندARP Reply ای که دریافت کرده دقیقا پاسخ همانARP Request ارسال شده توسط اوست یا نه.
همچنین اگر یک Host، بدون ارسال ARP Request، یکARP Reply دریافت کند به آن اعتماد کرده وARP Table خود را با آن اطلاعات بروزمی کند. که این مساله تحت عنوان مسمویتARP یا (ARP Poisoning) شناخته می شود.
هدفARP poisoning ، اختصاص MAC Address نفوذ گر به IP Address مقصد اصلی درخواست شده درARP request است که در نتیجه ترافیک شبکه به جای ارسال به مقصد اصلی به کامپیوتر نفوذگر (Hacker ) ارسال می شود.
در نتیجه نفوذگر با حمله ARP Poisoning ، می تواند یکی از اعمال مخرب زیر را انجام دهد:
گوش دادن به ترافیک، تغییر دیتا و ارسال مجدد در شبکه (Man-In-The-Middle)
- نگاشت چندین IP به Mac یک قربانی ، سرریز کردن یک قربانی با ارسال حجم عظیمی از درخواست های بی مورد و بی استفاده به آن و در نتیجه جلوگیری از ارسال پاسخ آن منبع به درخواست های صحیح (denial of service)
- دزدی Session یک ارتباط برقرار شده بین دوHOST (session hijacking)