الجواب السريع
ما هو هجوم IDN Homograph؟
يسجّل هجوم IDN Homograph اسم نطاق دولي تشبه فيه الأحرف السيريلية أو اليونانية الأحرف اللاتينية، فيُقرأ exаmplecoin.com كأنه examplecoin.com. ويُخزَّن بصيغة punycode التي تبدأ بـxn--. وتعرض Chrome هذه الصيغة الخام للتسميات المختلطة الأبجديات، ومنذ الإصدار 51 تتجاهل إعداد لغة المستخدم. Wardmint تسجّل متغيرات ASCII لاسمك.
الأسماء التي تبدو متطابقة وما يخزّنه النظام
| يظهر كـ | ما الفرق | يُخزَّن في DNS كـ |
|---|---|---|
| examplecoin.com | أحرف لاتينية عادية، وهو الاسم الحقيقي | examplecoin.com |
| exаmplecoin.com | الحرف الثاني سيريلي а (U+0430)، مختلط مع أحرف لاتينية | xn--exmplecoin-0qi.com |
| еxamplecoin.com | الحرف الأول سيريلي е (U+0435)، مختلط مع أحرف لاتينية | xn--xamplecoin-jsi.com |
| аррӏе.com | كل الأحرف سيريلية: а، р، р، ӏ، е | xn--80ak6aa92e.com |
node -e "console.log(require('url').domainToASCII('аррӏе.com'))"
# xn--80ak6aa92e.comكيف يعمل هجوم IDN Homograph؟
يعمل لأن Unicode يحتوي أحرفًا من أبجديات مختلفة تبدو متشابهة، ونظام النطاقات يسمح لأي شخص بتسجيل أسماء تستخدمها. واسم النطاق الدولي (IDN) اسم فيه محارف غير ASCII. ولا يتعامل DNS إلا مع ASCII، لذا تُحوّل كل تسمية من هذا النوع إلى punycode، وهي سلسلة تبدأ بـxn-- متبوعة بصيغة مشفّرة. ويرى الإنسان النسخة Unicode إن قرر المتصفح عرضها؛ أما البرمجيات التي تخزّن الاسم أو تسجّله فترى صيغة xn--.
يسجّل المهاجم اسمًا يُستبدل فيه حرف لاتيني أو أكثر بنظير مشابه، كالحرف السيريلي а بدلًا من a اللاتيني مثلًا. ويقبل السجل والمسجّل الاسم لأنه اسم صالح. فيقرأ الزائر examplecoin.com ويوقّع معاملة على نسخة من موقعك.
ماذا تعني البادئة xn--؟
البادئة xn-- تعلّم تسمية تحمل محارف غير ASCII بصيغة مشفّرة. في الأمثلة أعلاه، xn--exmplecoin-0qi.com هو الشكل المخزّن لـexаmplecoin.com: تأتي أحرف ASCII للتسمية أولًا، ويلي الشرطة الحرف السيريلي المشفّر. والاسم الذي يبدأ بـxn-- ليس خبيثًا في ذاته؛ فمواقع كثيرة مشروعة بلغات أخرى تستخدمه. والمهم هو هل يقلّد السلسلة المفكوكة علامة تجارية. ويمكنك فك أي اسم مشبوه بنص مثل المثال أعلاه، أو بلصقه في أداة بحث، قبل أن تنقر.
كيف تقرر Chrome عرض Unicode أو punycode؟
تقرر Chrome لكل تسمية على حدة، وتعرض صيغة xn-- كلما فشل فحص. وتشمل الفحوص الموثّقة خلط أبجديات يجب ألا تُخلط (اللاتينية مع السيريلية أو اليونانية)، والمحارف المتشابهة المختلطة من بيانات أمان Unicode، والتسميات المكوّنة فقط من أحرف متشابهة من أبجدية واحدة حين لا يكون الامتداد في تلك الأبجدية. وترفض Chrome أيضًا التسميات المكوّنة من أرقام فقط أو بأشكال أرقام متشابهة، والتسميات التي تطابق نطاقًا عامًا بعد إزالة التشكيل. وإذا اجتازت التسمية كل الفحوص، عُرضت بصيغة Unicode. ولا تعتمد السياسة على إعداد لغة المستخدم.
أما الاسم السيريلي كله аррӏе.com في الجدول فهو حالة الأبجدية الكاملة: لا يخلط شيئًا، لذلك لا تلتقطه قاعدة الخلط، وتعتمد Chrome على فحصها المنفصل للأبجدية كاملة. وللمتصفحات الأخرى سياساتها الخاصة التي لم تقرأها Wardmint، لذلك توثّق هذه الصفحة Chrome وحدها. أما خطر الخلط في العناوين بوجه عام فموجود في أنواع النطاقات المشابهة التي يسجّلها المتصيّدون.
كيف أحمي علامتي من نطاقات homograph؟
سجّل متغيرات ASCII التي تستطيع، وراقب الباقي، وأبلغ عما تجده. لا يمكنك تسجيل اسم homograph مسبقًا بكل الأبجديات، لأن التوليفات أكثر من اللازم. لكن يمكنك البحث عنها: يولّد dnstwist أسماء homoglyph من مجموعة مدروسة من محارف Unicode ويتحقق من الموجود منها، وتُظهر سجلات الشهادات أسماء تحمل علامتك في صيغتها المفكوكة. ودليل إيجاد النطاقات المشابهة يحتوي الأوامر، وكيف تراقب شفافية الشهادات يغطي السجلات.
لا تصف صفحات Wardmint إلا تسجيل أسماء ASCII، ولا تدّعي تسجيل IDN. وبالنسبة لـhomoglyphs ASCII (1 بدلًا من l، وrn بدلًا من m)، فالتغطية نفسها لأي خطأ إملائي: انظر كيف تحمي علامتك التجارية من انتحال النطاقات.
ماذا تقول أرقام Wardmint عن ذلك؟
فحصت Wardmint سياسة Chromium بتاريخ 12 نوفمبر 2026، ورتّبت قواعدها في 5 عائلات من الفحوص تحدد الاختيار بين Unicode وpunycode: التحويل والصلاحية، وخلط الأبجديات، والترقيم والمحارف غير المرئية، والمتشابهات (confusables)، والأرقام والأنماط والنطاقات العليا. والتجميع من عمل Wardmint؛ أما القواعد فهي لـChromium.
النطاق homograph هو اسم نطاق تختلف أحرفه عن اسم معروف لكنها تبدو متطابقة للقارئ. وهجوم IDN homograph هو استخدام مثل هذا الاسم لانتحال علامة. وPunycode هو ترميز ASCII الذي يبدأ بـxn--، ويخزّنه DNS للأسماء التي تحتوي أحرفًا غير ASCII.
أسئلة حول هجمات homograph
هل أستطيع رؤية الاسم الحقيقي وراء نطاق Unicode؟
نعم. حوّله إلى صيغته المخزّنة بسطر برمجي أو أداة بحث، واقرأ سلسلة xn-- وبيانات المسجّل. وأي اختلاف عن الاسم الذي كنت تتوقعه تحذير.
هل تحميني شهادة HTTPS من موقع homograph؟
لا. فيستطيع نطاق مشابه أن يحصل على شهادة كأي نطاق آخر، فالقفل يثبت اتصالًا مشفّرًا لا هوية الموقع.
هل تحجب Chrome كل نطاق homograph؟
لا. تطبّق مجموعة موثّقة من الفحوص وتعرض punycode عند فشل أحدها. والاسم الذي يجتاز كلها يُعرض بصيغة Unicode، فتعامل مع الروابط غير المألوفة بحذر.
هل أستطيع الإبلاغ عن نسخة IDN مشابهة كأي نطاق تصيّد آخر؟
نعم. استخدم مسار إساءة المسجّل مع الاسم المخزّن xn--، والاسم المفكوك، ولقطة شاشة. والخطوات نفسها لأي نطاق تصيّد.
خلاصة
- يستبدل هجوم IDN Homograph الأحرف اللاتينية بنظيراتها من أبجديات أخرى.
- يخزّن DNS الاسم بصيغة punycode التي تبدأ بـxn--.
- تقرر Chrome لكل تسمية على حدة، ولا تأخذ بإعداد لغة المستخدم منذ الإصدار 51.
- تعرض Chrome التسميات المختلطة بين اللاتينية والسيريلية بصيغة xn--.
- HTTPS لا يثبت من يملك النسخة المشابهة.
- اعثر عليها بـdnstwist وسجلات الشهادات، وأبلغ عنها كنطاقات تصيّد.
- تسجّل Wardmint متغيرات ASCII لاسمك عبر 29 امتدادًا.
المصادر (2)
- سياسة عرض IDN في Chromium (docs/idn.md) — The Chromium Projects (تاريخ القراءة 2026-11-12)
- dnstwist، محرك تبديل أسماء النطاقات — GitHub (elceef/dnstwist) (تاريخ القراءة 2026-11-12)