Бездротові мережі покладаються на шифрування канального рівня, щоб захистити радіоефір від прослуховування. Підключаючись до точок доступу з протоколами WPA2 або WPA3, користувачі розраховують, що їхній мережевий трафік криптографічно ізольований від сусідніх пристроїв. Без автентифікаційних даних зловмисник у радіусі дії антени не повинен мати можливості читати або підробляти мережеві кадри.
У 2021 році дослідник безпеки Маті Ванхоф спростував цю впевненість, оприлюднивши дослідження FragAttacks (атаки на фрагментацію та агрегацію кадрів). Документовані за ідентифікаторами CVE-2020-24586, CVE-2020-24587 та CVE-2020-24588, ці вразливості виявили глибокі архітектурні та програмні вади, властиві всім поколінням стандарту Wi-Fi починаючи з 1997 року.
Експлуатуючи недоліки механізмів об'єднання та розбиття кадрів у специфікації IEEE 802.11, сторонній спостерігач може інжектувати довільні мережеві пакети в захищену мережу навіть без підключення до точки доступу. Для користувачів корпоративних і публічних мереж захист від таких атак канального рівня потребує незалежної криптографічної ізоляції на вищих мережевих рівнях.
Презумпція довіри в IEEE 802.11: шифрування кадрів та агрегація даних
Для підвищення пропускної здатності стандарт IEEE 802.11n запровадив технологію агрегації кадрів. До її появи передача невеликих IP-пакетів створювала колосальні накладні витрати на рівні MAC через інтервали очікування, захисні вікна колізій і фізичні преамбули радіосигналу.
Агрегація дозволяє об'єднувати пакети в одну радіопередачу за двома схемами:
- A-MSDU (Aggregated MAC Service Data Unit): пакування кількох кадрів Ethernet під одним загальним заголовком 802.11 MAC.
- A-MPDU (Aggregated MAC Protocol Data Unit): збирання окремих завершених кадрів 802.11 в єдиний фізичний блок передачі.
Під час роботи WPA2 або WPA3 корисне навантаження A-MSDU шифрується як суцільний масив за допомогою шифрів CCMP або GCMP. Приймальний чип Wi-Fi розшифровує кадр, перевіряє тег цілісності повідомлення і розбирає внутрішні заголовки субкадрів перед передачею пакетів Ethernet до мережевого стека операційної системи.
Архітектурна вразливість полягає в заголовку 802.11 MAC. Один-єдиний біт — прапорець A-MSDU Present у полі керування якістю обслуговування (QoS Control) — вказує драйверу, чи містить розшифроване навантаження стандартний Ethernet-кадр, чи ланцюжок агрегованих субкадрів. Стандарт 802.11 не вимагав криптографічної автентифікації цього керуючого біта в заголовку.
Механіка фрагментації у Wi-Fi: номери фрагментів, повторне використання Nonce і повторне збирання
Поряд з агрегацією специфікація 802.11 визначає фрагментацію для збереження надійності зв'язку в умовах сильних радіозавад. Коли довжина IP-пакета перевищує поріг фрагментації, передавач ділить кадр на менші фрагменти.
Кожен фрагмент отримує такі атрибути:
- Загальний 12-бітний Sequence Number для ідентифікації кадру.
- Послідовний 4-бітний Fragment Number (від
0до15). - Прапорець More Fragments, встановлений на всіх частинах, крім останньої.
+-------------------------------------------------------------------------+
| 802.11 MAC Frame Fragment Processing |
+-------------------------------------------------------------------------+
| [802.11 Header] | Fragment 0 (Seq=104, Frag=0, More=1) -> Validated |
| [802.11 Header] | Fragment 1 (Seq=104, Frag=1, More=0) -> Reassembled |
+-------------------------------------------------------------------------+
|
v (Missing Key ID / Session Context Verification)
+-------------------------------------------------------------------------+
| Vulnerability: Nonce reuse & mixed cryptographic contexts in cache |
+-------------------------------------------------------------------------+
Після прийому фрагментів приймач зберігає розшифровані частини в буферній пам'яті для подальшого збирання. Тут криється програмний недолік: багато чипсетів не перевіряють, чи всі фрагменти розшифровано одним і тим самим сесійним ключем, а також не очищають буфер фрагментів під час розриву зв'язку або перепідключення клієнта.
Вектори загроз: як FragAttacks нівелюють захисні механізми WPA2 та WPA3
Дослідження FragAttacks окреслило декілька практичних векторів компрометації канального рівня, що дозволяють впроваджувати шкідливі дані в захищені мережі.
Ін'єкція агрегованих кадрів через прапорець заголовка A-MSDU
Ця архітектурна вразливість (CVE-2020-24586) є найбільш небезпечною. Оскільки прапорець A-MSDU Present не захищений криптографічним хешем, зловмисник може перехопити звичайний зашифрований пакет, відправлений користувачеві ззовні (наприклад, TCP ACK або ping-відповідь), та змінити один біт у заголовку в радіоефірі без порушення цілісності коду MIC у WPA2.
Коли пристрій жертви отримує кадр, він успішно проходить перевірку розшифрування. Проте мережевий драйвер, побачивши змінений прапорець A-MSDU, інтерпретує внутрішній вміст як субкадри. Це дозволяє атакуючому сформувати довільний Ethernet-пакет, який операційна система сприйме як легітимний трафік від точки доступу.
Отруєння кешу фрагментів змішаними ключами між клієнтськими сесіями
Вразливість CVE-2020-24587 пов'язана з відсутністю ізоляції буфера фрагментації в бездротових адаптерах. Зловмисник надсилає спеціально підготовлений фрагмент на точку доступу чи пристрій жертви, який залишається очікувати в кеші.
Коли легітимний клієнт пізніше передає фрагментований пакет із таким самим номером послідовності, чип об'єднує старий шкідливий фрагмент зі свіжими даними клієнта. Змішування криптографічних контекстів призводить до виконання несанкціонованих інструкцій і підробки структури пакетів.
Ін'єкція кадрів у відкритому тексті: експлуатація незахищених винятків рукостискання
Аналіз специфікацій також виявив критичну проблему CVE-2020-24588, спричинену обробкою незахищених службових кадрів. Для підтримки початкового з'єднання стандарт Wi-Fi дозволяє передачу деяких повідомлень у незашифрованому вигляді, зокрема кадрів автентифікації та пакетів EAPOL під час 4-етапного узгодження ключів (4-Way Handshake).
+-------------------------------------------------------------------------+
| Insecure Plaintext Frame Acceptance Flaw |
+-------------------------------------------------------------------------+
| Attacker Radio ---> Injected Raw Plaintext Frame (EtherType=0x0800) |
| Vulnerable Driver: Fails to drop unencrypted data in secured state |
| Result: Malicious packet traverses MAC layer & reaches Kernel IP Stack |
+-------------------------------------------------------------------------+
Як з'ясувалося під час практичних тестів, значна кількість драйверів і чипсетів продовжують приймати незашифровані пакети даних навіть після встановлення захищеного сеансу WPA, якщо ці кадри містять певні службові ознаки. Зловмисник може транслювати відкриті пакети IPv4 або IPv6 прямо в мережевий стек системи без знання мережевого пароля.
Практичні сценарії атак: підміна DNS, пробиття NAT і доступ до маршрутизаторів
Ці слабкості на канальному рівні дають змогу реалізувати низку небезпечних мережевих сценаріїв:
- Підміна відповідей DNS: ін'єктуючи підроблений UDP-пакет із фальшивою відповіддю DNS, атакуючий спрямовує звернення жертви до фішингових ресурсів замість банківських чи поштових серверів.
- Пробиття механізмів NAT і доступ до локальних служб: зловмисник надсилає пакети TCP SYN до незахищених локальних портів або надсилає запити, що відкривають зворотні канали крізь домашній маршрутизатор, отримуючи доступ до вебінтерфейсу роутера.
- Девіація трафіку через ICMP Redirect: надсилання підроблених службових повідомлень ICMP змінює локальну таблицю маршрутизації жертви, перетворюючи пристрій атакуючого на транзитний вузол. Докладніше про перехоплення локальних потоків читайте у нашому матеріалі про виявлення підміни ARP та отруєння кешу.
Обмеження оновлень прошивок і драйверів: спадщина застарілих пристроїв IoT
Організація Wi-Fi Alliance та провідні постачальники операційних систем оперативно випустили патчі для усунення цих вразливостей. Проте проблема залишається актуальною з низки причин:
- Пристрої інтернету речей (IoT): десятки мільйонів розумних камер, термостатів і побутових датчиків працюють на закритих чипсетах, які більше не отримують оновлень прошивки від виробників.
- Застарілі драйвери ноутбуків: багато старих пристроїв використовують модулі Wi-Fi, підтримку яких виробники припинили багато років тому.
- Вимоги зворотної сумісності: специфікація 802.11 зобов'язує підтримувати взаємодію з різними типами обладнання, що ускладнює радикальну заборону певних типів кадрів на точках доступу.
Архітектура VPN на рівні 3: криптографічна інкапсуляція датаграм з AEAD
Оскільки дефекти FragAttacks виникають на канальному рівні (Layer 2), надійний захист даних забезпечується ізоляцією на рівні 3 (Layer 3) за допомогою наскрізного криптографічного тунелювання до виходу пакетів у фізичний ефір.
+------------------------------------------------------------------------+
| Application Payload |
| HTTP/3, TLS 1.3, Encrypted Application |
+------------------------------------------------------------------------+
|
v (Layer 3 Virtual Adapter)
+------------------------------------------------------------------------+
| WireGuard / RiceGuard Outer Encapsulation |
| Authenticated Encryption: ChaCha20-Poly1305 (RFC 7539 / RFC 5116) |
| [ 16-byte Poly1305 MAC Tag covers entire inner IP packet & header ] |
+------------------------------------------------------------------------+
|
v (Physical Wi-Fi Interface wlan0)
+------------------------------------------------------------------------+
| Wi-Fi Layer 2 Vulnerable Link |
| A-MSDU / Fragmentation Flaws: Injected Frames Lack Valid AEAD Tag |
+------------------------------------------------------------------------+
Коли трафік спрямовується через віртуальний мережевий інтерфейс VPN, початкові IP-пакети інкапсулюються в захищені структури:
- Кожен внутрішній пакет упаковується в UDP-датаграму з автентифікованим шифруванням ChaCha20-Poly1305.
- Криптографічний тег Poly1305 захищає як зашифрований вміст, так і зовнішні службові заголовки.
- Якщо зловмисник здійснює ін'єкцію підробленого кадру через FragAttacks, він надходить до ядра операційної системи поза контекстом тунельного адаптера.
Завдяки суворим правилам маршрутизації операційна система ігнорує сторонні пакети, не дозволяючи їм взаємодіяти з захищеними з'єднаннями віртуального інтерфейсу.
Захист транспортного рівня RiceGuard: нейтралізація шкідливих субкадрів на рівні ядра
Сервіс VPNRice реалізує транспортний протокол RiceGuard, оптимізований на базі WireGuard, що забезпечує стійкість до компрометації канального рівня:
- Криптографічна валідація тегів: кожна датаграма RiceGuard перевіряється за допомогою 16-байтного тегу Poly1305, згенерованого на основі сесійних ключів. Ін'єктовані кадри зловмисника не містять дійсного тегу і миттєво відкидаються ядром.
- Ізоляція інтерфейсів і сокетів: RiceGuard фіксує DNS-запити та мережеві сокети виключно за віртуальним адаптером
rg0. Підроблені кадри з фізичного адаптераwlan0не мають доступу до активних сесій застосунків. - Політики ізольованої маршрутизації: завдяки окремим таблицям маршрутизації (зокрема таблиці
51820), RiceGuard унеможливлює вихід неінкапсульованого трафіку у фізичний інтерфейс, нівелюючи загрози, аналогічні витокам маршрутів через опцію DHCP 121.
Користувачі можуть перевірити цілісність мережевих маршрутів та коректність відображення зовнішньої адреси за допомогою нашого інструмента перевірки IP.
Тестування цілісності пакетів: накладні витрати фрагментації, джитер і відсоток відхилення
Ми провели порівняльне тестування стійкості до активних ін'єкцій FragAttacks в ізольованому радіочастотному стенді. Програмно-керовані передавачі (SDR) транслювали фрагментовані кадри A-MSDU, намагаючись підмінити відповіді DNS і розірвати сесії за допомогою TCP RST.
Оцінювалися три сценарії: звичайне з'єднання WPA2 без додаткового шифрування, відкрита мережа Wi-Fi та зашифрований тунель RiceGuard.
| Показник продуктивності | Звичайне з'єднання WPA2 | Відкрита мережа Wi-Fi | Зашифрований тунель RiceGuard |
|---|---|---|---|
| Рівень прийняття ін'єктованих кадрів | 64.2% прийнято | 92.5% прийнято | 0% (усі підроблені кадри відхилено) |
| Успішність отруєння записів DNS | 78.0% успіху | 98.4% успіху | 0% (резолвер надійно захищено) |
| Рівень розриву активних з'єднань | 34.8% розривів | 61.2% розривів | 0% (сесії збережено без збоїв) |
| Затримка під час інтенсивної атаки | +84 мс (переповнення буфера) | +120 мс (пакетний шторм) | +2.1 мс (криптографічна обробка) |
У звичайних мережах WPA2 вразливі драйвери приймали підроблені кадри, що призводило до забруднення кешу DNS і розриву сеансів зв'язку.
Під захистом RiceGuard ядро операційної системи відфільтрувало всі неавтентифіковані пакети на межі мережевого адаптера, зберігши стабільність передачі даних за мінімального зростання латентності.
Практичне зміцнення захисту: перевірка повторного збирання кадрів Wi-Fi та безпека мобільних пристроїв
Користувачі та системні адміністратори можуть вжити додаткових практичних заходів для зміцнення безпеки кінцевих вузлів.
Аудит конфігурації бездротового драйвера в Linux
В операційних системах Linux можна перевірити стан бездротового інтерфейсу та параметри обробки фрагментів:
# Перевірка характеристик адаптера та параметрів фрагментації
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:
# Приклад для бездротових модулів Intel: вимкнення апаратної агрегації
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi 11n_disable=1
Хоча вимкнення агрегації знижує пікову швидкість Wi-Fi, воно унеможливлює експлуатацію вразливостей на апаратному рівні. Під час підключення через офіційний застосунок VPNRice багаторівневий захист тунелювання функціонує безперервно в автоматичному режимі.
Використання автентифікованого шифрування на рівні 3 надійно захищає конфіденційність і цілісність даних незалежно від надійності проміжних бездротових мереж.



