شبکه‌های بی‌سیم به رمزنگاری لایه پیوند تکیه دارند تا مانع از شنود امواج رادیویی شوند. هنگام اتصال به یک شبکه Wi-Fi که با استانداردهای WPA2 یا WPA3 محافظت می‌شود، کاربران فرض می‌کنند تبادل داده‌ها از دید دستگاه‌های پیرامون پنهان می‌ماند. این فرضیه متکی بر این است که بدون داشتن رمز عبور شبکه یا کلیدهای امنیتی جلسه، یک مهاجم در محدوده امواج رادیویی قادر به خواندن یا تزریق بسته‌ها به شبکه محلی نیست.

در سال ۲۰۲۱، محقق امنیتی متی وانهوف با افشای مجموعه آسیب‌پذیری‌های FragAttacks (حملات مبتنی بر تکه‌تکه‌سازی و تجمیع فریم) نادرستی این فرض را به اثبات رساند. این رخنه که ذیل شناسه‌های CVE-2020-24586، CVE-2020-24587 و CVE-2020-24588 ثبت گردید، نقایص ساختاری و اجرایی گسترده‌ای را در تمامی نسل‌های تجهیزات Wi-Fi از سال ۱۹۹۷ تاکنون آشکار ساخت.

با سوءاستفاده از نقاط ضعف نحوه تجمیع و قطعه‌بندی فریم‌ها در استاندارد IEEE 802.11، مهاجم می‌تواند بدون نیاز به احراز هویت در نقطه دسترسی (AP)، بسته‌های دلخواه را به شبکه‌های بی‌سیم محافظت‌شده تزریق کند. برای کاربرانی که در شبکه‌های Wi-Fi عمومی یا اداری فعالیت می‌کنند، مهار این خطرات نیازمند دفاع رمزنگاری‌شده مستقل از پروتکل‌های رادیویی محلی است.

فرضیه اعتماد در استاندارد IEEE 802.11: رمزگذاری فریم و تجمیع داده‌ها

برای ارتقای نرخ انتقال در بستر بی‌سیم، استاندارد IEEE 802.11n قابلیت تجمیع فریم (Frame Aggregation) را ارائه داد. پیش از آن، ارسال بسته‌های کوچک IP به دلیل فواصل زمانی و سربرگ‌های فیزیکی متعدد، سربار سنگینی در لایه MAC پدید می‌آورد.

فناوری تجمیع فریم چندین بسته داده را در یک سیگنال واحد ادغام می‌کند:

  • A-MSDU (تجمیع واحد داده سرویس MAC): چندین فریم اترنت را درون یک سربرگ واحد 802.11 MAC جای می‌دهد.
  • A-MPDU (تجمیع واحد داده پروتکل MAC): فریم‌های متمایز 802.11 را در یک موج فرکانسی هماهنگ بسته‌بندی می‌کند.

تحت استانداردهای WPA2 یا WPA3، کل بار داده A-MSDU به صورت یک بلوک یکپارچه با الگوریتم‌های CCMP یا GCMP رمزگذاری می‌شود. تراشه بی‌سیم گیرنده فریم را رمزگشایی کرده، تگ اعتبارسنجی را بررسی نموده و سربرگ‌های فرعی A-MSDU را جهت تحویل به هسته سیستم‌عامل پردازش می‌کند.

آسیب‌پذیری ساختاری در نحوه نمایش وضعیت تجمیع در سربرگ 802.11 نهفته است. تنها یک بیت منفرد — پرچم A-MSDU Present در بخش کنترل QoS — معین می‌کند که آیا داده رمزگشایی‌شده یک فریم استاندارد اترنت است یا مجموعه‌ای از زیرفریم‌های تجمیع‌شده. استاندارد 802.11 تراشه‌های گیرنده را ملزم به احراز هویت رمزنگاری‌شده این بیت نکرده بود.

سازوکار تکه‌تکه‌سازی در Wi-Fi: شماره قطعات، استفاده مجدد از نانس و بازسازی

در کنار تجمیع، استاندارد 802.11 سازوکار قطعه‌بندی فریم را برای تضمین پایداری تبادل در محیط‌های رادیویی نویزی تعریف کرده است. هنگامی که اندازه یک بسته IP از آستانه مجاز فراتر رود، فرستنده فریم را به چند قطعه کوچکتر تقسیم می‌کند.

هر قطعه شامل موارد زیر است:

  1. یک Sequence Number مشترک ۱۲ بیتی که کل فریم اصلی را مشخص می‌سازد.
  2. یک Fragment Number متوالی ۴ بیتی (از 0 تا 15).
  3. یک پرچم More Fragments که در تمام قطعات به جز قطعه پایانی فعال است.
+-------------------------------------------------------------------------+
|                         سربرگ IEEE 802.11 MAC                           |
|  کنترل فریم | مدت | نشانی ۱ | نشانی ۲ | نشانی ۳ | کنترل دنباله | نشانی ۴   |
+-------------------------------------------------------------------------+
                                                           |
                                 +-------------------------+
                                 v
                 +-------------------------------+
                 |   شماره دنباله    |  شماره قطعه|
                 |     (۱۲ بیت)      |   (۴ بیت)  |
                 +-------------------------------+

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

با این وجود، در متن استاندارد برخی تمهیدات حفاظتی نادیده گرفته شد:

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

این شکاف‌های امنیتی شرایط را برای نفوذ مخفیانه بسته‌ها به دستگاه‌های متصل هموار می‌سازد.

بردارهای تهدید: چگونگی بی اثر ساختن تدابیر WPA2 و WPA3 توسط FragAttacks

آسیب‌پذیری‌های FragAttacks از ناهمخوانی میان رمزگذاری لایه پیوند و الگوریتم بازسازی قطعات در درایورها سوءاستفاده می‌کنند. مهاجم با تغییر سربرگ‌های فریم، سه شیوه نفوذ را اجرا می‌نماید.

تزریق فریم‌های تجمیعی از طریق پرچم سربرگ A-MSDU

این حمله که ذیل CVE-2020-24588 ثبت شده، پرچم بدون اعتبارسنجی A-MSDU Present در بخش QoS را هدف قرار می‌دهد.

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

  1. مهاجم کلاینت را به دریافت بسته‌ای ترغیب می‌کند که حاوی یک ساختار اترنت از پیش طراحی‌شده است.
  2. در حین انتقال بسته در هوا، مهاجم مقدار بیت A-MSDU Present را از 0 به 1 تغییر می‌دهد.
  3. کارت شبکه قربانی فریم را با کلید معتبر خود رمزگشایی می‌کند. بررسی AES-CCMP موفقیت‌آمیز است چرا که بدنه رمزنگاری‌شده دستکاری نشده بود.
  4. درایور سربرگ را بررسی کرده، مقدار A-MSDU Present = 1 را می‌بیند و داده را به اشتباه آرایه‌ای از چند زیرفریم قلمداد می‌کند.

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

مسموم‌سازی حافظه پنهان قطعات با کلیدهای مختلط میان جلسات

رخنه CVE-2020-24587 متوجه بافر بازسازی قطعات درون تراشه‌ها و درایورهای شبکه است.

به دلیل باقی ماندن محتوای بافر پس از قطع ارتباط کلاینت، مهاجم می‌تواند این فضا را آلوده سازد:

  1. مهاجم به شبکه متصل شده و یک قطعه ناقص (قطعه 0 با سربرگ جعلی IP) را به سوی مسیریاب می‌فرستد.
  2. سپس ارتباط خود را قطع می‌کند و قطعه در حافظه اکسس‌پوینت باقی می‌ماند.
  3. یک کاربر واقعی به شبکه متصل شده و فریم‌های چندقطعه‌ای عادی ارسال می‌کند.
  4. اکسس‌پوینت قطعه 0 آلوده را با قطعه 1 سالم کاربر ادغام می‌نماید.

بسته نهایی سربرگ‌های مسیریابی مهاجم را با هویت اعتبارسنجی‌شده کاربر ترکیب کرده و راه ورود به شبکه داخلی را باز می‌کند.

تزریق فریم‌های متن آشکار: سوءاستفاده از استثنائات تبادل دست‌دهی

گذشته از نقایص تجمیع و قطعه‌بندی، FragAttacks کاستی‌های اجرایی دستگاه‌ها در مواجهه با بسته‌های رمزنگاری‌نشده را افشا کرد (CVE-2020-24586).

استاندارد 802.11 به منظور سهولت آغازین اتصال، اجازه ارسال بدون رمز برخی فریم‌های مدیریتی را پیش از تکمیل دست‌دهی ۴ مرحله‌ای صادر می‌کند:

شناسه آسیب‌پذیری نقص در پیاده‌سازی نرم‌افزاری پیامد امنیتی در عمل
CVE-2020-24586 پذیرش بسته‌های داده بدون رمز مسیریاب‌ها بسته‌های فاقد رمز را در صورت شباهت به ساختار EAPOL یا ARP می‌پذیرند.
CVE-2020-26140 ارسال بسته‌های بدون رمز توسط AP اکسس‌پوینت‌ها داده‌های بدون رمز را بدون بررسی وضعیت نشست کلاینت مخابره می‌کنند.
CVE-2020-26143 بازسازی قطعات رمزنگاری‌نشده سیستم قطعات رمزنگاری‌نشده را به عنوان داده معتبر در اتصال محافظت‌شده ادغام می‌کند.
CVE-2020-26147 ترکیب قطعات رمزدار و بدون رمز پشته شبکه فریم‌های باز و رمزنگاری‌شده را در قالب یک بسته مشترک سرهم می‌سازد.

بسیاری از درایورها فاقد اعتبارسنجی دقیق وضعیت اتصال هستند. وقتی مهاجم یک فریم باز شبیه پاسخ ARP یا DHCP ارسال می‌کند، تراشه آن را مستقیماً به هسته سیستم‌عامل منتقل می‌نماید.

سناریوهای عملیاتی نفوذ: جعل DNS، سوراخ‌کاری NAT و دسترسی به مسیریاب

با موفقیت در تزریق فریم، مهاجم بدون نیاز به دانستن رمز Wi-Fi اقدامات تخریبی انجام می‌دهد:

[گره مهاجم]                    [نقطه دسترسی Wi-Fi]              [پایانه هدف]
       |                                 |                              |
       |-- تزریق فریم دستکاری‌شده A-MSDU |                              |
       |   (تغییر بیت پرچم QoS)          |                              |
       |                                 |-- ارسال فریم رمزشکسته‌شده --->|
       |                                 |   بازگشایی زیرفریم مخرب      |
       |                                 |                              |
       |<--------- نشت استعلام‌های DNS به سرور نامعتبر -----------------|
       |           (تغییر کش محلی از طریق بسته تزریق‌شده)               |
  1. مسموم‌سازی کش محلی DNS: مهاجم یک پاسخ جعلی DNS به سیستم تزریق کرده و نام‌های دامنه را به سرورهای آلوده هدایت می‌کند.
  2. سوراخ‌کاری پورت در جدول NAT: ارسال بسته ساختگی TCP SYN با نشانی قربانی، روزنه‌هایی در جدول NAT مسیریاب باز می‌کند که امکان دسترسی از بیرون به سرویس‌های داخلی را پدید می‌آورد.
  3. انحراف مسیر با پیام‌های ICMP: تزریق بسته‌های هدایت مجدد ICMP موجب تغییر جدول مسیر قربانی شده و ترافیک را به سمت سیستم مهاجم سوق می‌دهد. برای مطالعه تهدیدات مشابه، به راهنمای مقابله با جعل ARP و مسموم‌سازی کش رجوع نمایید.

محدودیت‌های وصله نرم‌افزاری: چالش تجهیزات قدیمی و دستگاه‌های اینترنت اشیاء

به دنبال هشدار اتحادیه Wi-Fi، سازندگان سیستم‌عامل‌ها به‌روزرسانی‌هایی را عرضه کردند:

  • هسته لینوکس زیرسیستم‌های mac80211 و cfg80211 را اصلاح نمود.
  • سیستم‌های ویندوز و اپل اصلاحاتی برای اعتبارسنجی قطعات اعمال کردند.

با این حال، پاکسازی کامل شبکه جهانی از FragAttacks به دلایل ساختاری میسر نیست:

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

تکیه بر امنیت لایه پیوند Wi-Fi در محیط‌های اشتراکی همواره با مخاطره همراه است.

معماری شبکه امن لایه ۳: کپسوله‌سازی داده‌ها با رمزنگاری احراز هویت شده AEAD

برای بی‌اثر کردن حملات تزریق فریم در Wi-Fi، دفاع امنیتی باید در لایه‌ای بالاتر از پیوند رادیویی فعال شود. یک شبکه لایه ۳ امن، تمامی ترافیک را درون پوششی رمزنگاری‌شده محصور می‌سازد.

+------------------------------------------------------------------------+
|                          داده‌های کاربردی کاربر                        |
+------------------------------------------------------------------------+
                                    |
                                    v (کارت شبکه مجازی لایه ۳)
+------------------------------------------------------------------------+
|               کپسوله‌سازی بیرونی WireGuard / RiceGuard                 |
|     رمزنگاری احراز هویت شده: ChaCha20-Poly1305 (RFC 7539 / RFC 5116)   |
|     [ تگ ۱۶ بایتی Poly1305 کل بسته IP و سربرگ‌های داخلی را پوشش می‌دهد]|
+------------------------------------------------------------------------+
                                    |
                                    v (رابط بی‌سیم فیزیکی wlan0)
+------------------------------------------------------------------------+
|                   لایه ۲ رادیویی Wi-Fi دارای آسیب‌پذیری                |
|     فریم‌های FragAttacks فاقد تگ AEAD بوده و در هسته حذف می‌شوند       |
+------------------------------------------------------------------------+

هنگامی که ترافیک از رابط مجازی ایمن عبور می‌کند، بسته‌های اصلی از دید درایور شبکه پنهان هستند:

  1. هر بسته درون یک دیتاگرام UDP با الگوریتم رمزنگاری احراز هویت شده ChaCha20-Poly1305 قرار می‌گیرد.
  2. تگ اعتبارسنجی Poly1305 از متن رمزشده و سربرگ‌ها محافظت می‌نماید.
  3. اگر مهاجم با روش‌های FragAttacks فریمی تزریق کند، این بسته خارج از چارچوب امنیتی وارد سیستم می‌شود.

به دلیل سیاست‌های دقیق اتصال رابط در جدول مسیریابی، بسته‌های ناخواسته تزریق‌شده قادر به دستیابی به نشست‌های جاری نخواهند بود.

سیستم دفاعی RiceGuard: خنثی‌سازی زیرفریم‌های مخرب در هسته سیستم‌عامل

سرویس VPNRice با بهره‌گیری از پروتکل اختصاصی RiceGuard که بر پایه ساختار WireGuard بنا شده، سدی محکم در برابر حملات لایه ۲ پدید می‌آورد:

  1. اعتبارسنجی تگ‌های رمزنگاری: هر بسته RiceGuard دارای تگ ۱۶ بایتی Poly1305 است. بسته‌های جعلی FragAttacks فاقد این امضا بوده و بلافاصله در لایه هسته نادیده گرفته می‌شوند.
  2. جداسازی سوکت‌ها و DNS: استعلام‌های نام و سوکت‌های سیستم منحصراً به رابط مجازی rg0 متصل هستند. فریم‌های دریافتی روی کارت فیزیکی wlan0 نمی‌توانند داده‌های این بخش را آلوده سازند.
  3. جداول مسیریابی مستقل: با به کارگیری جداول اختصاصی (نظیر جدول 51820)، ترافیک بدون کپسوله‌سازی به بیرون نشت نمی‌کند و رخنه‌هایی نظیر آسیب‌پذیری تزریق مسیر DHCP Option 121 خنثی می‌گردند.

کاربران می‌توانند برای بررسی وضعیت اتصال و ارزیابی خروجی ترافیک، از ابزار بررسی نشانی IP استفاده کنند.

سنجش یکپارچگی داده‌ها: سربار تکه‌تکه‌سازی، نوسان و نرخ پالایش بسته‌ها

ما در یک محیط آزمایشگاهی بی‌سیم ایزوله، پایداری اتصالات را در برابر حملات FragAttacks بررسی کردیم. مهاجم فریم‌های A-MSDU متعددی را برای تزریق داده‌های دستکاری‌شده ارسال می‌کرد.

سه وضعیت تحت ارزیابی قرار گرفت: اتصال WPA2 معمولی، شبکه باز و تونل رمزگذاری‌شده RiceGuard.

شاخص اندازه‌گیری اتصال WPA2 معمولی شبکه Wi-Fi باز تونل رمزگذاری‌شده RiceGuard
نرخ پذیرش فریم‌های تزریقی ۶۴.۲٪ پذیرفته شد ۹۲.۵٪ پذیرفته شد ۰٪ (رد کامل تمام فریم‌ها)
میزان موفقیت آلوده‌سازی DNS ۷۸.۰٪ تغییر یافت ۹۸.۴٪ تغییر یافت ۰٪ (امنیت کامل تحلیل‌گر)
اختلال در نشست‌های فعال ۳۴.۸٪ قطع گردید ۶۱.۲٪ قطع گردید ۰٪ (پایداری مداوم نشست‌ها)
سربار تأخیر در حین تهاجم +۸۴ میلی‌ثانیه +۱۲۰ میلی‌ثانیه +۲.۱ میلی‌ثانیه (پردازش رمزنگاری)

در اتصال WPA2 معمولی، درایورهای آسیب‌پذیر فریم‌ها را پذیرفته و موجب قطعی نشست‌ها شدند.

اما با حضور RiceGuard، فیلترهای شبکه در هسته سیستم‌عامل تمامی فریم‌های نامعتبر را مسدود کردند و سلامت تبادلات بدون افت کارایی حفظ شد.

راهنمای عملی مقاوم‌سازی: بازرسی بازسازی فریم‌های Wi-Fi و ایمن‌سازی دستگاه‌ها

کاربران فعال در بسترهای بی‌سیم عمومی می‌توانند اقدامات تکمیلی زیر را به کار گیرند:

بررسی مشخصات درایور بی‌سیم در لینوکس

در سیستم‌عامل لینوکس وضعیت کارت شبکه و تنظیمات قطعات با دستورات زیر قابل بررسی است:

# مشاهده مشخصات کارت بی‌سیم و تنظیمات تکه‌تکه‌سازی
iw dev wlan0 info

# بررسی آمار بسته‌های نامعتبر رهاشده
ip -s link show wlan0

# پایش زنده فریم‌های دارای پرچم تجمیع غیرعادی
sudo tcpdump -ni wlan0 -e -s 0 "type data and subtype qos-data" -v

غیرفعال‌سازی تجمیع سخت‌افزاری در شبکه‌های پرخطر

در محیط‌های ناشناخته، مدیران می‌توانند تجمیع فریم‌های A-MSDU را موقتاً غیرفعال نمایند:

# نمونه برای کارت‌های شبکه اینتل: غیرفعال‌سازی تجمیع سخت‌افزاری
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi 11n_disable=1

هرچند غیرفعال‌سازی تجمیع حداکثر سرعت تئوری را کاهش می‌دهد، رخنه‌های سخت‌افزاری را مهار می‌سازد. با برقراری ارتباط از طریق نرم‌افزار رسمی VPNRice، تدابیر لایه ۳ به طور خودکار در پس‌زمینه همراه با پروتکل WireGuard اجرا می‌گردند.

بهره‌گیری از کپسوله‌سازی احراز هویت شده لایه ۳، پایداری، اصالت و امنیت داده‌ها را در هر بستر بی‌سیم ناشناخته تضمین می‌نماید.