حمله مرد میانی (Man In The Middle) چیست؟

Man in the Middle یا MITM حمله‌ای است که در آن مهاجم برای شنود یا جعل هویت یکی از طرفین، خود را بین کاربر و برنامه قرار می‌دهد.

5 min read
  • مهاجم
  • کاربر
  • برنامه
  • سایت
  • انجام
  • اطلاعات
  • رهگیری
  • ارسال
حمله مرد میانی (Man In The Middle) چیست؟

خلاصه تخصصی مقاله

Man in the Middle یا MITM حمله‌ای است که در آن مهاجم برای شنود یا جعل هویت یکی از طرفین، خود را بین کاربر و برنامه قرار می‌دهد.

موضوعات اصلی: مهاجم، کاربر، برنامه، سایت، انجام، اطلاعات

حمله Man in The Middle، در واقع یک اصطلاحی کلی برای زمانی است که مهاجم خود را بین کاربر و برنامه قرار می‌دهد؛ ممکن است یا برای شنود باشد و یا برای جعل هویت یکی از طرفین. به صورت کلی این طور به نظر می‌رسد که یک تبادل اطلاعات عادی در جریان است.

منظور از حملات MITM یا Man In The Middle

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

به طور کلی، اگر بخواهیم حمله man in the middle یا MITM را تشبیه کنیم، باید بگوییم مانند این است که یک پستچی صورتحساب بانکی شما را باز کند، مشخصات حساب خود را بنویسد، دوباره در پاکت نامه را بسته و آن را تحویل دهد.

حمله Man in the middle - ستاک فناوری ویرا

فرایند حمله Man in the Middle یا MITM

اجرای موفقیت آمیز MITM دارای دو مرحله است

Interception (رهگیری)

در مرحله اول، ترافیک کاربر، از طریق شبکه‌ی مهاجم قبل از این که به مقصد خود برسد، رهگیری می‌شود.

رایج‌ترین و ساده‌ترین روش برای انجام این کارحمله غیر فعال (passive)است که طی آن WiFi hotspots توسط مهاجم در دسترس عموم قرار می‌گیرد. معمولا به روشی متناسب با مکان آنها نامگذاری شده و هیچ پسوردی ندارند. همین که قربانی به این hotspot کانکت شود، مهاجم موفق به مشاهده کامل تمامی اطلاعات کاربر می‌گردد.

مهاجمینی که تمایل به رویکردهای فعال جهت رهگیری داشته باشند، یکی از روش‌های زیر را اجرا می‌کنند

  • IP spoofingدر این روش، مهاجم با تغییر دادن packet headers در آدرس‌های IP، خود را به جای یک برنامه جا می‌زند. در نتیجه، کاربرانی که در تلاش هستند تا به URL برنامه مورد نظر کانکت شوند، به وب سایت مهاجم هدایت می‌گردند.
  • ARP spoofingاین روش، لینک کردن آدرس MAC یک مهاجم با آدرس IP یک کاربر قانونی بر روی یکشبکه Local area یا LANبا استفاده از پیام‌های جعلیARPمی‌باشد. در نتیجه، داده‌ها به جای اینکه به آدرس آی پی host ارسال شوند، به آدرس مهاجم ارسال می‌شوند.
  • DNS spoofingکه به آن DNS cache poisoning نیز گفته می‌شود، شامل نفوذ به یکسرور DNSو ایجاد تغییر در آدرس وب سایت است. در نتیجه کاربرانی که قصد دسترسی به سایت را دارند، با تغییر DNS record، به سایت مهاجم هدایت می‌شوند.
Decryption (رمزگشایی)

پس از رهگیری، هرگونه ترافیک دو طرفه‌یSSLمی‌بایست بدون هشدار به کاربر یا برنامه، رمزگشایی گردد. چندین روش برای انجام این کار وجود دارد

  • HTTPS spoofingهنگامی که یک درخواست اولیه مبنی بر کانکت شدن با یک سایت ایمن انجام شد، یک گواهی جعلی به مرورگر قربانی ارسال می‌شود که اثر انگشت دیجیتالی مرتبط با برنامه به خطر افتاده را با خود به همراه دارد که مرورگر آن را با توجه به لیست موجود از سایت‌های معتبر، تایید می‌کند.

سپس مهاجم قادر به دسترسی به هر داده‌ای که توسط قربانی وارد شده است، می‌باشد؛ حتی اطلاعاتی که قبل از ورود مهاجم وارد شده است.

  • SSL BEATSآسیب‌پذیری TLS نسخه 1.0 را در SSL مورد هدف خود قرار می‌دهد. حال، کامپیوتر قربانی توسط JavaScript های مخرب، آلوده می‌شود و کوکی‌های رمزگذاری شده که توسط یک برنامه تحت وب ارسال شده را رهگیری می‌نماید.

سپس cipher block chaining برنامه یا CBC در معرض خطر رمزگشایی کوکی‌ها و نشانه‌های احراز هویت قرار می‌گیرند.

  • SSL hijackingزمانی اتفاق می‌افتد که یک مهاجم به هنگام کار باTCPموفق به انتقال کلیدهای جعلی احراز هویت در بخش کاربر و برنامه گردد. تنظیمات آن زمانی انجام می‌شود که به نظر می‌رسد کانکشن ایمن است، اما در حقیقت، man in the middle در حال کنترل کل فرایند است.
  • SSL strippingکانکشن را با رهگیری احراز هویت TLS که توسط برنامه به کاربر ارسال شده، از HTTPS به HTTP تغییر می‌دهد. مهاجم ضمن حفظ ایمنی برنامه، نسخه‌ای رمزگذاری نشده از سایت اپلیکشین را برای کاربر ارسال می‌کند. در این حال، کل داده‌های کاربر برای مهاجم قابل مشاهده است.

پیشگیری از حملات مرد میانی

مسدود کردن حملات MITM به انجام چندین مرحله عملی از طرف کاربر و همچنین ترکیبی از روش‌های رمزگذاری و تاییدیه (verification) ، نیاز دارد.

روش‌هایی که باید توسط کاربران انجام شود، شامل مراحل زیر است

  • خودداری از اتصال به وای‌فای‌های بدون پسورد
  • توجه به نوتیفیکیشن‌های مرورگر که ممکن است یک وب سایت را ناامن شناسایی کنند.
  • عدم استفاده از شبکه‌های عمومی (مانند کافی شاپ یا هتل) به هنگام انجام عملیات مهم

در مورد اپراتورهای مرورگر می‌توان گفت پروتکل‌های ارتباطی ایمن، مانند TLS و HTTPS با انجام رمزگذاری و احراز هویت قوی، نقش موثری در کاهش حملات دارند. در ضمن از رهگیری ترافیک سایت، جلوگیری به عمل می‌آید و رمزگشایی داده‌های حساس و مهم را مسدود می‌نمایند.

استفاده از SSL/TLS به عنوان بهترین روش جهت ایمن نگه داشتن تمامی صفحات سایت؛ نه فقط صفحاتی که برای ورود نیاز به لاگین شدن دارند، به شمار می‌رود. در ضمن احتمال سرقت کوکی‌های مرورگر یک کاربر که در حال بازدید از یک سایت ناامن است را کاهش می‌دهد.

برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.