إعداد نظام أسماء النطاقات غير آمن
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
فئة OWASP: MASVS-NETWORK: اتصالات الشبكة
نظرة عامة
يمكن أن تحدث إعدادات نظام أسماء النطاقات غير الآمنة عندما يخصّص المطوّرون سلوك نقل نظام أسماء النطاقات لأحد التطبيقات أو يتجاوزون الإعدادات التلقائية للجهاز أو عندما يحدّد المستخدم خادِمًا خاصًا لنظام أسماء النطاقات في الإصدار 9 من نظام التشغيل Android والإصدارات الأحدث. يمكن أن يؤدي الانحراف عن إعدادات نظام أسماء النطاقات (DNS) السليمة المعروفة إلى تعريض المستخدمين لهجمات، مثل انتحال هوية نظام أسماء النطاقات أو تلويث ذاكرة التخزين المؤقت لنظام أسماء النطاقات، ما يسمح للمهاجمين بإعادة توجيه حركة بيانات المستخدمين إلى مواقع إلكترونية ضارة.
التأثير
إذا تمكّن مهاجم شبكة ضار من خداع نظام أسماء النطاقات (DNS)، يمكنه إعادة توجيه المستخدم بشكل سرّي إلى موقع إلكتروني يتحكّم فيه، بدون إثارة شكوك المستخدم. يمكن أن يهدف هذا الموقع الإلكتروني الضار، على سبيل المثال، إلى خداع المستخدم للحصول على معلومات تحديد الهوية الشخصية أو التسبب في رفض الخدمة للمستخدم أو إعادة توجيهه إلى مواقع إلكترونية بدون إشعاره.
المخاطرة: أمان نقل نظام أسماء النطاقات (DNS) المعرَّض للخطر
قد تسمح إعدادات نظام أسماء النطاقات المخصّصة للتطبيقات بتجاوز أمان النقل المضمّن في نظام التشغيل Android لنظام أسماء النطاقات في الإصدار 9 من Android والإصدارات الأحدث.
إجراءات التخفيف
استخدام نظام التشغيل Android للتعامل مع حركة بيانات نظام أسماء النطاقات
السماح لنظام التشغيل Android بالتعامل مع نظام أسماء النطاقات منذ المستوى 28 من حزمة تطوير البرامج (SDK)، أضاف نظام التشغيل Android
إجراءات أمان إلى نقل نظام أسماء النطاقات من خلال معالجة نظام أسماء النطاقات عبر بروتوكول TLS، ثم معالجة نظام أسماء النطاقات عبر بروتوكول HTTP/3 في المستوى 30 من حزمة تطوير البرامج (SDK).
استخدام المستوى 28 أو مستوى أعلى من حزمة SDK
يجب تحديث مستوى حزمة تطوير البرامج (SDK) إلى 28 على الأقل. يجب العلم أنّ هذا الإجراء المخفّف يتطلّب التواصل مع خوادم DNS عامة معروفة وآمنة، ويمكن العثور عليها هنا.
المراجع
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Insecure DNS Setup\n\n\u003cbr /\u003e\n\n**OWASP category:** [MASVS-NETWORK: Network Communication](https://mas.owasp.org/MASVS/08-MASVS-NETWORK)\n\nOverview\n--------\n\nInsecure DNS configurations can occur when developers customize an application's\nDNS transport behavior, bypass device defaults, or when a user specifies a\nprivate DNS server in Android 9 and later. Deviation from known good DNS\nconfigurations can leave users vulnerable to attacks like DNS Spoofing or DNS\ncache poisoning, allowing attackers to redirect user traffic to malicious sites.\n\nImpact\n------\n\nIf a malicious network attacker is able to spoof DNS, they can discreetly\nredirect the user to a website they control, without arousing the user's\nsuspicion. This malicious website could, for example, phish the user for\npersonally identifiable information, cause a denial of service for the user, or\nredirect the user to websites without notification.\n\nRisk: Vulnerable DNS Transport Security\n---------------------------------------\n\nCustom DNS configurations may allow apps to bypass Android's built-in transport\nsecurity for DNS in Android 9 and higher.\n\n### Mitigations\n\n#### Use the Android OS to handle DNS traffic\n\nAllow the Android OS to handle DNS. Since SDK level 28, Android has added\nsecurity to DNS transport through DNS over TLS, and then DNS over HTTP/3 in SDK\nlevel 30.\n\n#### Use SDK level \\\u003e=28\n\nUpdate SDK level to at least 28. It should be noted that this mitigation\nrequires communication with well-known and secure public DNS servers such as can\nbe found [here](https://dnsprivacy.org/public_resolvers/).\n\nResources\n---------\n\n- [Resolve DNS queries](/training/basics/network-ops/connecting#lookup-dns)\n- [Java reference for DnsResolver Class](/reference/android/net/DnsResolver)\n- [Android Security Blog post about DNS-over-HTTP/3](https://security.googleblog.com/2022/07/dns-over-http3-in-android.html)\n- [Overview of secure transport for DNS](https://developers.google.com/speed/public-dns/docs/secure-transports)\n- [Android Developer Blog post about DNS over TLS](https://android-developers.googleblog.com/2018/04/dns-over-tls-support-in-android-p.html)"]]