آموزشگاه شبکه و امنیت ایفل

اولین آموزشگاه تضمین کننده اشتغال دانشجویان در ایران

ایفل نت

ARP Spoofing چیست؟

ARP Spoofing یکی از حملات شبکه است که با ایجاد نگاشت جعلی بین آدرس‌های IP و MAC، ترافیک را به سمت مهاجم هدایت می‌کند. در این مقاله با نحوه عملکرد ARP Spoofing، ارتباط آن با حمله MITM و روش‌های مقابله با آن آشنا می‌شوید.


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

مهاجم می‌تواند از طریق همین فرآیند پاسخ مقصد را هم دریافت کند. از این روش در حملاتی مانند Man In The Middle  استفاده کرد.


پروتکل ARP چیست؟


پروتکل ARP یا Address Resolution Protocol یکی از پروتکل‌های شبکه است که برای یافتن آدرس MAC متناظر با یک آدرس IP در شبکه محلی استفاده می‌شود.


MAC Address را بهتر بشناسید
برای درک بهتر عملکرد ARP، با ساختار و کاربرد MAC Address در شبکه آشنا شوید.
مطالعه مقاله MAC Address

در شبکه‌های اترنت (Ethernet)، برای انتقال داده از یک دستگاه به دستگاه دیگر از فریم‌هایی استفاده می‌شود که براساس آدرس‌های MAC کار می‌کنند. اما اغلب دستگاه‌ها فقط آدرس IP مقصد را دارند و آدرس MAC آن را ندارند. دستگاه‌ها برای اینکه بتوانند فریم‌ها را به مقصد برسانند، ابتدا باید آدرس MAC مربوط به آدرس IP مقصد را پیدا کنند. وظیفه‌ی پروتکل ARP نگاشت آدرس IP به آدرس MAC در شبکه‌های محلی است.

پروتکل ARP زمانی وارد عمل می‌شود که آدرس IP مقصد وجود دارد اما آدرس MAC باید پیدا شود. سیستم مبدا پیام ARP Request را در شبکه Broadcast می‌کند. دستگاه مقصد در پیامی با عنوان ARP Reply آدرس MAC رابط شبکه خود را ارسال می‌کند. کامپیوتر مبدا این اطلاعات را در ARP Cache خود ذخیره می‌کند.
برای مثال، کامپیوتر مبدا می‌خواهد بسته‌ای را برای روتر با آدرس IP 192.168.1.1 ارسال کند. کامپیوتر پیام ARP Request را ارسال می‌کند. روتر مقصد در پیام ARP Reply اعلام می‌کند که آدرس MAC  خود AA:AA:AA:AA:AA:AA  است. کامپیوتر مبدا این اطلاعات را در ARP Cache خود ذخیره می‌کند. پس هر زمان کامپیوتر مبدا خواست بسته‌ای به روتر مقصد با آدرس IP 192.168.1.1 ارسال کند، آن را برای MAC AA:AA:AA:AA:AA:AA ارسال می‌کند.



ARP Spoofing چیست؟


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


ارتباط بین ARP Spoofing و Man-In-The-Middle


اصطلاح Man-In-The-Middle (MITM) زمانی به کار می‌رود که مهاجم بین دو دستگاه، دو کاربر، کلاینت و سرور و...  قرار می‌گیرد. هدف از این عمل می‌تواند شنود، دستکاری یا رهگیری ترافیک و یا جعل هویت یکی از طرفین باشد.
ARP Spoofing یکی از روش‌هایی است که می‌تواند مهاجم را در موقعیت MITM قرار دهد و مهاجم می‌تواند ترافیک میان دو طرف را از مسیر خود عبور دهد.

Man-In-The-Middle

راه‌های مقابله با ARP Spoofing


برای مقابله با ARP Spoofing راه‌هایی وجود دارد که مهمترین آن‌ها Dynamic ARP Inspection  یا DAI است.


Dynamic ARP Inspection یا DAI


در DAI، سوئیچ ARP Request و ARP Replyهای ورودی را بررسی می‌کند و نگاشت IP و MAC را با اطلاعات معتبر مقایسه می‌کند. اگر نگاشت معتبر نباشد،   ARPرا Drop می‌کند. در نتیجه مهاجم نمی‌تواند به‌‌سادگی یک نگاشت جعلی وارد شبکه کند.


DHCP Snooping


وظیفه‌اش این است که پیام‌های DHCP را از منابع غیرمعتبر فیلتر کند و یک DHCP Snooping Binding Database شامل اطلاعاتی مثل IP، MAC و پورت مربوط به کلاینت ایجاد کند. این اطلاعات بعداً می‌تواند در DAI برای تشخیص ARP جعلی استفاده شود. از DHCP Snooping در کنار DAI استفاده می‌شود و به‌تنهایی راهکار مقابله با ARP Spoofing نیست.


Static ARP



در شبکه‌های کوچک و تحت شرایط خاص می‌توان برای دستگاه‌های مشخص، نگاشت IP و MAC را به‌صورت Static تعریف کرد تا مهاجم نتواند با یک ARP جعلی آن را تغییر دهد. ولی این روش برای شبکه‌های بزرگ چندان عملی نیست؛ چون با تغییر دستگاه‌ها یا MAC Addressها باید اطلاعات به‌صورت دستی مدیریت شود.

در نهایت
ARP Spoofing از یک ضعف در سازوکار اعتماد ARP استفاده می‌کند و می‌تواند ترافیک را از مسیر مهاجم عبور دهد؛ بنابراین استفاده از مکانیزم‌هایی برای اعتبارسنجی نگاشت‌های IP و MAC، به‌خصوص در شبکه‌های سازمانی، اهمیت دارد.



 
مسیر یادگیری شبکه را ادامه دهید
مشاهده دوره Network+