نشت دیاناس
نشت دیاناس (به انگلیسی: DNS leak) یک نقص امنیتی است که اجازه میدهد آدرس DNS برای رساننده خدمات اینترنتی (ISP) نمایان باشد، حتی اگر VPN تلاش کند که این نقض را پنهان کند.[1] شاید کاربرانی که از VPN استفاده میکنند این نگرانی را داشته باشند، اما پیشگیری از آن برای پروکسی و اینترنت مستقیم امکانپذیر است.
روند
این آسیبپذیری به ISP یا هر شنونده ای در ترافیک اجازه میدهد تا ببیند کاربر از چه وب سایتهایی بازدید میکند. این امکان وجود دارد زیرا درخواستهای DNS مرورگر مستقیماً به سرور دی ان اس ISP ارسال میشود و از طریق VPN ارسال نمیشود.
این نقض امنیتی فقط در انواع خاصی از VPNها اتفاق میافتد، به عنوان مثال در VPNهای "split-tunnel" که حتی در صورت فعال بودن VPN همچنان میتوان ترافیک را از طریق رابط شبکه محلی ارسال کرد.
با انتشار ویندوز ۸، مایکروسافت "Smart Multi-Homed Named Resolution" را معرفی کرد. این ویژگی نحوه رسیدگی به درخواستهای DNS توسط ویندوز ۸ را تغییر داد به طوری که اطمینان حاصل شود یک درخواست DNS میتواند از طریق تمام رابطهای شبکه موجود در رایانه عبور کند. اتفاق نظر کلی وجود دارد که این روش جدید، زمان لازم برای تکمیل جستجوی DNS را تسریع میکند، همچنین کاربران VPN را هنگام اتصال به نقطه پایانی VPN در معرض نشتی DNS قرار میدهد، زیرا کامپیوتر دیگر فقط از سرورهای DNS اختصاص داده شده توسط سرویس VPN استفاده نمیکند. در عوض درخواست DNS از طریق همه رابطهای موجود ارسال میشود، بنابراین ترافیک DNS از تونل VPN خارج میشود و سرورهای پیش فرض DNS کاربر را نشان میدهد.[2][3]
پیشگیری
وب سایتهایی هستند که با آزمایش کردن اینترنت کاربر، امکان تشخیص نشت DNS را دارند. نشتهای DNS را میتوان به روشهای مختلفی برطرف کرد:
- رمزگذاری کردن درخواستهای DNS با استفاده از دیاناس بر روی پروتکل انتقال ابرمتن یا دیاناس بر روی تیالاس که مانع از مشاهده درخواستها توسط شنوندگان در مسیر ترافیک بشود.
- استفاده از VPNهایی که درخواستهای DNS را از طریق خود VPN ارسال میکند. بر اساس تحقیق عمیقی به نام «تجزیه و تحلیل خطرات حریم خصوصی و امنیتی برنامههای اندروید» توسط سازمان تحقیقات علمی و صنعتی مشترکالمنافع در سال ۲۰۱۶، همه برنامههای VPN از نشتی DNS جلوگیری نمیکنند[4] در این تحقیق ۸۴٪ از ۲۸۳ برنامه VPN موجود در فروشگاه Google Play که آنان آزمایش کردند، درخواست DNS را فاش نکردند.[5]
- تغییر سرورهای DNS در رایانه محلی برای آداپتورهای کل شبکه یا تنظیم آن بر روی یک سرور مختلف. برنامههای شخص ثالث در دسترس هستند مانند NirSoft quicksetdns.
- استفاده از فایروال برای غیرفعال کردن DNS در کل دستگاه (معمولاً اتصالات خروجی UDP و کمتر درگاه 53 TCP) یا تنظیم سرورهای dns به سرورهایی که وجود ندارند مثل سرورهای محلی ۱۲۷٫۰٫۰٫۱ یا ۰٫۰٫۰٫۰ (از طریق خط فرمان یا برنامه شخص ثالث در صورت نبود امکان از طریق رابط کاربری GUI سیستم عامل). این امر به روشهای جایگزین حل دامنهها نیاز دارد مثل موارد ذکر شده در بالا، یا استفاده از برنامههای دارای پروکسی پیکربندی شده، یا استفاده از برنامههای کمکی پروکسی مانند Proxifier یا ProxyCap، که اجازه حل و فصل دامنههای پروکسی را میدهد. بسیاری از برنامهها امکان تنظیم پروکسی دستی یا استفاده از پروکسی که قبلاً توسط سیستم استفاده شده را مجاز میدانند.
- استفاده از مرورگرهای وب کاملاً ناشناس مانند مرورگر تور که نه تنها کاربر را ناشناس میکند بلکه راه اندازی dns در سیستم عامل را بینیاز میکند.
- استفاده از پروکسی یا vpn، سیستم گسترده، از طریق کمک کنندگان برنامه شخص ثالث مانند Proxifier یا به صورت افزونه مرورگر وب. با این حال اکثر برنامههای افزودنی در Chrome یا Firefox حتی اگر به هم متصل نباشند وضعیت مثبت کاذب را گزارش میدهند، بنابراین استفاده از یک وب سایت شخص ثالث برای بررسی نشت IP و dns توصیه میشود. این حالت مثبت کاذب معمولاً زمانی اتفاق میافتد که کاربر از دو پسوند پروکسی یا vpn استفاده میکند (به عنوان مثال برنامههای افزودنی Windscribe VPN و FoxyProxy).
منابع
- "What is a DNS leak and why should I care?". dnsleaktest.com. 2017-05-29. Retrieved 2016-09-03.
- "Preventing Network and DNS Traffic Leaks - SparkLabs". www.sparklabs.com. Retrieved 2018-11-29.
- "Windows 8 and Windows 8.1 New Group Policy Settings". blogs.technet.microsoft.com. Retrieved 2018-11-29.
- "VPN Tests and Checks - The Ultimate How-To Guide | Restore Privacy". Restore Privacy. 2018-03-07. Retrieved 2018-11-29.
- "An Analysis of the Privacy and Security Risks of Android VPN Permission enabled Apps" (PDF).