حمله مرد میانی (Man-in-the-Middle) چیست ؟

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

man in the middle


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

زمان تخمینی مطالعه: 15دقیقه 

حمله مرد میانی MITM سرنام  (Man-in-the-Middle) یکی از روش‌های پر کاربردی است که هکرها برای نفوذ به شبکه‌های کامپیوتری از آن استفاده می‌کنند. در این بردار حمله، هکر سعی می‌کند خود را میان دو طرف ارتباط قرار دهد و به عنوان رابطی میان آن‌ها عمل می‌کند. در این نوع حمله، هکر قادر است ارتباط بین دو طرف را متصل نگه داشته و ترافیک ارسال شده بین آن‌ها را مشاهده، تغییر یا تحریف کند. به بیان دقیق‌تر، هکر سعی می‌کند به صورت غیرمجاز در میان ترافیک ارتباطی آن‌ها قرار بگیرد. این بردار حمله عمدتا در شبکه‌های عمومی مانند اینترنت و شبکه‌های بی‌سیم رخ می‌دهد.

هکرها از چه روش‌هایی برای پیاده‌سازی حمله MITM استفاده می‌کنند؟

برخی از روش‌های رایجی که هکرها برای پیاده‌سازی این حمله از آن استفاده می‌کنند به شرح زیر است:

ARP Spoofing

در حمله ARP Spoofing هکر تلاش می‌کند تا جدول ARP سرنام (Address Resolution Protocol) در یک شبکه جعل کند. ARP مسئول نگاشت آدرس‌های آی‌پی به آدرس‌های فیزیکی یا همان مک آدرس است. با تغییر اطلاعات جدول ARP، حمله‌کننده می‌تواند ترافیک شبکه را تغییر داده و اطلاعات را برای اهداف خود جمع‌آوری کرده یا مانع از برقراری ارتباط بین دستگاه‌ها شود.  زمانی که یک دستگاه در شبکه، می‌خواهد با دستگاه دیگری در شبکه ارتباط برقرار کند، از طریق پیام‌های ARP درخواست می‌دهد تا آدرس فیزیکی (MAC) دستگاه مقابل را که مرتبط با آدرس هدف است، به دست آورد. حمله‌کننده در ARP Spoofing، با ارسال پیام‌های ARP جعلی، سعی می‌کند تا جدول ARP را تغییر دهد و دستگاه‌ها را به مک آدرس اشتباهی هدایت کند. به عبارت دیگر، حمله‌کننده خود را به عنوان دستگاه مقصد معرفی کرده و ترافیک بین دو دستگاه را از طریق خود عبور می‌دهد.

DNS Spoofing

در حمله DNS Spoofing هکر سعی می‌کند تا جدول DNS را جعل کند و ارجاع دامنه‌ها (Domain Name Resolution) را به سمت سرورهای مخرب هدایت کند. سامانه نام دامنه (DNS) مسئول ترجمه نام‌های دامنه به آدرس‌های آی‌پی (IP) است. هنگامی که کاربر برای دسترسی به یک وب‌سایت خاص نام دامنه را وارد می‌کند، پروتکل DNS به سرورهای DNS متصل می‌شود تا آدرس IP مربوط به آن نام دامنه را دریافت کند. حمله DNS Spoofing هنگامی رخ می‌دهد که حمله‌کننده توانایی تقلب در این فرآیند را داشته باشد.

در یک حمله DNS Spoofing، حمله‌کننده با تلاش برای جعل جدول DNS، سعی می‌کند رکوردهای اشتباه در کش سرورهای DNS قرار دهد. با این کار، آدرس IP صحیح مربوط به یک نام دامنه خاص را با آدرس IP مخرب جایگزین می‌کند. در نتیجه، کاربران هنگامی که تلاش می‌کنند به نام دامنه دسترسی پیدا کنند، به جای سرور اصلی، به سرور مخرب متصل می‌شوند. این نوع حمله می‌تواند به مشکلات جدی منجر شود. به عنوان مثال، کاربران ممکن است به و‌‌ب‌سایت‌های مخرب هدایت شوند که می‌تواند منجر به سرقت اطلاعات شخصی، نصب نرم‌افزارهای مخرب یا سرقت اعتبارات بانکی شود.

SSL Stripping

حمله SSL Stripping به عنوان حمله HTTPS Stripping نیز شناخته می‌شود به نوع دیگری از بردارهای حمله اشاره دارد که در آن حمله‌کننده سعی می‌کند کلاینت‌ها را به سمت کانال‌های ارتباطی غیرامن هدایت کند.

وقتی کاربری به یک وب‌سایت متصل شود که از ارتباط امن HTTPS استفاده می‌کند، ترافیک بین کلاینت و سرور با استفاده از رمزنگاری SSL/TLS برقرار می‌شود. این رمزنگاری با هدف پیشگیری از بروز مسایلی مثل نقض حریم خصوصی و جلوگیری از بروز حمله MITM انجام می‌شود. در حمله SSL Stripping، حمله‌کننده سعی می‌کند ارتباط اولیه بین کلاینت و سرور را از HTTPS به HTTP تغییر دهد. این کار باعث می‌شود که کلاینت درخواست خود را برای سرور از طریق یک کانال غیرامن ارسال کند و ارتباط برقرار شده در قالب متن ساده (plaintext) انجام شود. سپس، حمله‌کننده تمام ترافیک بین کلاینت و سرور را مشاهده کرده و اطلاعات حساس را جمع‌آوری کند، از جمله رمز‌ها، نام‌کاربری‌ها، رمزعبورها و سایر اطلاعات مربوط به کاربر. یکی از روش‌های معمول برای انجام حمله SSL Stripping، تغییر لینک‌های HTTPS به HTTP در صفحات وب است.

چگونه می‌توانیم مانع بروز حملات MITM شویم؟

راهکارهای مختلفی برای پیشگیری از بروز چنین حملاتی در دسترس کارشناسان شبکه قرار دارد که از مهم‌ترین آن‌ها به موارد زیر باید اشاره کرد:

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

مطمئن شوید که سرویس‌ها از HTTPS استفاده می‌کنند: هنگام مراجعه به وب‌سایت‌ها، اطمینان حاصل کنید که از پروتکل HTTPS استفاده شده است. پروتکل HTTPS از رمزنگاری SSL/TLS برای ایجاد ارتباط امن بین شما و سایت استفاده می‌کند و از حملات MITM جلوگیری می‌کند. بررسی وجود قفل بر روی نوار آدرس مرورگر (قفل سبز) و گواهی امنیتی صادر شده توسط منبع قابل اعتماد نیز می‌تواند کمک کند.

به‌روزرسانی سیستم عامل و نرم‌افزارها: اطمینان حاصل کنید که سیستم عامل و نرم‌افزارهای استفاده شده در شبکه شما به‌روزرسانی شده‌اند. به‌روز بودن سیستم عامل و نرم‌افزارها می‌تواند آسیب‌پذیری‌های امنیتی را کاهش دهد و شانس هکرها برای پیاده‌سازی حمله فوق را کاهش می‌دهد.

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

استفاده از فایروال و نرم‌افزارهای امنیتی: استفاده از فایروال و نرم‌افزارهای امنیتی مناسب می‌تواند به شما کمک کند تا نرخ پیاده‌سازی موفقیت‌آمیز حملات MITM را کاهش دهید. فایروال‌های سخت‌افزاری قدرتمند می‌توانند ترافیک شبکه را مانیتور کنند و تلاش‌های نفوذ را تشخیص دهد.

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

اتصال به شبکه‌های بی‌سیم مطمئن: در صورت استفاده از شبکه بی‌سیم، اطمینان حاصل کنید که از پروتکل امنیتی WPA2 یا WPA3 استفاده می‌کنید و از رمزعبور قوی برای شبکه خود استفاده می‌کنید. همچنین، غیرفعال کردن قابلیت تایید خودکار (Auto-Connect) در دستگاه‌ها می‌تواند از حملات MITM در شبکه بی‌سیم جلوگیری کند.

استفاده از SSL/TLS: برای جلوگیری از بروز حملات MITM، استفاده از پروتکل‌های SSL سرنام (Secure Sockets Layer) یا TLS  سرنام (Transport Layer Security) بسیار حائز اهمیت است. این پروتکل‌ها امکان رمزنگاری ارتباطات بین کلاینت و سرور را فراهم می‌کنند و از امکان تغییر داده‌ها توسط حمله‌کننده جلوگیری می‌کنند. با اعمال گواهی SSL/TLS معتبر بر روی سرور، کلاینت‌ها با اطمینان خاطر بیشتری قادر به برقراری ارتباط خواهند بود.

بررسی گواهی‌ها (Certificate Pinning): بررسی گواهی‌ها یک روش امنیتی است که در آن کلاینت‌ها مطمئن می‌شوند که اتصال‌شان به سروری مشخص از طریق گواهی امن انجام می‌شود. در این روش، کلیدهای عمومی سرور، مورد اعتماد کلاینت بوده و ارتباط با سرورهای دیگر که گواهی‌های مورد اعتماد ندارند، متوقف می‌شود.

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

چگونه می‌توانیم از فایروال برای جلوگیری از بروز حملات MITM استفاده کنیم؟

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

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

شناسایی الگوهای حمله: فایروال می‌تواند الگوهای مشخصی را در ترافیک شناسایی کند که به حملات MITM اشاره دارند. به طور مثال، اگر فایروال تشخیص دهد که یک دستگاه سعی بر انجام حمله ARP spoofing دارد، قادر به مسدودسازی اتصال آن با شبکه است. برای این منظور، می‌توانید قوانین مشخصی در فایروال تنظیم کنید تا الگوهای شناسایی شده را تشخیص دهد و اقدامات لازم را انجام دهد.

مانیتورینگ ترافیک: با استفاده از فایروال، می‌توانید ترافیک شبکه را مانیتور کنید و تلاش‌های مشکوک را شناسایی کنید. این موضوع شامل مشاهده تغییرات در الگوهای ترافیک، تشخیص تغییر در آدرس‌های MAC، تشخیص تغییرات در پورت‌ها و سایر ویژگی‌های ترافیک است. با شناسایی ترافیک مشکوک، می‌توانید به طور فعال واکنش نشان دهید و از حملات MITM جلوگیری کنید.

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

چه نوع قوانین دسترسی می‌توانیم در فایروال تنظیم کنیم تا از حملات MITM جلوگیری کنیم؟

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

مسدود کردن ترافیک ARP Spoofing: یکی از روش‌های شایع در حملات MITM این است که حمله‌کننده با جعل پیام‌های ARP  تلاش می‌کند تا آدرس MAC خود را به آدرس IP مقصد ارسال کند. شما می‌توانید قوانینی برای مسدود کردن ترافیک ARP Spoofing تنظیم کنید تا فقط به ارتباطات ARP معتبر و قابل اعتماد اجازه عبور دهید و ترافیک مشکوک را مسدود کنید.

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

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

جلوگیری از تغییرات ناخواسته در آدرس MAC: در حملات MITM، حمله‌کننده ممکن است سعی کند آدرس MAC خود را جعل کند و ترافیک را به سمت خود هدایت کند. شما می‌توانید قوانینی در فایروال تنظیم کنید تا تغییرات ناخواسته در آدرس MAC را شناسایی کند و ترافیک مشکوک را مسدود کند.

مسدود کردن ترافیک SSL Stripping : یک روش رایج در حمله MITM این است که حمله‌کننده سعی می‌کند اتصال SSL را قطع کند تا در قالب متن عادی برای دستگاه‌ها ارسال شوند. برای جلوگیری از این نوع حملات، می‌توانید قوانینی در فایروال تنظیم کنید تا هکرها موفق نشوند در ابتدای برقراری ارتباط، کانال ارتباطی را تحریف کرده و ارتباط مبتنی بر پروتکل HTTP را برقرار کنند.

آیا استفاده از شبکه خصوصی مجازی می‌تواند از زیرساخت‌ها در برابر حملات MITM محافظت کند؟

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

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

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

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

به طور کلی، استفاده از شبکه خصوصی مجازی یک روش مؤثر برای افزایش امنیت و حفاظت از اطلاعات شخصی در ارتباطات آنلاین است و می‌تواند از شما در برابر حملات MITM محافظت کند. با این حال، همچنان مهم است توجه داشته باشید که انتخاب یک سرویس شبکه خصوصی مجازی معتبر و اطمینان حاصل کردن از به‌کارگیری پروتکل‌های امن برای اتصال اهمیت زیادی دارد.

چه حملاتی مشابه MITM  هستند؟

شاید از این نکته اطلاع نداشته باشید که برخی از بردارهای حمله شباهت زیادی به حمفه MITM دارند که تهدید جدی برای شبکه‌ها به شمار می‌روند. این بردارهای حمله به شرح زیر هستند:

حملات Replay: در این نوع حملات، حمله‌کننده ترافیک ارسالی را ضبط کرده و سپس آن را ارسال می‌کند. این حملات معمولا باعث تکرار عملیات غیرمجاز یا دستکاری اطلاعات می‌شوند. در این نوع حملات، هکر اطلاعات ثبت شده در یک ارتباط قبلی را ضبط و مجددا پخش می‌کند. از این حملات برای تکرار یا سوءاستفاده از دستورها، تراکنش‌ها یا اعمالی که در طول ارتباطات قبلی صورت گرفته است، استفاده می‌شود. به طور کلی، فرایند یک حمله replay شامل مراحل زیر است:

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

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

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

برای مقابله با حملات replay، معمولا از روش‌هایی مانند استفاده از امضای دیجیتال، استفاده از توکن‌های یکبار مصرف (OTP)، استفاده از تراکنش‌های چندمرحله‌ای و استفاده از پروتکل‌های امنیتی مانند SSL/TLS استفاده می‌شود.

حملات Spoofing: در این نوع حملات، حمله‌کننده سعی می‌کند هویت خود را تقلید کند و به عنوان یک شخص یا دستگاه معتبر در نظر گرفته شود. برای مثال، حمله کننده ممکن است به عنوان یک سرور یا یک شبکه Wi-Fi معتبر خود را نشان دهد و اطلاعات حساس را جمع‌آوری کند.

حملات DNS Spoofing: همان‌گونه که اشاره کردیم در این بردار حمله، حمله‌کننده تلاش می‌کند تا ترافیک DNS را تغییر دهد و دسترسی به سرویس‌های اصلی را به سرویس‌های جعلی هدایت کند. این حملات معمولا باعث هدایت کاربران به صفحات جعلی، سرقت اطلاعات و دستکاری اطلاعات می‌شوند.

حملات SSL Stripping: در این نوع حملات، حمله‌کننده ترافیک HTTPS را به HTTP تبدیل می‌کند و ارتباط امن را با برقراری یک ارتباط غیرامن تعویض می‌کند. این حملات می‌توانند به سرقت اطلاعات حساس کاربران منجر شوند.

حملات Sidejacking: در این نوع حملات، حمله‌کننده تلاش می‌کند تا کوکی‌ها (Cookies) و شناسه‌های جلسه (Session IDs) را در ارتباطات بدون رمزنگاری برداشت کند. با دست‌یابی به این اطلاعات، حمله‌کننده می‌تواند به حساب کاربری دسترسی پیدا کند.

5/5 - (1 امتیاز)

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *