حمله 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 در سوئیچ استفاده کنید تا جلوی جعل آدرس لایه دو گرفته شود.
همچنین مهاجم می تواند با قرار دادن یک سوئیچ در شبکه و تنظیم (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 هستند استفاده کرد.