بررسی فنی حملات Homograph، Punycode و URL Encoding در فیشینگ مدرن

1. مقدمه

با گسترش روزافزون اینترنت و افزایش استفاده جهانی از وب، پشتیبانی از زبان‌های مختلف در نام دامنه‌ها به یک ضرورت اساسی تبدیل شد. سیستم سنتی DNS در ابتدا تنها از مجموعه کاراکترهای ASCII پشتیبانی می‌کرد و همین محدودیت باعث شد فناوری‌های جدیدی برای پشتیبانی از زبان‌های غیرلاتین توسعه یابند.

در این راستا، استانداردهایی مانند Internationalized Domain Names (IDN) معرفی شدند تا کاربران بتوانند از دامنه‌هایی با زبان‌های بومی خود استفاده کنند. با وجود مزایای گسترده این فناوری، مهاجمان سایبری نیز روش‌هایی برای سوءاستفاده از آن پیدا کردند.

یکی از مهم‌ترین این تهدیدات، حملات Homograph و سوءاستفاده از دامنه‌های Punycode است؛ حملاتی که با بهره‌گیری از شباهت ظاهری کاراکترهای Unicode، کاربران را به وب‌سایت‌های جعلی هدایت می‌کنند.

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

2. تاریخچه دامنه‌های بین‌المللی (IDN)

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

با افزایش کاربران جهانی اینترنت، نیاز به پشتیبانی از زبان‌هایی مانند:

  • فارسی

  • عربی

  • روسی

  • چینی

  • ژاپنی

  • و سایر زبان‌های بین‌المللی

بیش از پیش احساس شد.

برای رفع این مشکل، استانداردی تحت عنوان:

Internationalized Domain Names (IDN)

توسعه داده شد. این فناوری امکان استفاده از کاراکترهای Unicode را در نام دامنه‌ها فراهم کرد و تحول مهمی در بین‌المللی‌سازی وب به‌وجود آورد.

3. مفهوم Unicode

Unicode یک استاندارد جهانی برای نمایش و پردازش کاراکترهای زبان‌های مختلف جهان است. در این استاندارد، هر کاراکتر دارای یک شناسه منحصربه‌فرد به نام Code Point می‌باشد.

برای مثال:

حرف لاتین:

o

Code Point:

U+006F

حرف سیریلیک مشابه:

о

Code Point:

U+043E

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

4. معرفی Punycode

Punycode مکانیزمی است که کاراکترهای Unicode را به قالب ASCII تبدیل می‌کند تا سیستم DNS بتواند آن‌ها را پردازش نماید.

به‌عنوان نمونه:

دامنه Unicode:

qоm.ir

در مثال فوق، حرف «о» از الفبای سیریلیک استفاده شده است، نه حرف لاتین «o».

نمایش Punycode این دامنه:

xn--qm-8kc.ir

پیشوند:

xn--

نشان می‌دهد که دامنه مذکور از مکانیزم Punycode استفاده می‌کند.

5. نحوه عملکرد DNS با Punycode

زمانی که کاربر یک دامنه Unicode را در مرورگر وارد می‌کند، فرآیند زیر انجام می‌شود:

  1. مرورگر دامنه واردشده را بررسی می‌کند.

  2. کاراکترهای Unicode به فرمت Punycode تبدیل می‌شوند.

  3. درخواست DNS ارسال می‌شود.

  4. سرور DNS دامنه را Resolve می‌کند.

  5. ارتباط HTTPS برقرار می‌شود.

در اغلب موارد، کاربر فرآیند تبدیل Unicode به Punycode را مشاهده نمی‌کند.

6. حملات Homograph چیست؟

حمله Homograph نوعی حمله فیشینگ است که در آن مهاجم از کاراکترهای ظاهراً مشابه برای ایجاد دامنه‌های جعلی استفاده می‌کند.

برای مثال:

دامنه اصلی:

qom.ir

دامنه جعلی:

qоm.ir

در ظاهر این دو دامنه تقریباً یکسان به‌نظر می‌رسند، اما از نظر فنی کاملاً متفاوت هستند.

این ویژگی باعث می‌شود کاربران به‌راحتی فریب خورده و اطلاعات حساس خود را در اختیار مهاجم قرار دهند.

7. شباهت کاراکترها در زبان‌های مختلف

برخی کاراکترهای Unicode شباهت بسیار زیادی به حروف لاتین دارند. مهاجمان از این ویژگی برای ساخت دامنه‌های جعلی استفاده می‌کنند.

نمونه‌هایی از کاراکترهای مشابه:

a → а
e → е
o → о
c → с
p → р
x → х

در بیشتر این نمونه‌ها، کاراکتر سمت راست متعلق به الفبای سیریلیک است.

8. نمونه‌های واقعی حملات

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

  • جعل صفحات بانکی

  • جعل سرویس‌های ایمیل

  • جعل پنل‌های مدیریتی

  • جعل صفحات ورود سازمانی

  • سرقت اطلاعات کاربران

مهاجمان معمولاً این لینک‌ها را از طریق:

  • ایمیل‌های فیشینگ

  • پیامک

  • شبکه‌های اجتماعی

  • تبلیغات جعلی

  • پیام‌رسان‌ها

منتشر می‌کنند.

9. تحلیل فنی حمله با دامنه جعلی

سناریوی رایج یک حمله Homograph به‌صورت زیر است:

  1. مهاجم دامنه‌ای مشابه دامنه اصلی ثبت می‌کند.

  2. برای دامنه گواهی HTTPS معتبر دریافت می‌کند.

  3. ظاهر وب‌سایت اصلی را کپی می‌کند.

  4. لینک جعلی را برای قربانی ارسال می‌کند.

  5. قربانی اطلاعات ورود خود را وارد می‌کند.

  6. اطلاعات به سرور مهاجم منتقل می‌شود.

وجود HTTPS به‌تنهایی نشانه معتبر بودن یک وب‌سایت نیست و بسیاری از دامنه‌های فیشینگ نیز از HTTPS استفاده می‌کنند.

10. نقش مرورگرها در نمایش دامنه‌ها

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

این مرورگرها ممکن است:

  • برخی دامنه‌ها را به‌صورت Unicode نمایش دهند.

  • برخی دامنه‌ها را به شکل Punycode نمایش دهند.

این تصمیم وابسته به عوامل مختلفی است، از جمله:

  • زبان سیستم عامل

  • تنظیمات مرورگر

  • نوع کاراکترهای استفاده‌شده

  • سیاست‌های امنیتی مرورگر

11. URL Encoding چیست؟

URL Encoding یا Percent-Encoding روشی برای تبدیل کاراکترهای خاص به قالب قابل انتقال در URL است.

فرمت کلی این روش به‌صورت زیر می‌باشد:

%XX

که در آن XX مقدار هگزادسیمال بایت مربوطه است.

12. ساختار Percent-Encoding

برای مثال:

Space:

%20

برخی کاراکترهای Unicode نیز پس از تبدیل به UTF-8 ممکن است به چند بایت مختلف تبدیل شوند.

13. سوءاستفاده مهاجمان از URL Encoding

مهاجمان سایبری از URL Encoding برای اهداف مختلفی استفاده می‌کنند، از جمله:

  • پنهان‌سازی مقصد واقعی لینک

  • دور زدن فیلترهای امنیتی

  • مبهم‌سازی URL

  • افزایش احتمال فریب کاربران

مثال:

لینک عادی:

https://example.com/login

نسخه Encode شده:

https://example.com/%6C%6F%67%69%6E

14. ترکیب Unicode و Encoding

ترکیب Unicode و URL Encoding می‌تواند لینک‌ها را بسیار پیچیده و تشخیص آن‌ها را دشوار کند.

مثال:

q%D0%BEm.ir

در این مثال:

%D0%BE

نمایش UTF-8 حرف سیریلیک «о» است.

15. حملات پیشرفته Obfuscation

برخی تکنیک‌های پیشرفته برای مبهم‌سازی لینک‌ها عبارت‌اند از:

  • Double Encoding

  • Mixed Encoding

  • UTF-8 Abuse

  • Invisible Characters

  • Zero Width Characters

این تکنیک‌ها باعث می‌شوند تشخیص لینک واقعی برای کاربران و حتی برخی سیستم‌های امنیتی دشوار شود.

16. روش‌های تشخیص لینک جعلی

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

  1. بررسی دقیق دامنه

  2. استفاده از Password Manager

  3. بررسی گواهی SSL

  4. استفاده از مرورگرهای به‌روز

  5. Decode کردن URLهای مشکوک

17. راهکارهای دفاعی برای کاربران

کاربران باید:

  • از کلیک روی لینک‌های ناشناس خودداری کنند.

  • دامنه‌ها را با دقت بررسی نمایند.

  • از احراز هویت چندمرحله‌ای (MFA) استفاده کنند.

  • سیستم و مرورگر خود را به‌روز نگه دارند.

18. راهکارهای دفاعی برای سازمان‌ها

سازمان‌ها باید:

  • دامنه‌های مشابه برند خود را مانیتور کنند.

  • از SPF ،DKIM و DMARC استفاده کنند.

  • آموزش امنیت سایبری برگزار نمایند.

  • سامانه‌های Anti-Phishing پیاده‌سازی کنند.

19. نقش مرورگرها در مقابله با حملات

مرورگرهای مدرن:

  • دامنه‌های مشکوک را شناسایی می‌کنند.

  • برخی کاراکترهای خطرناک را محدود می‌نمایند.

  • در شرایط خاص، دامنه را به شکل Punycode نمایش می‌دهند.

20. ابزارهای تحلیل و آزمایش

برخی ابزارهای مفید در تحلیل این حملات:

  • Punycoder

  • CyberChef

  • URL Decoder

  • Burp Suite

  • Wireshark

21. تحلیل ریسک

این نوع حملات می‌توانند منجر به:

  • سرقت اطلاعات

  • سرقت رمز عبور

  • کلاهبرداری مالی

  • نفوذ سازمانی

  • انتشار بدافزار

شوند.

22. آینده حملات IDN

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

در مقابل:

  • مرورگرها مکانیزم‌های دفاعی جدید توسعه می‌دهند.

  • ابزارهای تشخیص هوشمند پیشرفته‌تر می‌شوند.

  • استانداردهای امنیتی سخت‌گیرانه‌تری اعمال خواهد شد.

23. جمع‌بندی

فناوری‌های Punycode و URL Encoding نقش مهمی در بین‌المللی‌سازی اینترنت دارند، اما در عین حال می‌توانند توسط مهاجمان برای اجرای حملات فیشینگ و جعل دامنه مورد سوءاستفاده قرار گیرند.

شناخت دقیق این حملات برای:

  • دانشجویان امنیت سایبری

  • مدیران شبکه

  • برنامه‌نویسان

  • تحلیلگران SOC

  • پژوهشگران امنیت

ضروری است.

در نهایت، افزایش آگاهی کاربران و توسعه راهکارهای دفاعی مؤثر، مهم‌ترین ابزار مقابله با این تهدیدات محسوب می‌شود.