شما لپ‌تاپ خود را در سالن انتظار فرودگاه باز می‌کنید، به شبکه وای‌فای عمومی متصل می‌شوید و اطمینان حاصل می‌کنید که دیوار آتش سیستم‌عامل روی حالت شبکه عمومی (Public) تنظیم شده است. تب‌های مرورگر را می‌بندید، روی پیوندهای ناشناس کلیک نمی‌کنید و ورود به حساب‌های بانکی را تا زمان رسیدن به هتل به تعویق می‌اندازید. در تصور شما، دستگاهتان در سکوت کامل قرار دارد و از دید سایر کاربران حاضر در همان نقطه اتصال پنهان است. اما در واقعیت، جریانی پیوسته از بسته‌های رمزنگاری‌نشده UDP از کارت شبکه بی‌سیم شما به محیط ارسال می‌شود که نام واقعی، مدل دستگاه، نسخه دقیق سیستم‌عامل و سرویس‌های در حال اجرای شما را به هر دستگاهی در برد امواج رادیویی اعلام می‌کند. این سروصدای مداوم حاصل عملکرد پروتکل Multicast DNS (mDNS) است.

پروتکل Multicast DNS که در استاندارد RFC 6762 گروه IETF تعریف شده، ستون اصلی فناوری شبکه‌بندی با پیکربندی خودکار (Zeroconf) است. این سازوکار که در اکوسیستم اپل با نام Bonjour، در لینوکس با نام Avahi و در سیستم‌های مدرن ویندوز و اندروید شناخته می‌شود، برای ایجاد آسایش طراحی شد: فراهم ساختن امکان شناسایی متقابل برای چاپگرها، پخش‌کننده‌های رسانه و رایانه‌ها در شبکه محلی بدون نیاز به راه‌اندازی سرور اختصاصی سامانه نام دامنه (DNS). با این حال، معماری این پروتکل بر این پیش‌فرض ساده‌لوحانه بنا شده که تمام شبکه‌های محلی یک محیط امن خانگی هستند؛ پیش‌فرضی که در وای‌فای عمومی کاملاً نقض می‌شود.

معماری پروتکل: صحبت کردن با صدای بلند در سالنی شلوغ

برای درک علت خطرات حریم خصوصی در Multicast DNS، باید تفاوت پرس‌وجوی تک‌پخشی متعارف (Unicast DNS) و چندپخشی محلی (mDNS) را بررسی کرد. در یک ارتباط معمول DNS، دستگاه شما درخواستی هدفمند و اختصاصی را برای یک سرور تحلیل‌گر معین ارسال می‌کند و تنها آن سرور پاسخ آدرس IP را بازمی‌گرداند.

پروتکل mDNS این مدل را کاملاً دگرگون می‌سازد. به جای ارسال درخواست به یک سرور مشخص، پرس‌وجوها و اعلان‌ها به یک نشانی چندپخشی رزروشده — یعنی 224.0.0.251 در IPv4 یا ff02::fb در IPv6 — و از طریق درگاه UDP 5353 به صورت فراگیر منتشر می‌شوند:

[ لپ‌تاپ یا گوشی همراه شما ]
       |
       |  بسته‌های UDP 5353 به نشانی 224.0.0.251 (چندپخشی سراسری)
       |  "چه دستگاهی نشانی alex-smith-macbook-pro.local را دارد؟ من سرویس AirPlay دارم!"
       +---------------------------------------------+
       |                                             |
       v                                             v
[ چاپگر مجاز در شبکه ]                       [ شنودکننده غیرمجاز در شبکه ]
(بسته را دریافت و پردازش می‌کند)               (ثبت می‌کند: نام، مدل، سیستم‌عامل، سرویس‌ها)

از آنجا که بسته‌های چندپخشی در کل دامنه انتشار محلی توزیع می‌شوند، هر دستگاه متصل به همان زیرشبکه وای‌فای تمام فریم‌های mDNS را دریافت می‌کند. فرد شنودکننده برای ثبت این داده‌ها به دسترسی ریشه یا تزریق بسته نیاز ندارد. کافی است شخصی در همان کافه یا فضای کار اشتراکی نرم‌افزارهای تحلیل ترافیک مانند Wireshark یا tcpdump را اجرا کند تا شناسنامه دیجیتال دستگاه‌های اطراف را بدون ارسال هیچ بسته‌ای استخراج نماید.

اطلاعاتی که mDNS افشا می‌کند: ردپای دیجیتال حضور شما

داده‌های ارسالی توسط mDNS و استاندارد مکمل آن (DNS-SD بر پایه RFC 6763) بسیار جزئی و حساس هستند. پژوهش‌های دانشگاهی منتشرشده در کنفرانس‌های USENIX Security و IEEE نشان داده‌اند که حجم بالایی از اطلاعات قابل شناسایی در شبکه‌های عمومی افشا می‌گردد.

۱. هویت فردی و نام‌های واقعی

سیستم‌های عامل به صورت پیش‌فرض نام دستگاه را بر اساس نام مالک حساب کاربری تولید می‌کنند. دستگاه‌ها مکرراً رکوردهایی مانند sarah-jenkins-iphone.local یا david-miller-thinkpad.local را منتشر می‌سازند. در یک فرودگاه یا مرکز همایش، یک ناظر می‌تواند به سادگی هویت اشخاص را با نشانی‌های شبکه تطبیق داده و محیط عمومی را به فضای رصد افراد تبدیل کند.

۲. الگوهای نرم‌افزاری و سرویس‌های آسیب‌پذیر

اعلان‌های mDNS تنها محدود به نام دستگاه نیستند، بلکه کلیه سرویس‌های فعال شبکه را نیز معرفی می‌نمایند:

  • قابلیت‌های AirPlay و AirDrop: شناسه‌های منحصر‌به‌فرد سخت‌افزاری، وضعیت اتصال و مدل دستگاه را گزارش می‌دهند (_airplay._tcp.local).
  • اشتراک‌گذاری فایل: فعال بودن سرورهای اشتراک فایل SMB یا NFS را اعلان کرده و نام پوشه‌های مشترک را نشان می‌دهند (_smb._tcp.local).
  • پخش رسانه: استانداردهای Google Cast و Spotify مشخصات سخت‌افزاری و وضعیت جاری پخش را اعلام می‌کنند (_googlecast._tcp.local).

این اعلان‌ها کاتالوگی کامل از نرم‌افزارهای فعال در اختیار نفوذگران قرار می‌دهند. در صورت وجود آسیب‌پذیری امنیتی در یک سرویس شبکه‌ای، مهاجم می‌تواند اهداف مستعد حمله را در چند ثانیه شناسایی کند.

۳. ردیابی مکانی و فیزیکی کاربران

به دلیل ثبات نام‌های کاربری و شناسه‌های سیستمی در پیام‌های mDNS، فردی که نقاط دسترسی متعددی را در نقاط پرتردد پایش کند، قادر است مسیرهای جابه‌جایی فیزیکی یک کاربر را در طول روز ثبت نماید. حتی اگر سیستم‌عامل از نشانی‌های تصادفی MAC در وای‌فای استفاده کند، ثبات نام در پروتکل mDNS این نشانی‌های متغیر را دوباره به یک شخص واحد متصل می‌کند.

۴. جعل هویت و حملات شنود میانی

فقدان امضای دیجیتال در پیام‌های mDNS امکان حملات مسموم‌سازی نام‌ها را فراهم می‌آورد. چنانچه دستگاه شما نام یک منبع مشترک کاری مانند work-nas.local را استعلام کند، یک مهاجم در همان شبکه می‌تواند بلافاصله پاسخی جعلی ارسال کرده و نشانی خود را معرفی کند. دستگاه کاربر به اشتباه این پاسخ را پذیرفته و ترافیک حساس را به سمت مهاجم ارسال می‌نماید.

اقدامات دفاعی: خاموش کردن ارتعاشات غیرضروری شبکه

ایمن‌سازی ارتباطات در برابر نشت اطلاعاتی پروتکل mDNS نیازمند اصلاح پیکربندی سیستم‌عامل و تونل‌سازی رمزنگاری‌شده ترافیک است.

۱. اصلاح و عمومی‌سازی نام دستگاه

نخستین اقدام عملی، حذف نام‌های شخصی از عنوان رسمی دستگاه است:

  • در سیستم‌عامل macOS: به بخش System Settings و سپس General > About رفته و نام دستگاه را به عبارتی عمومی (مانند Workstation-739) تغییر دهید.
  • در سیستم‌عامل Windows: وارد Settings شده، مسیر System > About را طی کنید و با انتخاب Rename this PC نام‌های هویتی را پاک نمایید.
  • در iOS و Android: نام دستگاه را در تنظیمات عمومی ویرایش کنید تا از افشای نام و نام خانوادگی جلوگیری شود.

۲. غیرفعال‌سازی سرویس‌های کشف در شبکه‌های عمومی

در زمان اتصال به شبکه‌های ناشناخته، سرویس‌های جستجوی خودکار را مهار کنید:

  • در سیستم‌های لینوکسی: سرویس Avahi را با دستور sudo systemctl stop avahi-daemon متوقف نمایید.
  • در ویندوز: پروتکل‌های چندپخشی مانند LLMNR و mDNS را از طریق Group Policy غیرفعال کنید تا رایانه پاسخی به استعلام‌های محیطی ندهد.
  • تنظیمات دیوار آتش: دیوار آتش دستگاه را به گونه‌ای پیکربندی کنید که ترافیک ورودی و خروجی درگاه UDP 5353 در شبکه‌های عمومی مسدود گردد.

۳. ایزوله‌سازی فراگیر شبکه با VPNRice

گرچه تغییر تنظیمات سیستم‌عامل بخشی از نشت داده‌ها را کاهش می‌دهد، برخی نرم‌افزارها کماکان در پس‌زمینه پیام‌های چندپخشی ارسال می‌کنند. مؤثرترین شیوه برای حفظ سکوت و امنیت دستگاه در وای‌فای اشتراکی، هدایت تمامی داده‌ها درون تونل رمزنگاری‌شده VPNRice است.

اتصال از طریق VPNRice با پروتکل‌های پیشرفته‌ای مانند RiceGuard یا RiceGuardX لایه‌های دفاعی را تقویت می‌کند:

  • جداسازی کامل درگاه‌های شبکه: فایروال اختصاصی برنامه، تبادل بسته‌ها با گره‌های محلی وای‌فای را مهار کرده و مانع خروج بسته‌های چندپخشی ناامن به محیط مشترک می‌شود.
  • تفکیک و رمزنگاری پرس‌وجوهای نام دامنه: تمامی درخواست‌های DNS درون پوشش امن به سوی سرورهای تحلیل‌گر اختصاصی VPNRice هدایت شده و امکان جعل mDNS در شبکه محلی را خنثی می‌سازد.
  • صیانت از داده‌های رفتاری: حاضران در شبکه عمومی قادر به مشاهده محتوا، مقاصد اینترنتی یا مشخصات سرویس‌های فعال نخواهند بود.

برای اطمینان از عدم نشت آدرس‌های شبکه محلی از طریق مرورگر، می‌توانید از آزمون نشت WebRTC در VPNRice استفاده کرده و مسیر خروجی ارتباط خود را با ابزار بررسی آدرس IP پایش نمایید. مهار بسته‌های پرس‌وجوی محلی و به‌کارگیری رمزنگاری ترافیک، راهکاری اطمینان‌بخش برای ارتقای امنیت و آسودگی خاطر در شبکه‌های وای‌فای عمومی است.