حمله مرد میانی

حمله مرد میانی (اغلب با مخفف MITM و همچنین با عنوان حمله bucket brigade یا گاهی اوقات با عنوان حمله ژانوس شناخته شده‌است) در رمزنگاری و امنیت رایانه شکلی از استراق سمع فعال است که در آن حمله کننده اتصالات مستقلی را با قربانیان برقرار می‌کند و پیام‌های مابین آن‌ها را بازپخش می‌کند، به گونه‌ای که آن‌ها را معتقد می‌کند که با یکدیگر به طور مستقیم در طول یک اتصال خصوصی، صحبت می‌کنند؛ در حالی که تمام مکالمات توسط حمله کننده کنترل می‌شود. حمله کننده باید قادر به استراق سمع تمام پیام‌های رد و بدل شده مابین دو قربانی و گذاشتن پیغام جدید که در بسیاری از شرایط درست کار کند، باشد. (برای مثال، حمله کننده‌ای با حوزه دریافت یک پیام Wi-Fi wireless access point، می‌تواند خودش را به عنوان یک مرد میانی جا بزند).
یک حمله کننده مرد میانی در صورتی می‌تواند موفق شود که هر نقطه انتهایی را با رضایت دیگری جعل هویت کند. این یک حمله (یا نبود) احراز هویت دو جانبه‌است. اکثر پروتکل‌های رمزنگاری شامل بعضی از اشکال احراز هویت نقاط انتهایی به خصوص برای جلوگیری از حملات MITM هستند. برای مثال، SSL می‌تواند یک یا هردو طرف را با استفاده از مجوز گواهی مورد اعتماد دو طرفه، احراز هویت کند.
نیازی به انتقال بیش‌تر در طول یک کانال امن
به استثنای پروتکل Interlock، همه سیستم‌های رمزنگاری که در مقابل حمله MITM ایمن هستند، نیازمند تبادل یا انتقال اطلاعات اضافی روی بسیاری از کانال‌های امن می‌باشند. بسیاری از روش‌های توافق کلید، با نیازهای امنیتی مختلف برای کانال‌های ایمن، گسترش داده شده‌است.
نمونه‌ای از یک حمله
فرض کنید Alice می‌خواهد با Bob ارتباط برقرار کند. ضمنا، Mallory می‌خواهد که جلوی این مکالمه را با استراق سمع و احتمالا، رساندن پیغام غلط به Bob، بگیرد.
ابتدا، Alice کلید عمومی‌اش را از Bob درخواست می‌کند. اگر Bob کلید عمومی‌اش را به Alice بدهد و Mallory قادر به استراق سمع آن باشد، یک حمله مرد میانی شروع می‌شود. Mallory یک پیام جعلی را که مدعی ارسال از طرف Bob است، به Alice ارسال می‌کند، اما به جای آن کلید عمومی خودش را جایگزین آن می‌کند.
Alice با اعتقاد به اینکه کلید عمومی Bob را در اختیار دارد، پیامش را با کلید Mallory رمز می‌کند و پیام رمز شده را به Bob می‌فرستد. Mallory دوباره جلوی پیام را می‌گیرد و آن را با استفاده از کلید خصوصی خودش رمزگشایی می‌کند و احتمالا اگر بخواهد، آن را تغییر داده و دوباره آن را با استفاده از کلید عمومی Bob رمز کرده و به Bob می‌فرستد. هنگامی که Bob پیام رمز شده جدید را دریافت می‌کند، او گمان می‌کند که پیام از طرف Alice آمده‌است.
در حقیقت Alice پیامی را به Bob ارسال می‌کند. در حالی که، توسط Mallory استراق سمع می‌شود.
Alice "Hi Bob, its Alice. Give me your key"--> Mallory Bob
Mallory دوباره این پیام را برای Bob مخابره می‌کند. Bob توانایی تشخیص پیام واقعی از سوی Alice را ندارد.
Alice Mallory "Hi Bob, its Alice. Give me your key"--> Bob
Bob با کلید رمز شده‌اش پاسخ می‌دهد.
Alice Mallory
Mallory Bob
با این وجود، به دلیل اینکه پیام با کلید Mallory رمز شده‌است، Mallory می‌تواند آن را رمزگشایی، خوانده و مدیریت کند (و در صورت مطلوب بودن)، دوباره آن را با کلید عمومی Bob رمز کرده و به سمت Bob هدایت کند.
Alice Mallory "Meet me at 22nd Ave!"encrypted with Bobs key--> Bob
Bob تصور می‌کند که این پیام، یک ارتباط ایمن از طرف Alice است.
این مثال نیاز Alice و Bob را برای داشتن راهی به منظور اطمینان از این که آن‌ها به درستی از کلید عمومی یکدیگر به جای کلید عمومی مهاجم استفاده کنند، نشان می‌دهد. در غیر این صورت، چنین حملاتی معمولا ممکن و اصولا در مقابل هر پیامی است که با استفاده از فناوری کلید عمومی ارسال می‌شود. خوشبختانه تکنیک‌های مختلفی برای کمک به دفاع در برابر حملات MITM وجود دارند.
دفاع در برابر حمله
انواع دفاع در برابر حملات MITM، از تکنیک‌های احراز هویت استفاده می‌کنند که بر پایه موارد زیر است:
زیرساخت کلید عمومی
احراز هویت متقابل PKI. دفاع عمده در یک سناریو احراز هویت دو طرفه‌است. در این مورد علاوه بر این که برنامه کاربر را اعتبارسنجی می‌کند (در صورتی که برنامه گول زننده باشد، استفاده زیادی ندارد)، دستگاه‌های کاربران نیز برنامه را تایید می‌کند. از این رو برنامه‌های گول زننده را از برنامه‌های اصلی تشخیص می‌دهد.
احراز هویت دو طرفه قوی‌تر، همچون:
کلیدهای محرمانه (معمولا با رمزی حاوی بی‌نظمی زیاد اطلاعات و بنابراین، ایمنی بالا) و یا
گذرواژه‌ها (معمولا با رمزی حاوی بی‌نظمی کم اطلاعات و بنابراین، دارای ایمنی کمتر است)
آزمون تاخیر زمانی، از جمله محاسبات طولانی رمزنویسی تابع hash، که به ۱۰ ثانیه منجر می‌شود. اگر کار هر دو طرف به طور معمول ۲۰ ثانیه طول بکشد و محاسبات برای رسیدن به هر یک از طرفین ۶۰ ثانیه طول بکشد، این می‌تواند نشان دهنده شخص ثالث باشد.
پد یک‌بار مصرف که نسبت به حملات MITM مصون می‌باشند، با فرض امنیت و اطمینان به پد یک‌بار مصرف.
تصدیق Carry-forward
آزمودن که با حذف گواهی‌های به خطر افتاده صادره از مراجع صادرکننده گواهی برای رایانه‌های واقعی، انجام می‌شود و گواهی‌های به خطر افتاده، پیش از حذف برای تحلیل، به ناحیه sandbox فرستاده می‌شوند.
به طور کلی، درستی کلیدهای عمومی را باید از طریق روشی مطمئن شد، اما احتیاج به محرمانه بودن کلید ندارد. گذرواژه‌ها و کلیدهای رمز به اشتراک گذاشته شده، نیازهای محرمانگی بیش‌تری را طلب می‌کنند. کلیدهای عمومی به وسیله یک مرکز تایید گواهی که کلید عمومی آن از طریق یک کانال امن (برای نمونه، توسط یک مرورگر وب یا یک برنامه نصب شده سیستمی) توزیع شده‌است، بررسی می‌شود. کلیدهای عمومی نیز می‌توانند از طریق یک وب سایت مورد اعتماد که کلید عمومی‌اش را از طریق یک کانال امن (برای نمونه با جلسات چهره به چهره) توزیع کرده، تایید بشود.
به منظور طبقه‌بندی پروتکل‌هایی که با استفاده از شکل‌های گوناگون کلید و گذرواژه از حملات مرد میانی جلوگیری می‌کنند، به پروتکل Key-agreement نگاهی بیندازید.
تجزیه و تحلیل قانونی حملات MITM
برای پی بردن به این موضوع که واقعا حمله MITM رخ داده‌است یا خیر، می‌توان ترافیک شبکه تصرف شده را با توجه به مواردی که مشکوک به حمله MITM هستند، تجزیه و تحلیل کرد. شواهد مهم برای تجزیه و تحلیل شبکه توسط افراد مظنون به حمله SSL MITM، عبارتند از:
آدرس IP سرور
نام DNS سرور
گواهی X.509 سرور
آیا گواهی امضاء شده‌است؟
آیا گواهی توسط یک CA مورد اعتماد امضاء شده‌است؟
آیا گواهی باطل شده‌است؟
آیا گواهی به تازگی تغییر کرده‌است؟
آیا کاربران دیگر، در جای دیگر محیط اینترنت، گواهی مشابهی را اخذ کرده‌اند؟
رمزنویسی کوانتوم
پروتکل‌های رمزنویسی کوانتوم به طور معمول همه یا بخشی از ارتباطات کلاسیک خود را با یک رویه احراز هویت ایمن و بی‌قید و شرط، احراز هویت می‌کنند. برای مثال احراز هویت Wegman-Carter.
آن سوی رمزنویسی
MITM باید به عنوان مشکلی کلی که ناشی از حضور عناصر واسطه به عنوان نماینده کاربران هر دو طرف است، دیده شود. اگر آن‌ها دارای صلاحیت و قابل اعتماد باشند، همه چیز ممکن است خوب باشد. اما اگر آن‌ها دارای این ویژگی‌ها نباشند، هیچ چیز خوب نخواهد بود. چگونه می‌توان این موارد را تشخیص داد؟ با عملکردی در نقش یک پروکسی و معرفی خود به عنوان کاربر مورد اطمینان به هر دو طرف، مهاجم میانی می‌تواند شرارت‌های زیادتری را انجام دهد که شامل حملات مختلف علیه محرمانه بودن یا درستی داده در حال عبور از آن، می‌باشد.
یک حمله مرد میانی رمزنگاری نشده قابل توجه، توسط یکی از نسخه‌های روتر شبکه بی‌سیم Belkin در سال ۲۰۰۳ انجام شد. به گونه‌ای که به صورت تناوبی، بر روی یک اتصال HTTP، که از طریق آن مسیر یابی انجام می‌شد، تسلط می‌یافت. این موضوع برای هدایت ترافیک به سمت مقصد شکست می‌خورد، اما در عوض، خودش به عنوان سرور منتخب پاسخ می‌داد. پاسخی که ارسال می‌شد، در مکانی از صفحه وب مورد درخواست کاربر، تبلیغات برای یکی دیگر از محصولات Belkin بود. پس از اعتراض کاربران دارای دانش فنی، این قابلیت از نسخه‌های بعدی firmware روتر برداشته شد.
نمونه دیگری از حمله مرد میانی رمزنگاری نشده، مزرعه پورنو Turing است. Brain Warner می‌گوید: این یک «حمله امکان‌پذیر» است که ایجادکنندهای اسپم می‌توانند از آن برای غلبه بر CAPTCHAها استفاده کنند. ایجادکنندهای اسپم‌ها یک وب سایت پورنوگرافیک راه اندازی می‌کنند که برای دسترسی به محتویات آن، کاربر می‌بایست CAPTCHAهای مربوط به پرسش‌ها را حل کند. با این حال، Jeff Atwood خاطرنشان می‌کند که این حملات صرفا تئوری هستند. تا سال ۲۰۰۶ شواهدی مبنی بر اینکه ایجاد کنندگان اسپم‌ها یک مزرعه پورن Turing ساخته باشند، وجود نداشت؛ بنابراین، همان‌طور که در داستان‌های خبری اکتبر ۲۰۰۷ گزارش شد، ایجادکنندهای اسپم‌ها در واقع یک بازی ویندوزی ساخته بودند که در آن کاربران، CAPTCHAهای سرویس ایمیل یاهو را تایپ کرده و با عکس‌های پورنو پاداش داده شده‌اند. این به ایجادکنندهای اسپم‌ها اجازه ایجاد حساب کاربری پست الکترونیک، به طور موقت و مجانی و با امکان ارسال اسپم را می‌دهد.
پیاده‌سازی‌ها
- ابزاری برای حملات SSH و SSL MITM
- ابزار GUI ویندوز که توانایی انجام حملات MIMT را از طریق شنود شبکه و مسمومیت ARP دارد.
- ابزاری برای حملات MITM مبتنی بر LAN
- ابزاری که از حملات 802.11 Evil Twin، در انجام حملات MITM استفاده می‌کند.
- ابزاری که حملات MITM مبتنی بر ۸۰۲٫۱۱ را نشان می‌دهد.
- ابزاری برای حملات MITM مبتنی بر SSL.
- ابزاری برای حملات MITM مبتنی بر SSL. در آغاز، به منظور بهره‌برداری از نقیصه‌ای در اینترنت اکسپلورر، ساخته شد.
گذرواژه شبکه ویندوز با توانایی مسمومیت ARP. شامل SSLStrip برای حملات MITM مبتنی بر SSL است.
- پروکسی MiTMing TCP و UDP شفاف. قابل تعمیم به MiTM SSL, SSH و بسیاری از پروتکل‌های دیگر.
wsniff- ابزاری برای حملات MITM مبتنی بر HTTP/پروتکل امن انتقال ابرمتن.
کارت خوان‌های اضافی و روشی برای جدا کردن کلید فشار بر روی یک ماشین سخنگوی خودکار.
امنیت رایانه‌ای- طراحی سیستم‌های کامپیوتری امن
تحلیل رمز- هنر افشای پیام‌های رمزگذاری شده با دانش ناقص در مورد این که چگونه آنها رمزگذاری شده‌اند.
امضای دیجیتال- رمزنگاری تضمین صحت متن، معمولا فقط از نویسنده انتظار می‌رود که قادر به انجام نتیجه یک محاسبه باشد.
مدیریت کلید- چگونه مراحل تولید، تبادل و ذخیره‌سازی کلیدهای رمزنگاری را مدیریت کنیم.
توافق کلید تصدیق شده بر پایه رمزعبور- پروتکلی برای ایجاد یک کلید با استفاده از یک گذرواژه.
رمزنگاری کوانتومی- استفاده از مکانیک کوانتوم برای فراهم کردن امنیت در رمزنگاری (در حالی که روش قبلی به تابع یک طرفه اعتماد می‌کند).
کانال امن- راه برقراری ارتباط مقاوم در برابر رهگیری و دستکاری است.
حمله جعل