Русская Википедия:Атака с переустановкой ключа
Атака с переустановкой ключа (Шаблон:Lang-en — Key Reinstallation Attack) — атака повторного воспроизведения на любую Wi-Fi сеть с шифрованием WPA2.
Впервые была обнаружена бельгийскими исследователями Мэтти Ванхоефом (Mathy Vanhoef) и Франком Писсенсем (Frank Piessens) в 2016 году.[1] Результаты исследования опубликованы в октябре 2017. С помощью этой атаки злоумышленник может «прослушивать» данные, а в некоторых случаях, даже «подделывать» данные, передаваемые между клиентом и точкой доступа.
Все защищённые Wi-Fi сети используют схему 4-этапное «Шаблон:Iw» (Шаблон:Lang-en) для генерации криптографического ключа. Злоумышленник заставляет жертву переустановить уже используемый криптографический ключ на третьем этапе 4-этапного «рукопожатия».
В силу использования потокового шифра AES-CCMP в протоколе WPA2, переустановка ключа сильно ослабляет шифрование. Таким образом, злоумышленник может провести криптоатаку, узнать ключ и осуществить «прослушку» данных, которыми обмениваются клиент и точка доступа. В Linux-системахШаблон:Каких и Android 6.0 в результате атаки переустанавливался нулевой ключ, что значительно облегчало взлом устройства.
Обзор атаки
При подключении нового клиента к сети Wi-Fi происходит согласование общего ключа шифрования за Шаблон:S (4-этапное «рукопожатие»). Согласованный ключ затем служит для шифрования всех «нормальных» пакетов данных. Однако, поскольку отдельные сообщения могут быть потеряны, точка доступа (Шаблон:Lang-en) может повторно отправлять сообщения третьего этапа пока не получит подтверждение о его получении. Как следствие, клиент может получать это сообщение несколько раз. Каждый раз, получив такое сообщение, клиент устанавливает уже имеющийся ключ шифрования и сбрасывает счётчики (Шаблон:Lang-en). Исследователям удалось на практике доказать, что злоумышленник способен заставить жертву сбрасывать счётчики путём повторной отправки сообщения Шаблон:S во время 4-этапного «рукопожатия».
Благодаря повторному использованию ключа шифрования появляется возможность атаки на криптографический протокол: воспроизведение пакетов, дешифрование и даже подделка их содержания[2]. Этот метод пригоден для атаки на протоколы Group Key, Fast Basic Service Set (BSS) Transition, PeerKey, Tunneled Direct-Link Setup (TDLS) PeerKey (TPK), или Wireless Network Management (WNM) Sleep Mode[3] .
При определённых условиях злоумышленник может не только «прослушивать» Wi-Fi трафик, но и осуществлять ряд атак типа «человек посередине»: перехватывать сеансы TCP, выполнять вставку информации в сеансы HTTP , воспроизводить адресные или широковещательные пакеты, и осуществлять другие атаки типа спуфинг[3].
Значение
Злоумышленники имеют возможность прослушивать сетевой трафик и похищать из него пароли, HTTP-куки и тому подобное. Злоумышленники также получают возможность дешифровки пакетов TCP SYN, благодаря чему существует возможность установить счётчик пакетов и похитить Шаблон:S Таким образом, несмотря на использование WPA2, злоумышленник имеет возможность осуществить атаку «человек посередине», а также может вставлять вредоносные модули в данные HTTP. Например, злоумышленник может вставлять вредоносное программное обеспечение в HTTP-данные, которые получает жертва из просмотренных ею веб-сайтов.[4]
Последствия атаки KRACK особо опасны, если в Wi-Fi сети использованы протоколы шифрования WPA-TKIP или GCMP вместо AES-CCMP. Следует отметить, что протокол GCMP лежит в основе стандарта WiGig Шаблон:S который должен получить широкое распространение в ближайшие годы.[4]
В таблице показаны действия злоумышленника в результате атаки KRACK по отношению к клиенту и точке доступа (AP) в зависимости от используемого протокола шифрования данных (стрелками показаны направления пересылки пакетов информации):
Протокол | Повтор | Расшифровка | Подделывание |
---|---|---|---|
TKIP | AP → клиент | клиент → AP | клиент → AP |
CCMP | AP → клиент | клиент → AP | - |
GCMP | AP → клиент | клиент → AP | клиент ↔ AP |
Подверженность устройств атаке
Атака особенно разрушительна для версий 2.4 и 2.5 wpa_supplicant, Wi-Fi клиента, которые на момент обнаружения уязвимости использовались в некоторых операционных системах семейства Linux. Этот клиент устанавливал нулевой ключ вместо того, чтобы переустановить реальный ключ. Эта уязвимость происходила из-за ошибки в стандарте 802.11, в котором неявно указано очищать память из-под ключа шифрования сразу после его установки. Так как Android использует изменённый wpa_supplicant, Шаблон:S и Android Wear 2.0 также содержат эту уязвимость. В результате 31,2 % устройств Android подвержены этой атаке.[5]
В таблице представлено влияние атаки KRACK на разные типы Wi-Fi клиентов. Во второй колонке отражена информация о том, допускает ли имплементация клиента повторной отправки сообщения третьего этапа в 4-этапном «рукопожатии».
Имплементация | Re.Msg3 | 4-way |
---|---|---|
OS X 10.9.5 | да | уязвима |
macOS Sierra 10.12 | да | уязвима |
iOS 10.3.1 | нет | не уязвима |
wpa_supplicant v2.3 | да | уязвима |
wpa_supplicant v2.4-5 | да | уязвима |
wpa_supplicant v2.6 | да | уязвима |
Android 6.0.1 | да | уязвима |
OpenBSD 6.1 (rum) | да | не уязвима |
OpenBSD 6.1 (iwn) | да | уязвима |
Windows 7 | нет | не уязвима |
Windows 10 | нет | не уязвима |
MediaTek | да | уязвима |
Противодействие
Пользователям настоятельно рекомендуется использовать VPN и посещать сайты только по протоколу HTTPS. Однако, следует заметить, что VPN шлюзы также имеют полный доступ к сетевому трафику клиентов, а HTTPS-серверы в некоторых конфигурациях могут быть уязвимыми для различных типов атак (например, так называемых Шаблон:Lang-en, в результате которых пользователей вынуждают перейти на незащищённое соединение по протоколу HTTP).[6]
Исправления
В таблице представлены исправления для разных устройств, которые устраняют возможность атаки KRACK. Например, в Wi-Fi клиенте wpa_supplicant 2.6 ключ шифрования устанавливается только один раз: после первого приёма сообщения третьего этапа от точки доступа.[2]
Для операционных систем семейства Linux исправления были выпущены в 2017 году.[7]
ОС | Версия | Исправления |
---|---|---|
Android | Все | Уровень безопасности 2017-11-06[8] |
Chrome OS | Все | 62.0.3202.74[9] |
iOS | iOS 11 | iOS 11.1[10]для iPhone >=7, iOS 11.2[11]для всех iOS устройтв под iOS 11. iOS версии ранее 11 не были уязвимы. |
macOS High Sierra | 10.13 | 10.13.1[12] |
macOS Sierra | 10.12 | Обновление безопасности 2017—001[12] |
Windows | 7 | KB4041681 и KB4041678[13] |
Windows | 8.1 | KB4041693 и KB4041687[13] |
Windows | 10 | KB4042895[13] |
Windows Server | 2016 | KB4041691[13] |
Примечания
Ссылки
- Сайт исследователей, обнаруживших уязвимость в WPA2
- Falling through the KRACKs
- Youtube: The 4-way Handshake
- Youtube: KRACK — Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2
Шаблон:Библиоинформация Шаблон:Хакерские атаки 2010-х