Якщо ви купуєте VPN, бо заголовок сказав, що KRACK ламає шифрування Wi-Fi, ви лагодите не той рівень. Те розкриття 2017 року описувало родину атак перевстановлення ключа на чотирикрокове рукостискання WPA2, а виправлення прийшло як оновлення операційної системи, патчі бездротових драйверів і прошивка маршрутизатора. Тунель може приховати ваш трафік від локальної мережі, але не може полагодити рукостискання, яке завершується під ним. Тому перше питання не в тому, який VPN купити; воно в тому, який із ваших пристроїв досі працює на невиправленому бездротовому стеку.

Те саме розрізнення відповідає і на занепокоєння щодо бюджету. Той, хто не може дозволити собі підписку, ніколи не був відрізаний від справжнього засобу, бо засобом було безкоштовне оновлення. Гроші коштує заміна обладнання, яке його більше не отримує.

Що атака насправді маніпулювала

WPA2 виводить новий парний ключ під час приєднання через чотирикрокове рукостискання. Точка доступу надсилає nonce, клієнт відповідає своїм, обидві сторони обчислюють парний проміжний ключ, а точка доступу підтверджує повідомленням, яке клієнт підтверджує. Атака перевстановлення ключа втручається в цю послідовність замість того, щоб вгадувати пароль, і змушує клієнт встановити ключ, який він уже встановив. Кожне перевстановлення може скинути nonce передавання та лічильник повторного приймання, пов'язані з цим ключем.

Щойно ці лічильники йдуть назад, частина трафіку, який мав бути відхилений, знову стає прийнятним. Залежно від варіанта та реалізації, атакувальник у радіусі дії міг повторювати кадри, розшифровувати їх або впроваджувати. Рукостискання групового ключа та рукостискання швидкого переходу мали власні варіанти, тому в рекомендації перелічувалися кілька назв атак, а не одна.

Android 6.0 і новіші був найгіршим випадком. Його версії wpa_supplicant можна було змусити встановити ключ із самих нулів, що робило розшифрування набагато простішим, ніж на платформах, де перевстановлення лише скидало лічильники. Ця деталь відокремила теоретичну слабкість від практичної на найпоширенішій тоді телефонній платформі.

Виправлення живе в бездротовому стеку

Виправлення з upstream звеліло supplicant-ам і точкам доступу ігнорувати повторно надіслане повідомлення рукостискання, коли ключ уже встановлено. Пропатчені збірки wpa_supplicant і hostapd несли його, а дистрибутиви перенесли його до старіших гілок, тож рядок, який друкує wpa_supplicant -v, — це відправна точка, а не вирок. Прочитайте рекомендацію з безпеки дистрибутива й підтвердьте конкретний патч, а не лише номер версії. Збірка зі старим номером може бути вже виправлена, а збірці з новим номером може бракувати перенесення від виробника.

Обидва кінці з'єднання потребують уваги. Виправлений маршрутизатор не патчить ноутбук, який до нього підключається, а виправлений ноутбук не патчить маршрутизатор. Виробники публікували рекомендації щодо кожного продукту, і виправлення маршрутизаторів зазвичай відставали від оновлень телефонів, бо кожній моделі потрібна власна збірка прошивки. Якщо останній випуск пристрою передує рекомендації, вважайте його невиправленим, доки виробник не скаже інакше.

Для обладнання, яке ви не можете оновити, варіанти вузькі й невиразні. Спишіть його, тримайте подалі від мереж із чутливим трафіком або обмежте сегментом, де його єдині сусіди так само жертовні. Жоден із цих варіантів не потребує підписки, і жоден не покращується вибором іншого постачальника тунелю.

Що тунель усе ж покриває

VPN зсуває межу. Ваш пристрій шифрує кожен пакет і надсилає його на сервер VPN, який розшифровує його й передає далі. Той, хто маніпулює з'єднанням Wi-Fi, бачить зовнішні пакети тунелю, а не корисне навантаження всередині них, тож атака перевстановлення, яка розкриває кадри канального рівня, не розкриває автоматично вміст тунельованого з'єднання. Цей захист діє навіть тоді, коли бездротовий стек під ним лишається вразливим, і саме тому ці два засоби плутають.

Застереження — «тунельовано». Розділене тунелювання, список обходу або виняток для captive-порталу надсилають частину трафіку поза тунелем, і цей трафік не отримує з нього жодної користі. Так само і трафік інших пристроїв у тій самій мережі, які ніколи не встановлювали клієнт. Тунель — це рішення для кожного пристрою й кожного маршруту, а не властивість кімнати, і VPN на рівні маршрутизатора покриває лише те, що справді проходить через маршрутизатор.

Чого тунель не може — полагодити драйвер, зупинити потік деавтентифікації або завадити атакувальнику глушити канал. Він також не може захистити з'єднання, яке ніколи до нього не входить. Це проблеми доступності й канального рівня, і вони залишаються з бездротовим стеком, яким би сильним не був набір шифрів тунелю.

HTTPS і тунель захищають різні переходи

Одне завантаження сторінки може включати три окремі захисти: з'єднання Wi-Fi, тунель до сервера VPN і сеанс TLS до сайту. Кожен узгоджується незалежно. TLS з чинним сертифікатом і сучасною версією протоколу дає вам автентифіковане шифрування між браузером і сайтом навіть тоді, коли перший перехід ворожий, бо саме перевірка сертифіката не дає самозванцю підставити свій ключ.

У цієї перевірки є слабкі місця на краях. Перенаправлення з HTTPS на HTTP, сторінка, що завантажує скрипти звичайним HTTP, або користувач, який пролистує попередження про сертифікат, виводять трафік за межі захищеного сеансу. HSTS і проміжні сторінки браузера існують тому, що ці помилки часті, а не тому, що TLS крихкий.

Збереження HTTPS і тунелю не робить бездротову реалізацію невразливою. Кадри досі розшифровує несправний драйвер; різниця в тому, що атакувальник знаходить усередині і чи був цей вміст уже захищений чимось іншим.

Порядок виправлення для змішаної мережі

Почніть із точки доступу, бо це пристрій, який ви контролюєте і від якого залежить кожен клієнт. Далі пройдіться операційними системами клієнтів, від найстаріших, бо платформи, що перестали отримувати оновлення, — це ті, які ніколи не будуть пропатчені. Лише після завершення цього переліку рішення про VPN має сенс, і це рішення про вразливість, а не про виправлення. Зробити це у зворотному порядку, спершу тунель, а потім прошивку, залишає фактичний дефект на місці, доки діє підписка.

Запишіть, що ви перевірили, включно з версією прошивки та датою. «Оновлено» — це не стан, який хтось зможе перевірити пізніше.

Три перевірки покривають більшу частину роботи, і вони йдуть у цьому порядку. Не пропускайте третю лише тому, що перші дві повернулися чистими.

  • Прошивка маршрутизатора: порівняйте встановлену версію зі сторінкою рекомендацій виробника, а не з кнопкою оновлення.
  • ОС клієнта: підтвердьте рівень патчів, що включає бездротове виправлення для кожного телефону, ноутбука й планшета.
  • Залишки: перелічіть пристрої без шляху патча й вирішіть — списати, ізолювати чи прийняти.

Якщо список залишків довгий, гостьова мережа з ізоляцією клієнтів купує час, поки обладнання замінюють. Потім перевірте одного відомого клієнта в кожному діапазоні, запишіть результат і перевірте знову після наступного випуску прошивки. Перелік обладнання — це те, що робить наступну рекомендацію швидкою; тунель — це те, що покриває розрив тим часом.

Схожі статті