خطوات الاستخدام
1. أدخل متوسط حجم الاستعلام (avgQuerySize) بالبايت: هذا هو متوسط حجم حزم DNS التي تمر عبر الشبكة. في البروتوكول العادي، نادراً ما يتجاوز حجم استعلام DNS 100 بايت. إذا كان متوسط الحجم أكبر بكثير (مثلاً 500 بايت أو أكثر)، فقد يشير ذلك إلى توجيه بيانات مشفرة أو مضغوطة داخل نفق DNS. القيم الطبيعية تتراوح بين 40-60 بايت للاستعلامات النصية وعادةً ما تكون أقل من 100 بايت للاستعلامات الثنائية.
2. أدخل تكرار الاستعلام (queryFrequency) بالاستعلامات في الثانية: يقيس هذا عدد استعلامات DNS المرسلة لكل ثانية في المتوسط. في الشبكات العادية، يتراوح التكرار بين 1-10 استعلامات في الثانية لكل جهاز (حسب النشاط). عندما يزيد التكرار عن 50 أو 100 استعلام في الثانية، قد يكون ذلك علامة على هجوم نفق DNS حيث يحاول المهاجم نقل كمية كبيرة من البيانات عبر DNS. يرجى ملاحظة أن بعض التطبيقات المشروعة قد تسبب معدلات عالية، لذا يجب النظر في السياق.
3. أدخل الانتروبيا (entropy) على مقياس من 0 إلى 1: الانتروبيا تقيس العشوائية في أسماء النطاقات التي يتم الاستعلام عنها. في الاستعلامات العادية، تكون أسماء النطاقات مألوفة (مثل google.com) ولها انتروبيا منخفضة (عادة أقل من 0.5). عند استخدام نفق DNS، يقوم المهاجم بتشفير البيانات في أسماء نطاقات تبدو عشوائية (مثل a3x8f2h4q9.example.com) مما يرفع الانتروبيا قريباً من 1. القيم فوق 0.7 تعتبر مثيرة للريبة. ولتحويل الإنتروبيا المحسوبة بالبت لكل حرف (2-3 بت للنطاقات المألوفة وتقترب من 6 للترميز base64 كما يوضح السؤال الثاني) إلى هذا المقياس المطبَّع، اقسم على 6: فالقيمة 3 بتات ⇒ 0.5، و 5.7 بت ⇒ 0.95.
4. حساب المخاطر: تقوم الخوارزمية بدمج هذه القيم الثلاث في صيغة مرجحة لإنتاج درجة خطورة من 0 إلى 100. تُطبع القيم خطيًا مع قطع عند [0،1] بالحواجز الموثقة في المثالين: normSize = (الحجم − 40) ÷ (1000 − 40)، و normFreq = (التكرار − 1) ÷ (100 − 1) — وما فوق 100 استعلام في الثانية يُقطع عند 1 كما ينص المثال الثاني — والانتروبيا مطبَّعة أصلًا بين 0 و1. ثم Risk = 0.33 × (normSize + normFreq + entropy) × 100، أي سقف نظري 99% لأن مجموع الأوزان 0.99. تُعرض القيم المطبَّعة الثلاث في التفاصيل. كلما اقتربت النتيجة من 100، زادت احتمالية وجود نفق DNS.
5. تحليل النتيجة: إذا كانت النتيجة أكبر من 70، فهذا يشير إلى مخاطر عالية ويوصى بفحص حركة المرور بشكل أعمق باستخدام أدوات تحليل الحزم (مثل Wireshark) أو تفعيل أنظمة كشف التسلل (IDS). إذا كانت بين 30 و 70، فهي مخاطر متوسطة تستدعي المراقبة. أقل من 30 تعتبر طبيعية. ينبغي دائماً أخذ العوامل الأخرى في الاعتبار، مثل نوع التطبيقات المستخدمة وسياسات الشبكة.
أمثلة محلولة
تطبيقات عملية على مخاطر نفق DNS بخطوات الحل كاملة.
الحل
لنحسب المخاطر خطوة بخطوة. أولاً، نقوم بتطبيع القيم:
- حجم الاستعلام: 120 بايت. الحد الأدنى الطبيعي 40، الأقصى للشذوذ 1000. نستخدم دالة خطية: normSize = (120-40)/(1000-40) = 80/960 ≈ 0.0833.
- التكرار: 15 استعلام/ثانية. الحد الأدنى 1، الأقصى 100. normFreq = (15-1)/(100-1) = 14/99 ≈ 0.1414.
- الانتروبيا معطاة 0.6.
نفترض أوزان متساوية (0.33 لكل منها):
Risk = 0.33 * (0.0833 + 0.1414 + 0.6) * 100 = 0.33 * 0.8247 * 100 ≈ 27.2.
النتيجة 27.2 وهي أقل من 30، لذا تعتبر مخاطر منخفضة. رغم أن حجم الاستعلام والانتروبيا مرتفعان قليلاً، لكن التكرار منخفض نسبياً. هذا قد يكون نشاطاً طبيعياً لتطبيقات مثل التحديثات أو VPN المشروعة. يُنصح بمراقبة التوجهات بدلاً من اتخاذ إجراء فوري.
الحل
نطبق نفس الصيغة مع التطبيع:
- normSize = (750-40)/(1000-40) = 710/960 ≈ 0.7396.
- normFreq = (200-1)/(100-1) = 199/99 ≈ 2.0101. لكن الترددات فوق 100 تعتبر شاذة، لذا نقطعها عند 1 (أي نأخذ 1 كحد أقصى). نعم، نستخدم دالة قطع: إذا كان التكرار > 100، normFreq = 1. إذاً normFreq = 1.
- entropy = 0.95.
Risk = 0.33 * (0.7396 + 1 + 0.95) * 100 = 0.33 * 2.6896 * 100 ≈ 88.8.
النتيجة 88.8، وهي أعلى من 70، مما يشير إلى مخاطر عالية جداً لنفق DNS. هذا السيناريو نموذجي لهجوم نفق DNS حيث يستخدم المهاجم استعلامات كبيرة وعشوائية بمعدل عالٍ لنقل البيانات المسروقة أو أوامر التحكم. يجب اتخاذ إجراءات فورية مثل حظر النطاقات المشبوهة، تحليل الحزم، وتفعيل قواعد جدار الحماية لمنع استعلامات DNS ذات الحجم الكبير.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة مخاطر نفق DNS.
مرجع — شبكة صغيرة طبيعية: 27.22% منخفضة
- متوسط حجم الاستعلام (بايت، 40 طبيعيًا وفوق 1000 شاذ)
- 120
- تردد الاستعلام (في الثانية، 1-100)
- 15
- إنتروبيا النطاق (مطبَّعة 0-1)
- 0.6
مرجع — هجوم على خادم عام: 88.76% عالية
- متوسط حجم الاستعلام (بايت، 40 طبيعيًا وفوق 1000 شاذ)
- 750
- تردد الاستعلام (في الثانية، 1-100)
- 200
- إنتروبيا النطاق (مطبَّعة 0-1)
- 0.95
مرجع — أدنى القيم: 0%
- متوسط حجم الاستعلام (بايت، 40 طبيعيًا وفوق 1000 شاذ)
- 40
- تردد الاستعلام (في الثانية، 1-100)
- 1
- إنتروبيا النطاق (مطبَّعة 0-1)
- 0
مرجع — أقصى مخاطرة ممكنة: 99%
- متوسط حجم الاستعلام (بايت، 40 طبيعيًا وفوق 1000 شاذ)
- 1,000
- تردد الاستعلام (في الثانية، 1-100)
- 100
- إنتروبيا النطاق (مطبَّعة 0-1)
- 1
مرجع — منتصف النطاق: 55.25% متوسطة
- متوسط حجم الاستعلام (بايت، 40 طبيعيًا وفوق 1000 شاذ)
- 500
- تردد الاستعلام (في الثانية، 1-100)
- 50
- إنتروبيا النطاق (مطبَّعة 0-1)
- 0.7
مرجع — حدّ الثلاثين: 30.03 متوسطة
- متوسط حجم الاستعلام (بايت، 40 طبيعيًا وفوق 1000 شاذ)
- 40
- تردد الاستعلام (في الثانية، 1-100)
- 1
- إنتروبيا النطاق (مطبَّعة 0-1)
- 0.91