انتحال DNS وتسميم ذاكرة التخزين المؤقت
تزوير استجابات DNS.
انتحال DNS وتسميم ذاكرة التخزين المؤقت درس مجاني في Cyber Security Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cyber Security Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.
تزوير إجابات DNS
انتحال DNS هو تقديم استجابة DNS مزورة بحيث يحل الضحية اسمًا إلى عنوان IP يتحكم فيه المهاجم. أما تسميم ذاكرة التخزين المؤقت فهو شكل محدد من ذلك، تُقبل فيه الإجابة المزورة ويخزنها محلل تكراري مؤقتًا، مما يصيب كل عميل يستخدمه.
يكون الهدف عادةً إعادة توجيه حركة المرور: إرسال المستخدمين إلى صفحات تصيد أو ملفات برمجيات ضارة أو وكلاء وسيط من نوع man-in-the-middle.
حالة السباق
عندما يرسل المحلل استعلامًا، يحاول مهاجم حقن رد مزور قبل أن يجيب الخادم المعتمد الشرعي. فإذا وصلت الإجابة المزورة أولًا وطابقت الحقول المتوقعة، تفوز بالسباق وتُخزّن مؤقتًا.
ولهذا تؤثر عوامل مثل زمن الاستجابة وترتيب الحزم ومنفذ الخروج الخاص بالمحلل تأثيرًا كبيرًا في الهجوم والدفاع.
الحقول التي يجب على المهاجم تخمينها
لقبول استجابة UDP مزورة، يجب على المهاجم مطابقة ما يلي:
- عنوان IP المصدر (الخادم المعتمد).
- منفذ الوجهة (منفذ خروج المحلل).
- اسم الاستعلام ونوعه.
- معرّف المعاملة (TXID) المكوّن من 16 بت.
من دون وسائل حماية، يكون السر الحقيقي الوحيد هو TXID، مما يمنح احتمالًا يقارب 1 من 65,536 لكل حزمة.
هجوم Kaminsky
أظهر إفصاح Dan Kaminsky في عام 2008 أن التسميم أسهل بكثير مما كان يُعتقد. فبدلًا من إجراء سباق واحد لكل سجل، يستعلم المهاجم عن العديد من النطاقات الفرعية غير الموجودة (aaa.bank.com، aab.bank.com...) ويغرق المحلل بإجابات مزورة تحتوي على سجل NS أو سجل glue ضار للنطاق بأكمله.
كل محاولة هي سباق جديد من دون عقوبة التخزين المؤقت الناتجة عن عدم العثور على السجل، لذلك يمكن للمهاجم تكرار المحاولات حتى يصيب التخمين ويُسمّم المنطقة بأكملها.
for sub in $(seq 1 10000); do
dig $sub.bank.com @victim-resolver &
done
# Attacker floods forged NS answers in parallelعشوائية منفذ المصدر
كان الإجراء الأساسي للتخفيف بعد هجوم Kaminsky هو عشوائية منفذ المصدر. فبدلًا من استخدام منفذ خروج ثابت، يختار المحلل منفذًا عشوائيًا مؤقتًا لكل استعلام.
أصبح على المهاجم الآن تخمين كل من TXID (16 بت) ومنفذ المصدر (نحو 16 بت)، مما يوسع مساحة البحث إلى نحو 2^32. وهذا يجعل تسميم ذاكرة التخزين المؤقت من خارج المسار وبشكل أعمى غير عملي، وإن لم يكن مستحيلًا في التطبيقات ذات العشوائية الضعيفة.
المهاجمون على المسار وخارجه
لا يستطيع المهاجم خارج المسار رؤية الاستعلام، وعليه تخمين TXID والمنفذ بشكل أعمى. أما المهاجم على المسار (مثل شبكة Wi-Fi مارقة أو جهاز توجيه مخترق أو مزود خدمة الإنترنت) فيستطيع قراءة الاستعلام مباشرةً وصياغة إجابة مطابقة بسهولة.
يتجاوز الانتحال على المسار عشوائية المنفذ تمامًا، ولذلك يلزم النقل المشفّر والتحقق من DNSSEC للحصول على ضمان قوي، وليس مجرد الاعتماد على العشوائية.
DHCP مارق واختطاف المحلل
لا يزوّر المهاجمون الحزم دائمًا. إذ يستطيع خادم DHCP مارق تزويد العملاء بعنوان محلل DNS ضار، بحيث يجيب المهاجم عن كل عملية بحث. وبالمثل، تعيد البرمجيات الضارة كتابة /etc/resolv.conf أو إعدادات جهاز التوجيه.
وقد أعادت تهديدات تاريخية مثل برمجية DNSChanger توجيه DNS الخاص بالضحايا خفيةً إلى خوادم احتيالية لسنوات. تحققوا من المحللات التي تستخدمها أجهزتكم فعليًا.
cat /etc/resolv.conf
# nameserver should match your trusted internal resolverالتحقق من النطاق المسموح
تفرض المحللات قواعد النطاق المسموح: لا يمكن للاستجابة أن توفر إلا سجلات لأسماء تقع داخل المنطقة التي يملك الخادم صلاحية اعتمادها. فلا يمكن لإجابة عن bank.com أن تهرّب سجلًا لـ unrelated.com.
يحد ذلك من عمليات الحقن على نمط Kaminsky إلى النطاق الذي جرى الاستعلام عنه، ويمنع إجابة مسمّمة واحدة من تلويث مناطق غير مرتبطة. تحققوا من أن المحلل يفرض تصفية صارمة وفق النطاق المسموح.
اكتشاف التسميم
علامات تدل على تسميم جارٍ أو ناجح:
- ارتفاع مفاجئ في الاستعلامات عن نطاقات فرعية عشوائية وغير موجودة.
- استجابات DNS مكررة أو خارجة عن الترتيب لنفس TXID.
- عناوين IP محلولة تشير فجأةً إلى أرقام أنظمة مستقلة أو مناطق جغرافية غير متوقعة.
- اختلاف بين إجابات المحلل ونتيجة بحث موثوقة خارج القناة.
دفاعات متعددة الطبقات
لا تكفي أي وسيلة تحكم منفردة. اجمعوا بين ما يلي:
- عشوائية منفذ المصدر وTXID لزيادة تكلفة الهجوم من خارج المسار.
- التحقق من DNSSEC حتى تفشل الإجابات المزورة في فحوصات التوقيع.
- DoT/DoH لمنع المهاجمين على المسار من الرؤية والتلاعب.
- ترميز 0x20 (استخدام حالة عشوائية في أسماء الاستعلامات) لإضافة مزيد من العشوائية.
- مراقبة فيضانات NXDOMAIN وشذوذ الإجابات.
الواقع التشغيلي
عمليًا، أصبح تسميم ذاكرة التخزين المؤقت من خارج المسار وبشكل أعمى نادرًا اليوم في المحللات المصححة، لكنه يعود عبر قنوات جانبية (مثل تجزئة UDP وهجمات استنتاج المنفذ المستندة إلى ICMP، ومنها SAD DNS). حافظوا على تحديث المحللات، وفضّلوا استخدام محللات تتحقق من الإجابات وتوفر نقلًا مشفّرًا.
تذكروا أن الاختراق الأعلى أثرًا لـ DNS لا يكون غالبًا سباق تسميم مبتكرًا، بل حسابًا مسروقًا لدى المسجل. احموا الطرفين.
اختبار سريع
اختبروا مدى استيعابكم لتقنية Kaminsky.
مراجعة
ينشئ انتحال DNS استجابات مزوّرة؛ ويجعل تسميم ذاكرة التخزين المؤقت هذه الاستجابات تستمر في محلّل. يتوقف قبولها على تطابق عنوان IP المصدر والمنفذ واسم الاستعلام وTXID. جعلت عشوائية منفذ المصدر وفحوصات bailiwick مهمة المهاجمين خارج المسار أصعب، لكن المهاجمين داخل المسار والقنوات الجانبية ما زالوا يشكّلون تهديدًا.
يُعدّ الدفاع متعدد الطبقات (الإنتروبيا، والتحقق من DNSSEC، والنقل المشفّر، والمراقبة) ضروريًا. بعد ذلك، سننظر في كيفية إساءة المهاجمين استخدام DNS لنقل البيانات: عبر الأنفاق والاستخراج.
الأسئلة الشائعة
هل درس «انتحال DNS وتسميم ذاكرة التخزين المؤقت» مجاني؟
نعم — نص درس «انتحال DNS وتسميم ذاكرة التخزين المؤقت» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cyber Security Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.
ماذا ستتعلم في «انتحال DNS وتسميم ذاكرة التخزين المؤقت»؟
تزوير استجابات DNS. تتمرن على Cyber Security Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cyber Security Academy؟
لا تُشترط خبرة سابقة. Cyber Security Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «انتحال DNS وتسميم ذاكرة التخزين المؤقت»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cyber Security Academy هذا؟
نعم. كل درس في Cyber Security Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- كيف يعمل DNS ومخاطره
- انتحال DNS وتسميم ذاكرة التخزين المؤقت
- النفق عبر DNS واستخراج البيانات
- أمان DNS وتصفية DNS