تا کنون روشهای زیادی برای گمراه کردن کاربران و سرقت اطلاعات آنها تحت عنوان حملات فیشینگ توسط هکرها کشف شده است، ولی بی تردید یکی از غیر قابل تشخیصترین آنها فیشینگ هموگراف است.
فیشینگ هموگراف چیست؟
یکی از محققان حوزه امنیت درباره نوعی حمله فیشینگ که برای بیشتر کاربران غیرقابل تشخیص است، هشدار داده است. در این روش، هکرها با استفاده از حروف لاتین و یونیکد، اقدام به ثبت دامنههایی میکنند که در مرورگر با الفبای انگلیسی نشان داده میشود. از زمانی که امکان ثبت دامنه با الفبایی غیر از انگلیسی فراهم شد، هکرها از شباهت ظاهری الفبا در زبانهایی با حروف مشابه ( مثل الفبای سریلیک و انگلیسی و …) برای ثبت دامنههای جعلی استفاده کردند. برای مثال دامنههای تقلبی زیر را ببینید که با اندکی تغییر در کاراکترها کاملا شبیه دامنههای اصلی هستند.
برای روشن شدن موضوع مثال زیر را درنظر بگیرید:
هکرها میتوانند دامنههایی مانند “xn--pple-43d.com” را ثبت کنند که یک دامنه تقلبی شبیه Apple.com است. هکرها برای محکم کاری حتی میتوانند برای سایت جعلی خود Certificate یا گواهی اصالت هم تهیه کنند، در نتیجه زمان ورود به این آدرس با پروتکل HTTPS، یک کلید سبز رنگ در نوار آدرس مرورگر کنار اسم سایت نشان داده میشود و قربانی تصور میکند وارد سایت اصلی شده است.
نقطه ضعف مرورگرهای رایج در برابر فیشینگ هموگراف
متاسفانه نحوه نمایش آدرس در مرورگرهای محبوب و قابل اطمینانی مثل گوگل کروم، فایر فاکس یا اپرا دارای یک نقطه ضعف اساسی است. زیرا این مرورگرها حروف لاتین نام یک دامنه را به حروف انگلیسی مشابه آن تبدیل میکنند. به عنوان مثال آدرس “xn--pple-43d.com” که با حروف لاتین ثبت شده است را به صورت “аpple.com” نشان میدهند.
مرورگر سافاری و اینترنت اکسپلورر به دلیل نمایش فرم اصلی دامنهها این مشکل امنیتی را ندارند. اما در سایر مرورگرها فیشینگ هموگراف در نگاه اول قابل تشخیص نیست.
هکرها میتوانند از این آسیبپذیری استفاده کنند که دامنههای تقلبی آنها در مرورگر قربانی به عنوان یک سرویسدهنده قانونی نظیر اپل و گوگل نمایش داده شود. در صورتی که محتوی صفحه هم یک کپی کاملا مشابه به سایت اصلی باشد فریب خوردن قربانی حتمی خواهد بود.
راههای زیادی برای ایجاد این گونه دامنههای تقلبی وجود دارد. برای مثال حرف لاتین a (با شناسه یونیکد U+0041) و حرف a (با شناسه یونیکد U+0430) در الفبای سریلیک در ظاهر نمایش یکسانی دارند ولی آدرس اصلی آنها متفاوت است.
مرورگر خود را امتحان کنید
در قسمت نوار آدرس مرورگر فایرفاکس، کروم یا اپرا این عبارت را کپی کنید: xn--pple-43d.com (البته این سایت احتمالا در ایران فیلتر است و باید با فیلترشکن آنرا باز کنید)
در بیشتر مرورگرها، این آدرس به شکل apple.com نشان داده میشود. همانطور که مشاهده میکنید این سایت از پروتکل https نیز استفاده میکند. با اینحال اگر شما آدرس اینترنتی را کپی کرده و در قسمت دیگری وارد نمائید آدرس متفاوتی را مشاهده خواهید کرد.
این سایت را یکی از محققان چینی برای اثبات آسیب پذیری مرورگرها نسبت به این گونه حملهها راه اندازی کرده است. حال فرض کنید محتوی این صفحه جعلی، یک کپی از صفحه اصلی شرکت اپل باشد، دیگر جای هیچگونه شک و شبههایی برای قربانی باقی نمیماند.
با اینکه حمله هوموگراف در سال 2001 کشف شده است ولی بیشتر مرورگرها این موضوع را حل نکرده و در برابر اینگونه حملات آسیبپذیر هستند.
کدگذاری Punycode در مرورگرها
کدگذاری Punycode یک کدگذاری استاندارد در مرورگرها است که حروف Unicode را به کاراکترهای اسکی (A-Z, 0-9) تبدیل میکند.
به عنوان نمونه، دامنه چینی “短.co” در استاندارد punycode به صورت “xn--s7y.co“ نمایش داده میشود.
پیشوند –xn در ابتدای آدرس نشان دهنده یونیکد بودن نام دامنه آن است و به مرورگرهای وب نشان میدهد که از Punycode برای نمایش آدرس استفاده میکنند.
اکثر مرورگرهای وب، بصورت پیشفرض از punycode Encoding برای نمایش کاراکترهای Unicode در نشانی مرورگر استفاده میکنند. در نتیجه برای آدرسهای حاوی کدهای Unicode، بجای نمایش کاراکترهای واقعی، نتیجه کدگذاری شده آن در آدرس مرورگر نمایش داده میشود.
شرکت گوگل این آسیبپذیری را در نسخه 58 مرورگر کروم برطرف کرده است.
تنها روش برای جلوگیری از حملات فیشینگ هوموگراف، غیرفعال کردن punycode در مرورگرهای وب است که متاسفانه تنها فایرفاکس اجازه اینکار را میدهد.
اصلاح تنظیمات در مرورگر فایرفاکس
کاربران فایرفاکس میتوانند این مشکل را با انجام مراحل زیر موقتا غیرفعال کنند:
در قسمت نوار آدرس عبارت about:config را تایپ کنید.
مقدار network.IDN_show_punycode را پیدا کرده و آنرا به true تغییر دهید.
این کار مرورگر فایرفاکس را مجبور میکند که دامنهها را همان طور که هستند و بدون کد گذاری نمایش دهد که در نتیجه، شناسایی دامنههای مخرب برای فیشینگ هموگراف امکانپذیر خواهد بود. آدرسهایی که کاراکترهای یونیکد دارند، به همان صورتی که هستند نشان داده میشوند.