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

 

هدف از حمله، سرقت اطلاعات شخصی مانند اعتبار ورود به سیستم، جزئیات حساب و شماره کارت اعتباری است. قربانی این حملات معمولاً کاربران برنامه‌های مالی، مشاغل SaaS، سایت‌های تجارت الکترونیک و سایر وب سایت‌هایی هستند که ارائه اعتبار برای ورود به سیستم در آن‌ها ضروری است.

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

علاوه بر این، می‌توان از آن برای به دست آوردن جای پایی در یک محیط امن در طول مرحله نفوذ برای یک حمله تهدید مداوم پیشرفته (APT) استفاده کرد.

به طور کلی، حمله MITM معادل این است که یک پستچی صورت حساب بانکی شما را باز می‌کند، جزئیات حساب شما را می‌نویسد و سپس پاکت را دوباره مهر نموده و آن را به درب منزل شما تحویل می‌دهد.

در شکل زیر، نمونه‌ای از حمله Man In The Middle نشان داده شده است.

 

روند حمله MITM

اجرای موفق MITM دارای دو مرحله مجزا است: استراق سمع و رمزگشایی.

 

استراق سمع

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

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

مهاجمانی که مایل به اتخاذ رویکرد فعال‌تری برای استراق سمع هستند، ممکن است یکی از حملات زیر را انجام دهند:

IP spoofing (جعل IP): شامل یک مهاجم است که با تغییر هدر بسته‌ها در یک آدرس IP، خود را به عنوان یک برنامه کاربردی پنهان می‌کند. در نتیجه، کاربرانی که تلاش می‌نمایند به یک URL متصل به برنامه دسترسی پیدا کنند، به وب سایت مهاجم فرستاده می‌شوند.

ARP spoofing (جعل ARP): فرآیند پیوند دادن آدرس MAC مهاجم با آدرس IP یک کاربر قانونی در یک شبکه محلی با استفاده از پیام‌های ARP جعلی است. در نتیجه، داده‌های ارسال شده توسط کاربر به آدرس IP میزبان برای مهاجم ارسال می‌شود.

DNS spoofing (جعل DNS): به عنوان DNS cache poisoning نیز شناخته می‌شود و شامل نفوذ به سرور DNS و تغییر رکورد آدرس وب سایت است. در نتیجه، کاربرانی که تلاش می‌نمایند تا به سایت دسترسی پیدا کنند، توسط رکورد DNS تغییر یافته به سایت مهاجم فرستاده می‌شوند.

 

رمزگشایی

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

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

SSL BEAST (سوء استفاده مرورگر در برابر SSL/TLS): آسیب‌پذیری TLS نسخه 1.0 در SSL را هدف قرار می‌دهد. در اینجا، رایانه قربانی به جاوا اسکریپت مخرب آلوده می‌شود که کوکی‌های رمزگذاری شده ارسال شده توسط یک برنامه وب را شنود می‌نماید. سپس زنجیره بلوک رمز برنامه (CBC) قرارداد می‌شود تا کوکی‌ها و توکن‌های احراز هویت آن رمزگشایی شود.

SSL hijacking (ربوده شدن SSL): زمانی اتفاق می‌افتد که مهاجم کلیدهای احراز هویت جعلی را به کاربر و برنامه در طول یک TCP handshake ارسال می‌کند. اگر چه به نظر می‌رسد اتصال امنی تنظیم شده است؛ ولیکن در واقع، مهاجم به عنوان مردی در میانه کل نشست را کنترل می‌نماید.

SSL stripping (حذف SSL): یک اتصال HTTPS را (با شنود تأیید اعتبار TLS ارسال شده از برنامه به کاربر) به اتصال HTTP تبدیل می‌کند. بدین معنی که مهاجم یک نسخه رمزگذاری نشده از سایت برنامه را برای کاربر هنگام نگهداری نشست ایمن با برنامه ارسال می‌نماید. در همین حال، کل نشست کاربر برای مهاجم قابل مشاهده است.

 

پیشگیری از حمله MITM

مسدود کردن حملات MITM به چندین مرحله عملی از جانب کاربران و همچنین ترکیبی از روش‌های رمزگذاری و تأیید اعتبار برای برنامه‌ها نیاز دارد.

برای کاربران، موراد زیر است:

  • اجتناب از اتصالات WiFi که از طریق رمز عبور محافظت نشده‌اند.
  • توجه به اعلان‌های مرورگر که یک وب‌سایت را ناامن گزارش می‌کنند.
  • خروج سریع از یک برنامه ایمن در زمانی که از آن استفاده نمی‌کنید.
  • عدم استفاده از شبکه‌های عمومی (مانند کافی شاپ‌ها، هتل‌ها) هنگام انجام تراکنش‌های حساس.

 

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

بهترین روش برای برنامه‌ها استفاده از SSL/TLS برای ایمن کردن هر صفحه از سایت (نه فقط صفحاتی که کاربران را ملزم به ورود به سیستم می‌کنند) در نظر گرفته می‌شود. انجام این کار به کاهش احتمال سرقت کوکی‌های نشست از کاربر زمان ورود و مرور یک صفحه ناامن توسط مهاجم کمک می‌کند.

 

 

 

منبع:

imperva