كيف تعمل هجمات IDN المتجانسة وكيف تكتشفها
تسمح أسماء النطاقات الدولية (IDN) باستخدام حروف من أنظمة كتابة كثيرة. وفي الهجوم المتجانس يسجّل شخص نطاقاً استُبدلت فيه حروف لاتينية بحروف مطابقة في الشكل من نظام كتابة آخر، فيبدو الرابط كعنوان موثوق لكنه يقود إلى نطاق مختلف.
مثال محلول
- الإدخال
- еxаmple.com
- أنظمة الكتابة المكتشفة
- السيريلية (Cyrl), اللاتينية (Latn)
- المحارف المُعلَّمة
- 2
| الموضع | المحرف | نقطة الترميز | نظام الكتابة | البديل | القاعدة |
|---|---|---|---|---|---|
| 0 | е | U+0435 | السيريلية | e | جدول المحارف الملتبسة |
| 2 | а | U+0430 | السيريلية | a | جدول المحارف الملتبسة |
- Punycode (ما يستعلم عنه نظام DNS)
- xn--xmple-4ve7a.com
- الرجوع الصارم لـ ASCII
- example.com
طريقة العمل
- لا يتعامل نظام DNS إلا مع ASCII، لذا تُحوَّل التسمية التي تحتوي على محارف أخرى إلى Punycode الذي يبدأ بـ xn--. وصيغة Punycode هي الاسم الحقيقي: فإذا تحوّل عنوان مألوف المظهر إلى xn--…، فهو ليس النطاق الذي يبدو عليه.
- تعرض المتصفحات عادةً صيغة Punycode عندما تخلط التسمية بين أنظمة كتابة، لكن برامج البريد وتطبيقات الدردشة والمستندات كثيراً ما تعرض صيغة Unicode المضللة، وقد تمر تسمية مكتوبة بالكامل بنظام كتابة واحد مشابه دون أن تُكتشف.
- للتحقق من نطاق، الصقه في الكاشف. إذا ظهر أي محرف مُعلَّم، أو أكثر من نظام كتابة في تسمية واحدة، أو صيغة منظّفة تختلف عن الأصل، فاكتب العنوان بنفسك أو افتحه من الإشارات المرجعية بدلاً من الرابط.
يعتبر التحويل أفضل جهد: تعتبر العناصر القابلة للارتباك المعينة والطي NFKC أمرًا حتميًا، ولكن لن يتم وضع علامة على بعض Unicode الشرعي.
النص الخاص بك
اللصق أو الكتابة - يتم تحديث النتائج أثناء الكتابة (يتم حذفها قليلاً للإدخال الطويل).
تم فحص 11 أحرف
2 مشبوهة
الرجوع الصارم لـ ASCII
الأصلي (تم وضع علامة على الأحرف المشبوهة)
يتم وضع خط تحت الأحرف المشبوهة في العرض الأصلي ويتم تصنيفها على أنها "susp". بالإضافة إلى تسليط الضوء على اللون.
suspicious character еxsuspicious character аmple.com
الناتج بعد التنظيف
تحليل الأحرف
| الفهرس (على أساس 0) | أصلي | استبدال | نقطة الكود | السبب |
|---|---|---|---|---|
| 0 | е | e | U+0435 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 1 | x | x | U+0078 | Not flagged as a confusable or compatibility character. |
| 2 | а | a | U+0430 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 3 | m | m | U+006D | Not flagged as a confusable or compatibility character. |
| 4 | p | p | U+0070 | Not flagged as a confusable or compatibility character. |
| 5 | l | l | U+006C | Not flagged as a confusable or compatibility character. |
| 6 | e | e | U+0065 | Not flagged as a confusable or compatibility character. |
| 7 | . | . | U+002E | Not flagged as a confusable or compatibility character. |
| 8 | c | c | U+0063 | Not flagged as a confusable or compatibility character. |
| 9 | o | o | U+006F | Not flagged as a confusable or compatibility character. |
| 10 | m | m | U+006D | Not flagged as a confusable or compatibility character. |