دسته OWASP: MASVS-NETWORK: Network Communication
نمای کلی
وقتی توسعهدهندگان رفتار انتقال DNS برنامه را سفارشی میکنند، پیشفرضهای دستگاه را دور میزنند، یا زمانی که کاربر یک سرور DNS خصوصی را در Android 9 و بالاتر مشخص میکند، ممکن است پیکربندیهای DNS ناامن رخ دهد. انحراف از پیکربندی های DNS خوب شناخته شده می تواند کاربران را در برابر حملاتی مانند DNS Spoofing یا DNS cache poisoning آسیب پذیر کند و به مهاجمان اجازه می دهد تا ترافیک کاربر را به سایت های مخرب هدایت کنند.
تاثیر
اگر یک مهاجم شبکه مخرب بتواند DNS را جعل کند، میتواند کاربر را به طور محتاطانه به وبسایتی که تحت کنترل خود است هدایت کند، بدون اینکه سوء ظن کاربر را برانگیزد. این وبسایت مخرب میتواند، برای مثال، کاربر را برای اطلاعات قابل شناسایی شخصی فیش کند، باعث انکار خدمات برای کاربر شود، یا کاربر را بدون اطلاع رسانی به وبسایتها هدایت کند.
خطر: امنیت حمل و نقل DNS آسیب پذیر
پیکربندیهای DNS سفارشی ممکن است به برنامهها اجازه دهند امنیت حمل و نقل داخلی Android را برای DNS در Android 9 و بالاتر دور بزنند.
کاهش
از سیستم عامل اندروید برای مدیریت ترافیک DNS استفاده کنید
به سیستم عامل Android اجازه دهید تا DNS را مدیریت کند. از سطح SDK 28، Android امنیت را به انتقال DNS از طریق DNS از طریق TLS و سپس DNS از طریق HTTP/3 در سطح SDK 30 اضافه کرده است.
از سطح SDK >=28 استفاده کنید
سطح SDK را به حداقل 28 بهروزرسانی کنید. لازم به ذکر است که این کاهش نیاز به ارتباط با سرورهای DNS عمومی شناخته شده و ایمن دارد که در اینجا میتوانید پیدا کنید.
منابع
- پرس و جوهای DNS را حل کنید
- مرجع جاوا برای کلاس DnsResolver
- پست وبلاگ امنیتی Android درباره DNS-over-HTTP/3
- مروری بر حمل و نقل امن برای DNS
- پست وبلاگ توسعه دهندگان Android درباره DNS از طریق TLS