Розкрито деталі нової техніки атаки KRACK (Key Reinstallation Attacks), що дозволяє вклинитися в бездротове з’єднання на базі технології WPA2 і організувати перехоплення або підстановку трафіку без підключення до бездротової мережі і без визначення пароля доступу. Нова техніка атаки зводить нанівець рівень захисту WPA2, роблячи роботу через WPA2 не більше захищеною ніж, робота в публічній WiFi-мережі. Всім користувачам рекомендується обов’язково використовувати додаткові рівні захисту при роботі з конфіденційними даними при з’єднанні через WPA2, такі як VPN або звернення до ресурсів тільки по HTTPS.
Атака зачіпає концептуальні недопрацювання в стандарті WPA2, що робить уразливими всі реалізації стандарту, незалежно від застосовуваних шифрів (WPA-TKIP, AES-CCMP, GCMP). У тому числі наявність проблеми підтверджено в Android, Linux, macOS, iOS, Windows, OpenBSD, MediaTek і Linksys. Найбільша небезпека у користувачів пакету wpa_supplicant, для якого проведення атаки зазнає суттєвого спрощення, так як в версіях wpa_supplicant 2.4+ додатково знайдено уразливість, за допомогою якої атакуючі можуть перевести з’єднання на роботу з порожнім ключем шифрування і повністю контролювати трафік.
Додаткова вразливість в wpa_supplicant 2.4+ пов’язана з тим, що в коді передбачається, що ключ використовується тільки один раз, тому після установки він очищається з пам’яті, а операція перевстановлення призводить до використання вже очищеного ключа. Wpa_supplicant 2.4 використовується в платформі Android 6+ і багатьох дистрибутивах Linux, що робить дані системи найбільш уразливими при доступі в мережу через WPA2. Для інших реалізацій WPA2 небезпека не така велика і можлива лише вибіркова розшифровка кадрів.
Атака зводиться до ініціювання процесу перенастроювання сесійних ключів шифрування WPA / WPA2 / RSN (TK, GTK або IGTK), шляхом відправки клієнтові спеціально оформленого кадру. Подібне переналаштування може бути використано зловмисником для відключення захисту від повторного відтворення і істотного зниження стійкості шифрування до рівня, що дозволяє, в залежності від застосовуваного шифру, виконати розшифровку вмісту переданих кадрів або визначити частини ключів шифрування.
Зокрема, так як атакуючий добивається перевстановлення вже використовуваного ключа в процесі узгодження з’єднання, то здійснюється скидання прив’язаного до з’єднання номера переданих пакетів (в WPA2 номер пакета використовується в якості вектора ініціалізації, nonce) і скидається лічильник отриманих відповідей. Таким чином з’являється можливість повторного використання одноразового значення “nonce”. Залежно від налаштувань бездротової мережі атакуючий може організувати прослуховування трафіку або маніпуляцію даними, наприклад, здійснити підстановку шкідливого коду на сторінки сайтів, одержувані без HTTPS.
Небезпека проблеми згладжує те, що вразливість може бути усунена без порушення сумісності, шляхом накладення патча на стороні клієнта. Точки доступу проблема зачіпає тільки, якщо вони працюють в режимі клієнта або включений 802.11R (Fast Roaming, зазвичай не ввімкнено за умовчанням). Продемонстрований метод атаки стосується тільки клієнтів і забезпечує перехоплення трафіку тільки від клієнта. Двохнаправлений перехоплення можливий в разі застосування на точці доступу 802.11R.
Проблема буде усунуто в hostapd / wpa_supplicant 2.7, але вже доступні патчі і пакети з виправленням сформовані для Debian, Fedora, ALT, ROSA, Arch і Ubuntu (в найближчі години поновлення очікуються для RHEL, SUSE і FreeBSD). З виробників обладнання оновлення прошивки випустили Mikrotik, Netgear, Ubiquiti і Aruba. Оновлення для точок доступу Zyxel заплановано на лютий 2018 року.
У OpenBSD проблема була усунена ще в кінці серпня, так як розробники даної системи відмовилися відкладати виправлення до закінчення ембарго, але погодилися не афішувати зв’язок виправлення з уразливістю до загального анонса. Доповнення: Microsoft також порушив ембарго і 10 жовтня випустив виправлення в складі поновлення KB4041676, без явного згадування в списку виправлень.