در این مقاله قصد داریم به بررسی جعل SSL بپردازیم. این حمله ذاتا یكی از قویترین حملات MITM است زیرا سرویسهایی را مورد سوء استفاده قرار میدهد كه مردم آنها را ایمن فرض میكنند.
SSL و HTTPS
لایه سوكت امن (SSL) یا لایه امنیت انتقال (TLS) پروتكلهایی هستند كه با استفاده از رمزگذاری ارتباطات شبكه، امنیت را تامین میكنند. این پروتكل معمولا برای پیادهسازی امنیت سرویسهایی كه پروتكلها ارائه میدهند، به پروتكل های دیگر وابسته است. نمونههایی از ابین قبیل پروتكلها عبارتند از SMTPS، IMAPS، و اغلب HTTPS. هدف نهایی این پروتكل ایجاد یك كانال امن بر روی شبكههای ناامن است.
در اینجا بر روی حملات SSL بر روی HTTP كه به عنوان HTTPS شناخته میشوند تمركز میكنیم زیرا یكی از رایجترین كاربردهای SSL است. احتمالا شما هر روز از HTTPS استفاده میكنید. بیشتر سرویسهای پست الكترونیكی محبوب و برنامههای بانكداری آنلاین بر HTTPS تكیه میكنند تا اطمینان حاصل نمایند ارتباط بین مرورگر وب شما و سرویسهای آنها رمزگذاری میشود. اگر سرویسهای مذكور از این تكنولوژی استفاده نكنند، هر كسی می تواند با استفاده از یك شنودكننده بسته بر روی شبكه شما نام كاربری، رمز عبور و سایر مواردی كه به طور معمول باید مخفیانه باشند را به سرقت ببرد.
فرآیندهایی كه از پروتكل HTTPS استفاده میكنند برای اطمینان از امنیت دادهها، گواهینامههایی معتبر را بین سرور و كلاینت ارسال میكنند. به عنوان مثال فرض كنید كاربری سعی دارد به یك حساب پست الكترونیكی Gmail متصل شود. این اقدام شامل چند مرحله مجزا میشود كه در شكل 1 نشان داده شده است.
شكل (1): فرآیند ارتباط HTTPS
برای این ارتباط مراحل زیر صورت میگیرد:
2. سرور، كلاینت را با استفاده از كد پاسخ HTTP 302 به نسخه HTTPS سایت هدایت میكند.
4. سرور یك گواهینامه حاوی امضای دیجیتالی را برای كلاینت ارسال میكند. این گواهینامه به منظور بررسی هویت سایت استفاده میشود.
5. كلاینت گواهینامه را دریافت میكند و با توجه به لیست مراجع گواهینامه معتبر خود، گواهینامه مزبور را بررسی میكند.
6. ارتباطات رمزگذاری میشود.
اگر فرآیند اعتبارسنجی گواهینامه با شكست مواجه شود به این معنی است كه وب سایت به منظور بررسی هویت آن با شكست مواجه شده است. در این مرحله به طور معمول یك خطای ارائه گواهینامه نمایش داده میشود و كاربر می تواند انتخاب كند كه با پذیرفتن خطر به آن وب سایت متصل شود زیرا واقعا مشخص نیست كه وب سایتی كه به آن متصل میشود همان وب سایت اصلی است.
حمله علیه HTTPS
چندین سال پیش، زمانیكه حمله ای منتشر شد كه می توانست فرآیند ارتباط را با موفقیت ارتباط ربایی نماید، پروتكل بسیار امن HTTPS مطرح شد.
ماكسی مارلین اسپایك، یك محقق امنیتی معروف فرضیه ای ارائه داد كه در اكثر موارد SSL به طور مستقیم به كار برده نشود. در این حالت در اكثر موارد ارتباط SSL از طریق HTTPS آغاز میشود و كاربران از طریق یك كد پاسخ HTTP 302 یا با كلیك كردن بر روی لینكی كه آنها را به HTTPS هدایت میكند به یك HTTPS هدایت میشوند.
فرآیند ارتباط ربایی SSL نسبتا ساده است. در شكل 2 خلاصه ای از این حمله را مشاهده میكنید.
شكل (2): ارتباط ربایی HTTPS
مراحل اجرای فرآیند مشخص شده در شكل 2 به شرح زیر است:
1. ترافیكهای بین سرور و كلاینت ابتدا توسط هكر دریافت شده و پس از اعمال تغییراتی برای طرف مقابل فرستاده میشود.
2. اگر هكر با یك آدرس HTTPS مواجه شود، با استفاده از sslstrip، آن آدرس را با یك لینك HTTP عوض میكند و تغییرات را نگه میدارد.
3. ماشین مهاجم یك گواهینامه از طرف سرور به كلاینت ارائه میدهد و سپس اطلاعات كلاینت را به سرقت میبرد.
4. ترافیكها توسط هكر از وب سایت امن دریافت میشوند و به كلاینت ارائه داده میشوند.
این فرآیند به خوبی كار میكند و تا آنجا كه به سرور مربوط میشود، ترافیك را به صورت SSL دریافت میكند و متوجه این حمله نمیشود. تنها تفاوت قابل مشاهده در سمت كلاینت است كه ترافیك را در مرورگر خود به صورت HTTPS دریافت نمیكند. در این حالت یك كاربر آگاه میتواند از وجود چنین حمله ای مطلع شود.
دفاع در برابر ارتباط ربایی SSL
همانطور كه قبلا اشاره شد، ارتباط ربایی SSL در این روش تقریبا از سمت سرور غیر قابل تشخیص است. در این حالت سرور نمیتواند تشخیص دهد كه ارتباط آن با كلاینت از طریق یك واسط است. خوشبختانه، مواردی وجود دارد كه می تواند از طرف كاربر اعمال شود تا این نوع حملات را تشخیص داده و در برابر آن از خود دفاع نماید.
· اطمینان حاصل نمایید كه ارتباطات امن از طریق HTTPS انجام میشود: در این نوع حملات اگر شما هنگام ورود به بانكداری آنلاین خود متوجه شدید كه فقط یك ارتباط استاندارد HTTP است، میتوانید اطمینان حاصل نمایید كه گرفتار این حمله شده اید. برای پیشگیری از این نوع حملات، هنگام مشاهده وب سایتها باید قدرت تشخیص ارتباط امن از ارتباط ناامن را داشته باشید.
· انجام كارهای بانكداری آنلاین در منزل: شانس افراد خرابكار برای دسترسی به اطلاعات ترافیك شما بر روی شبكه خانگی به مراتب كمتر از دسترسی به اطلاعات ترافیك شما بر روی شبكه كاری است. البته به آن دلیل نیست كه شبكه خانگی شما امن تر است، بلكه واقعیت آن است كه اگر شما تنها یك یا دو كامپیوتر در خانه دارید، بیشترین نگرانی شما در مورد شرائط ارتباط ربایی نشست می تواند افرادی باشند كه مشغول مشاهده یك فیلم ویدئویی هك شده بر روی یوتیوب هستند. اما در شبكه كاری نمی دانید در اتاقها و یا شعبههای دیگر شركت چه می گذرد در نتیجه منابع حمله احتمالی زیاد است. توجه داشته باشید كه یكی از بزرگترین هدفها در ارتباط ربایی نشست، بانكداری آنلاین است.
· امنسازی ماشینهای شبكه داخلی: معمولا اینگونه حملات از دورن شبكه اجرا میشوند. اگر دستگاههای شبكه امن باشند در نتیجه شانس كمتری وجود دارد تا میزبانهایی كه برای راه اندازی حمله ارتباط ربایی از آنها سوء استفاده میشوند، به خطر بیفتند.
خلاصه
این نوع از حمله MITM یكی از مرگبارترین حملات است زیرا زمانی اتفاق می افتد كه ما فكر میكنیم یك ارتباط امن با وب سایت مورد نظر داریم در صورتیكه این ارتباط كاملا ناامن است. اگر شما در نظر بگیرید كه هر روز چندین سایت امن را مشاهده میكنید و سپس در نظر بگیرید كه با توجه به توان بالقوه این حمله تمامی این اتصالات ناامن باشند و اطلاعات به دست افراد خرابكار بیفتد، میتوانید درك كنید كه شما و سازمان شما تا چه میزان تحت تاثیر این حمله قرار میگیرد.