سمحت الثغرات الموجودة في Dnsmasq بانتحال المحتوى في ذاكرة التخزين المؤقت لنظام أسماء النطاقات

نُشرت مؤخرًا معلوماتٌ تُفيد باكتشاف سبع ثغراتٍ أمنيةٍ في حزمة Dnsmasq، التي تجمع بين مُحلِّل أسماء النطاقات (DNS) المُخزِّن المؤقت وخادم DHCP، والتي تحمل الاسم الرمزي DNSpooq. تسمح هذه الثغرات بتنفيذ هجماتٍ على ذاكرة التخزين المؤقت لنظام أسماء النطاقات (DNS) أو تجاوزاتٍ في سعة المخزن المؤقت، مما قد يُؤدي إلى تنفيذ تعليماتٍ برمجيةٍ عن بُعد من قِبل المُهاجم.

على الرغم من أن برنامج Dnsmasq قد توقف استخدامه مؤخرًا كبرنامج افتراضي لحل أسماء النطاقات في توزيعات لينكس القياسية، إلا أنه لا يزال يُستخدم في نظام أندرويد وتوزيعات متخصصة مثل OpenWrt وDD-WRT، بالإضافة إلى استخدامه في البرامج الثابتة للعديد من أجهزة التوجيه اللاسلكية. في التوزيعات القياسية، يُمكن استخدام Dnsmasq ضمنيًا؛ على سبيل المثال، عند استخدام libvirt، يُمكن تشغيله لتوفير خدمة DNS في الأجهزة الافتراضية أو تفعيله عن طريق تغيير الإعدادات في مُكوّن NetworkManager.

بالنظر إلى أن ثقافة تحديث أجهزة التوجيه اللاسلكية تترك الكثير مما هو مرغوب فيه، يخشى الباحثون أن تظل المشكلات المحددة دون حل لفترة طويلة وأن تصبح هدفًا للهجمات الآلية على أجهزة التوجيه للسيطرة عليها أو لإعادة توجيه المستخدمين إلى مواقع خبيثة مزيفة.

هناك ما يقارب 40 شركة تعتمد على Dnsmasq ، بما في ذلك Cisco وComcast وNetgear وUbiquiti وSiemens وArista وTechnicolor وAruba وWind River وAsus وAT&T وD-Link وHuawei وJuniper وMotorola وSynology وXiaomi وZTE وZyxel. قد يُنصح مستخدمو هذه الأجهزة بعدم استخدام خدمة إعادة توجيه استعلامات DNS المدمجة.

يتعلق الجزء الأول من نقاط الضعف المكتشفة في Dnsmasq بالحماية من هجمات تسميم ذاكرة التخزين المؤقت لنظام أسماء النطاقات، استنادًا إلى طريقة اقترحها دان كامينسكي في عام 2008.

تُؤدي الثغرات الأمنية المكتشفة إلى تعطيل الحماية الحالية، وتسمح بانتحال عنوان IP لأي نطاق في ذاكرة التخزين المؤقت. وتستغل طريقة كامينسكي الحجم الضئيل لحقل تعريف استعلام نظام أسماء النطاقات (DNS)، والذي لا يتجاوز 16 بتًا.

للعثور على المعرّف الصحيح اللازم لتزييف اسم المضيف، يكفي إرسال ما يقارب 7.000 طلب ومحاكاة حوالي 140.000 استجابة مزيفة. وتتلخص هذه الهجمة في إرسال عدد كبير من الحزم المزيفة المرتبطة بعناوين IP إلى خادم DNS باستخدام معرّفات معاملات DNS مختلفة.

تُقلل الثغرات الأمنية المكتشفة مستوى الإنتروبيا المتوقع من 32 بت إلى 19 بت فقط، مما يجعل هجوم تسميم ذاكرة التخزين المؤقت واقعيًا للغاية. علاوة على ذلك، تسمح آلية تعامل dnsmasq مع سجلات CNAME بتزوير سلسلة سجل CNAME، مما يُمكّنه من انتحال ما يصل إلى تسعة سجلات DNS في آن واحد بكفاءة عالية.

  • CVE-2020-25684: عدم التحقق من صحة معرّف الطلب بالإضافة إلى عنوان IP ورقم المنفذ عند معالجة استجابات DNS من الخوادم الخارجية. هذا السلوك غير متوافق مع RFC-5452 ، والذي يتطلب سمات طلب إضافية لاستخدامها عند مطابقة استجابة.
  • CVE-2020-25686: عدم التحقق من صحة الطلبات المعلقة التي تحمل الاسم نفسه ، مما يسمح باستخدام طريقة عيد الميلاد لتقليل عدد المحاولات المطلوبة لتزوير استجابة بشكل كبير. بالاقتران مع الثغرة الأمنية CVE-2020-25684 ، يمكن لهذه الميزة أن تقلل بشكل كبير من تعقيد الهجوم.
  • CVE-2020-25685: استخدام خوارزمية التجزئة CRC32 غير الموثوق بها عند التحقق من الردود ، في حالة التجميع بدون DNSSEC (يتم استخدام SHA-1 مع DNSSEC). يمكن استخدام الثغرة الأمنية لتقليل عدد المحاولات بشكل كبير من خلال السماح لك باستغلال المجالات التي لها نفس تجزئة CRC32 مثل المجال الهدف.
  • المجموعة الثانية من المشاكل (CVE-2020-25681 و CVE-2020-25682 و CVE-2020-25683 و CVE-2020-25687) ناتجة عن أخطاء تتسبب في فائض المخزن المؤقت عند معالجة بيانات خارجية معينة.
  • بالنسبة إلى الثغرات الأمنية CVE-2020-25681 و CVE-2020-25682 ، من الممكن إنشاء ثغرات قد تؤدي إلى تنفيذ التعليمات البرمجية على النظام.

وأخيرًا، تجدر الإشارة إلى أنه تم معالجة الثغرات الأمنية في تحديث Dnsmasq 2.83 ، وكحل بديل، يوصى بتعطيل DNSSEC وتخزين الاستعلامات مؤقتًا باستخدام خيارات سطر الأوامر.

المصدر: https://kb.cert.org


أضف كمصدر مفضل في جوجل