Domain Name System أو إختصارا  DNS مكون مهم لوظائف مختلف خدمات الإنترنت. يقوم بتوفير حلول لمختلف الخدمات مثل تحويل أسماء المواقع الى أرقام IPs وبالعكس. تم تصميم DNS في أوائل الثمانينات بدون اي مراعاة أمنية. يرجع سبب هذه الشئ لأن الشبكات في ذاك الوقت كانت جدا صغيرة. جميع hosts بالشبكة كانو معروفين مسبقا و موثوقين. فلا حاجة للتحقق والموثوقية .

لكن مع تقدم الوقت و نمو الشبكة والإنترنت فإن DNS لم يتغير. أدى ذلك الى تهديدات كثيرة إستهدفت DNS نتيجة قلة الموثوقية والسلامة التي تتحقق من البيانات ضمن DNS. في عام 1994, قامت (Internet Engineering Task Force (IETF

بالعمل لإضافة ملحقات أمنية تعرف بـ (Domain Name System Security Exensions (DNSSEC لبروتوكول DNS الموجود. لسوئ الحظ فإن هذه الإمتدادات تظل بعيدة عن إعتمادها.

تهديدات DNS


  1. Zone File Compromise
  2. Zone Information Leakage/DNS Footprinting
  3. DNS Amplification Attack
  4. DNS Client flooding
  5. DNS Cache poisoning
  6. DNS Vulnerabilities in Shared Host Environments
  7. DNS Man in the Middle Attacks – DNS Hijacking
  8. Typosquatting

 

Zone File Compromise

سيرفر DNS مستضاف على عدد من الأجهزة. يقوم المدير بضبط إعدادات DNS سيرفر الذي يشمل أيضا سجلات DNS بإستخدام واجهة سطر الأوامر او واجهة GUI المزودة من قبل سيرفر DNS.

في هجمات Zone File Compromise, يقوم المهاجم بالهجوم على سيرفر DNS من خلال وصوله المباشر الى السيرفرات. يمكن أن يكون متصل وهو موجود بشكل مباشر بالمكان او عبر إتصاله من خلال إتصال SSH/RDP.

وللحد من هذه الهجمات فيجب تقييد الوصول الى سيرفر DNS بالحالتين الفيزيائية او عن بعد.

Zone Information Leakage/DNS Footprinting

هجمات DNS Zone Transfer تشمل بقيام DNS Server بتمرير جزء من نسخة قاعدة بياناته تسمى (zone) الى DNS Server أخر. تستخدم Zone Transfer عندما نحتاج لأكثر من DNS Server يجيب على إستفسارات “queries” لـ zone معينة. يوجد مايدعى بـ Master DNS Server و Slave DNS Master أو سيرفر رئيسي وسيرفرات تعمل تحت إمرته. Slave DNS Server يقوم بطلب نقل zone من Master DNS Server.

المهاجم يدعي بأنه Slave DNS Server فيقوم بطلب نسخة من السجلات (records) من Master DNS Server. هذه السجلات تكشف بنية (topology) الشبكة الداخلية.

خطوات القيام بـZone Transfer على UNIX machine:

تظهر أسماء السيرفرات الموثوقة لذلك domain

dig NS ‘domain’ +short

إسترجاع جميع سجلات DNS من سيرفر معين

dig AXFR ‘domain’ @’nameserver’

ولتفادي هذا الهجوم بمن الأفضل تقييد نقل zone الى عناوين IP معينة او إستخدام اي نوع من authentication.

 

DNS Amplification Attack

هذا الهجوم يستخدم للقيام بهجمات DOS على جهاز الضحية بإستخدام DNS servers حقيقية. تكون الطريقة بإرسال DNS packets الى DNS server ووضع رقم IP الضحية كرقم IP المصدر (source ip). هنا يقوم DNS server بالرد بإجابات (dns responces) جدا كبيرة وتذهب لجهاز الضحية.

 

DNS Client Flooding

يهدف هذا الهجوم لإرسال فيضان من طلبات UDP الى DNS server لإتعابه. التقنية الشائعة هي إرسال DNS request packets من أجل domain غير صحيح. DNS server يقوم بإستهلاك موارده للبحث عن هذا domain. بعد حد معين لن يملك اي موارد لخدمة الطلبات الحقيقية.

 

DNS Cache Poisoning

يقوم Client بالطلب من DNS server الخاص به عن domain معين. يقوم DNS sever بطلب هذا domain من DNS server أخرى وبعد الحصول على النتيجة, يخزنها (caches it) بانتظار قيمة TTL. طلب client للـ domain يأتي من cache بدلا من قيامه بطلب domain من DNS servers أخرى مرة ثانية.

يقوم المخترق بوضع معلومات خاطئة في cache التابعة لـ DNS server المحلي. المهاجم يقوم بالرد على DNS server بالعنوان الخاطئ قبل مايصل الرد الحقيقي.

dns_cache_poisoning

مصدر الصورة : هنا

 

DNS Vulnerabilities in Shared Host Environments

بيئة مشاركة الاجهزة هي عبارة عن DNS server مشارك بين العديد من المستخدمين والمجالات. خدمات مجانية مثل cpanel توفر هذه الإمكانيات.

لنفترض بأن المهاجم إستخدم DNS server مشترك قام بإنشاء zone file في مجال xyz.com وإضافة سجلات ذات صلة ( A , MX). الأن اي مستخدم لديه هذا DNS server كسيرفر رئيسي سيحاول الدخول الى xyz.com سيتم توجيه الى السجلات الخاطئة وليس الصفحة المطلوبة.

dns_shared_host_vulnerability

مصدر الصور : هنا

 

DNS Man in the Middle Attacks – DNS Hijacking

يقوم المخترق بإعتراض رسائل تحليل الأسماء “name resolution queries”  المرسلة من قبل client الى DNS server. يمكنه بعد ذلك بإرسال ردود خاطئة الى client. يجب على المخترق بإرسال رده الى client قبل إجابة DNS server له. يقوم client بأخذ اول رد يصله ولايمكنه التمييز بين المهاجم و DNS server.

dns_mitm

مصدر الصورة : هنا

 

Typosquatting

أيضا يدعى URL hijacking, sting site, fake URL هو نوع من أنواع السطو الإلكتروني أو سرقة العلامة التجارية وتعتمد بالأساس على الأخطاء  على سبيل المثال الأخطاء المطبعية من مستخدمي الأنترنت عندما يقومو بكتابة عنوان صفحة الإنترنت في المتصفح. فيجب على المستخدم إدخال إسم صفحة إنترنت خاطئة ثم هذا سيقوده الى URL مختلفة وهي من صنع cyberquatter. فالمهاجم يدخل أسماء شبيهة بأسماء المواقع. هذه التهديد لا يستهدف ضحايا معينين.

 

(DNSSEC (Domain Name System Security Extensions


لقد تكلمنا في بداية المقال عن الإضافات المسماة DNSSEC ولقد تم إصدارها رسميا عام 2005. للأسف منذ ذلك الوقت فإن هذه الملحقات غير معتمدة. رغم توافقيتها, ممكن بسبب مشغلي الشبكة يفضلو الأستقرار على التعقيد.

التوافق نفذ بإستخدام بناء (RR (Resource Record للـ DNS الذي صمم ليكون قابل للتجديد. مجموعة جديدة من RRs قدمت لتمسك بالمعلومات الأمنية.  عند تصميم DNSSEC تم تسجيل جميع المشاكل عن الأداء.

يقوم DNSSEC بتزويد المصادقة و السلامة للـ DNS. هذا يساعد للحد من الهجمات. هجمات Cache poisoning , Client flooding تمنع بإضافة مصادقة عند المصدر. حتى هجمات Zone File Compromise قد خفت. لكن DNSSEC لاتقدم اي حماية بالنسبة لتسريب المعلومات.

ترجمة لمقال : DNS Security لصاحبها Dhaval Kapil.