Posts

مکانیزم (Dynamic ARP Inspection (DAI و نحوی جلوگیری از حملات ARP spoofing و ARP poisoning

پروتکل ARP برای تبدیل آدرس IP به آدرس MAC مورد استفاده قرار می گیرد به طور مثال ، Host B می خواهد اطلاعاتی را برای Host A ارسال کند اما MAC آدرس Host A را ندارد به منظور پیدا کردن MAC آدرس Host A یک بسته Broadcast برای تمام دستگاه های آن broadcast domain ارسال می کند تا MAC آدرس مربوط به IP آدرس Host A را بدست آورد. تمام دستگاه های این broadcast domain این بسته را دریافت می کنند و Host A به آن پاسخ می دهد و MAC آدرس خود را اعلام می کند.
احتمال حمله ARP spoofing و ARP cache poisoning وجود دارد چون این امکان وجود دارد که به جای دستگاه مورد نظر مهاجم پاسخ ARP را با اطلاعات مورد نظر خود ارسال کند یا حتی ARP اجازه ارسال gratuitous ARP را می دهد که در آن MAC آدرس دستگاه اعلام می شود بدون اینکه درخواستی برای آن صادر شده باشد. بعد از این حمله ، تمام ترافیک دستگاهی که به آن حمله شده است از طریق دستگاه مهاجم جریان پیدا می کند یعنی ابتدا ترافیک به دست دستگاه مهاجم می رسد سپس از طریق دستگاه مهاجم به روتر ، دستگاه و … ارسال می شود.
حمله ARP cache poisoning می تواند ARP caches دستگاه های متصل به subnet مثل hosts ، switches و routers را آلوده کند و به این شکل ترافیک به یک دستگاه دیگر در subnet هدایت می شود. در تصویر زیر یک نمونه از این حمله نمایش داده شده است.

Image

Host A و Host B و Host C به اینترفیس های سوئیچ متصل هستند و همه آنها در یک subnet قرار دارند. IP و MAC آدرس آنها در پرانتز مشخص شده است به طور مثال Host A از IP آدرس IA و MAC آدرس MA استفاده می کند. زمانی که Host A بخواهد با Host B در ارتباط برقرار کند یک درخواست ARP برای MAC آدرس مربوط به IP آدرس IB به صورت Broadcast ارسال می کند. زمانی که سوئیچ و Host B این درخواست ARP را دریافت می کنند IP آدرس IA و MAC آدرس MA را به ARP cache خود اضافه می کنند و در اینجا IP آدرس IA به MAC آدرس MA منتسب می شود. زمانی که Host B پاسخ می دهد سوئیچ و Host A به ARP cache خود IP آدرس IB و MAC آدرس MB را اضافه می کنند.
Host C می تواند با ارسال پاسخ ARP جعلی ARP caches سوئیچ را برای Host A و Host B آلوده کند و در این پاسخ IP آدرس IA یا IB به MAC ادرس MC منتسب می شود. دستگاهی که ARP cache آن آلوده شده است از MAC آدرس MC برای ارتباط با IP های IA و IB استفاده می کند. به معناست که Host C جریان ترافیک را تغییر داده است Host C می داند که MAC آدرس مرتبط با IP آدرس های IA و IB چیست و می تواند این ترافیک را به سمت این Host ها با استفاده از MAC آدرس درست هدایت کند. به این شکل Host C خود را در بین جریان ترافیک انتقالی بین Host A و Host B قرار داده است و به عنوان یک حمله man in the middle شناخته می شود.
DAI یک ویژگی امنیتی است که اعتبار بسته های ARP را در شبکه کنترل می کند. DAI بسته های ARP که انتصاب IP به MAC آنها مشکل دارد را drop می کند. این قابلیت باعث می شود که شبکه در برابر برخی از حملات man-in-the-middle محافظت شود.
DAI اعتبار بسته های ARP را براساس دیتابیس خود مورد بررسی قرار می دهد. که این دیتابیس DHCP Snooping می باشد. اگر قابلیت DHCP snooping فعال باشد این دیتابیس تشکیل می شود. اگر بسته ARP روی اینترفیس trusted دریافت شود بدون بررسی آنرا ارسال خواهد کرد اما روی اینترفیس ها untrusted تنها در صورتی که این بسته معتبر باشد ارسال خواهد شد.
در مثال زیر تنظمیات لازم برای اجرای DAI برای کاهش اثرات این حملات نمایش داده شده است.
فعال کردن DAI برای VLAN 10 :

SW(config)#ip arp inspection vlan 10

قرار دادن اینترفیس در حالت trust :

SW(config)#interface fastethernet 0/1
SW(config-if)#ip arp inspection trust

بررسی و کنترل تنظیمات :

SW#show ip arp inspection vlan 10
SW#show ip arp inspection interfaces

حمله Man in the Middle چیست ؟

حمله man-in-the-middle (که با نام های MITM ، MitM ، MIM یا MITMA نیز شناخته می شود) یکی از خطرناکترین حملات در شبکه های کامپیوتری می باشد. دلیل این میزان اهمیت این حمله این است که در اکثر مواقع کاربر متوجه نمی شود که مورد حمله قرار گرفته است و اطلاعات او مورد سواستفاده قرار گرفته است. Man-in-the-Middle حمله ای است که مهاجم در بین راه ارتباط دو دستگاه با مقاصدی مانند جمع آوری اطلاعات ، دستکاری اطلاعاتی که بین این دو دستگاه در حال مبادله است و … قرار می گیرد. این حمله می تواند در لایه دو یا سه اتفاق بیافتد. هدف اصلی این حملات استراق سمع است بنابراین مهاجم می تواند کل ترافیک در حال انتقال را ببیند.اگر در لایه دو اتفاق بیافتد مهاجم آدرس MAC در لایه دو را جعل می کند و سعی می کند دستگاه های موجود در شبکه LAN باور کنند که آدرس لایه دو مهاجم ، آدرس لایه دو default gateway است. به این عمل ARP poisoning گفته می شود. فریم هایی که قرار است به default gateway ارسال شوند توسط سوئیچ براساس آدرس لایه دو به مهاجم به جای default gateway ارسال می شوند. بعد از اینکه فریم ها دست مهاجم رسید و استفاده خود را از آنها کرد مهاجم می تواند فریم ها را به مقصد درست آنها ارسال کند درنتیجه کلاینت ارتباط مورد نظر خودش را با مقصد دارد و در این میان مهاجم کل اطلاعات مبادله شده بین کلاینت و مقصدش را می بینید بدون اینکه کلاینت از این اتفاق باخبر شود. برای کاهش این Risk باید از تکنیک هایی مانند (dynamic Address Resolution Protocol (ARP) inspection (DAI در سوئیچ استفاده کنید تا جلوی جعل آدرس لایه دو گرفته شود.

Image

همچنین مهاجم می تواند با قرار دادن یک سوئیچ در شبکه و تنظیم (Spanning Tree Protocol (STP در آن باعث شود که این سوئیچ تبدیل root switch شود و به این صورت تمام ترافیک هایی که نیاز به عبور از root switch را دارند را ببیند و به این شکل یک حمله را پایه ریزی کند. شما می توانید این Risk را با تکنیک هایی مانند root guard و سایر روش های کنترلی spanning-tree که در فصل های بعدی مورد بحث قرار خواهد گرفت.حمله man-in-the-middle می تواند در لایه سه با قرار دادن یک روتر غیرمجاز در شبکه و فریب دادن سایر روترها که این یک روتر جدید است و دارای بهترین مسیر است انجام شود. این باعث می شود ترافیک شبکه از طریق این روتر غیر مجاز جریان پیدا کند و این اجازه به مهاجم داده می شود که دیتا شبکه را سرقت کند. شما می توانید با استفاده از تکنیک های مختلفی مانند استفاده از authentication برای پروتکل های مسیریابی یا استفاده از فیلترینگ برای جلوگیری از ارسال یا دریافت update های مرتبط با مسیریابی روی اینترفیس های خاص ، این حملات را کاهش دهید.

یکی از بهترین کارهایی که برای حفاظت از اطلاعات در حال انتقال می توان انجام داد استفاده از رمزنگاری برای حفظ محرمانگی اطلاعات در زمان انتقال است. اگر از پروتکل های plaintext مانند Telnet یا HTTP استفاده شود و یک مهاجم تدارک یک حمله man-in-the-middle را ببیند چون ترافیک در حال انتقال به صورت cleartext است درنتیجه مهاجم می تواند به اطلاعات موجود در بسته ها دسترسی پیدا کند درنتیجه هر اطلاعاتی از ما ، که از که طریق دستگاه مهاجم عبور کند توسط او دیده خواهد شد که این اطلاعات می تواند شامل یوزر و پسوردهای ما باشد. راه حل استفاده از پروتکل هایی است که دارای مکانیزم های رمزنگاری هستند مانند (Secure Shell (SSH و (Hypertext Transfer Protocol Secure (HTTPS و همچنین می توان از VPN برای محافظت از دیتا حساس که به صورت cleartext هستند استفاده کرد.