Атака с переустановкой ключа

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Атака с переустановкой ключа (англ. KRACK — Key Reinstallation Attack) — атака повторного воспроизведения на любую Wi-Fi сеть с шифрованием WPA2.

Впервые была обнаружена бельгийскими исследователями Мэтти Ванхоефом (Mathy Vanhoef) и Франком Писсенсем (Frank Piessens) в 2016 году.[1] Результаты исследования опубликованы в октябре 2017. С помощью этой атаки злоумышленник может «прослушивать» данные, а в некоторых случаях, даже «подделывать» данные, передаваемые между клиентом и точкой доступа.

Все защищённые Wi-Fi сети используют схему 4-этапное «рукопожатие[англ.]» (англ. 4-way-handshake) для генерации криптографического ключа. Злоумышленник заставляет жертву переустановить уже используемый криптографический ключ на третьем этапе 4-этапного «рукопожатия».

В силу использования потокового шифра AES-CCMP в протоколе WPA2, переустановка ключа сильно ослабляет шифрование. Таким образом, злоумышленник может провести криптоатаку, узнать ключ и осуществить «прослушку» данных, которыми обмениваются клиент и точка доступа. В Linux-системах[каких?] и Android 6.0 в результате атаки переустанавливался нулевой ключ, что значительно облегчало взлом устройства.

Обзор атаки

[править | править код]
4-way-handshake

При подключении нового клиента к сети Wi-Fi происходит согласование общего ключа шифрования за 4 этапа (4-этапное «рукопожатие»). Согласованный ключ затем служит для шифрования всех «нормальных» пакетов данных. Однако, поскольку отдельные сообщения могут быть потеряны, точка доступа (англ. Access Point, AP) может повторно отправлять сообщения третьего этапа пока не получит подтверждение о его получении. Как следствие, клиент может получать это сообщение несколько раз. Каждый раз, получив такое сообщение, клиент устанавливает уже имеющийся ключ шифрования и сбрасывает счётчики (англ. replay counters). Исследователям удалось на практике доказать, что злоумышленник способен заставить жертву сбрасывать счётчики путём повторной отправки сообщения 3-го этапа во время 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, благодаря чему существует возможность установить счётчик пакетов и похитить сеанс TCP. Таким образом, несмотря на использование WPA2, злоумышленник имеет возможность осуществить атаку «человек посередине», а также может вставлять вредоносные модули в данные HTTP. Например, злоумышленник может вставлять вредоносное программное обеспечение в HTTP-данные, которые получает жертва из просмотренных ею веб-сайтов.[4]

Последствия атаки KRACK особо опасны, если в Wi-Fi сети использованы протоколы шифрования WPA-TKIP или GCMP вместо AES-CCMP. Следует отметить, что протокол GCMP лежит в основе стандарта WiGig (IEEE 802.11ad), который должен получить широкое распространение в ближайшие годы.[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, Android 6.0 и 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-серверы в некоторых конфигурациях могут быть уязвимыми для различных типов атак (например, так называемых англ. Downgrade Attacks, в результате которых пользователей вынуждают перейти на незащищённое соединение по протоколу 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]

Примечания

[править | править код]
  1. Cimpanu, Catalin New KRACK Attack Breaks WPA2 WiFi Protocol. Bleeping Computer[англ.] (16 октября 2017). Дата обращения: 16 октября 2017. Архивировано 18 октября 2017 года.
  2. 1 2 Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2. Дата обращения: 5 декабря 2017. Архивировано 16 января 2021 года.
  3. 1 2 VU#228519: Wi-Fi Protected Access II (WPA2) handshake traffic can be manipulated to induce nonce and session key reuse. CERT-CC (16 октября 2017). Дата обращения: 12 декабря 2017. Архивировано 18 октября 2017 года.
  4. 1 2 "Key Reinstallation Attacks breaking WPA2 by forcing nonce reuse". www.krackattacks.com. Архивировано 28 февраля 2020. Дата обращения: 5 декабря 2017.
  5. Gallagher, Sean (2017-10-16). "How the KRACK attack destroys nearly all Wi-Fi security". Ars Technica. Архивировано 12 ноября 2020. Дата обращения: 16 октября 2017. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  6. DAN GOODIN. Serious flaw in WPA2 protocol lets attackers intercept passwords and much more. Ars Technica (16 октября 2017). Дата обращения: 10 декабря 2017. Архивировано 8 марта 2020 года.
  7. «Хакер»: Какие производители уже устранили уязвимости, связанные с WPA2 и атакой KRACK. Дата обращения: 22 сентября 2020. Архивировано 21 сентября 2020 года.
  8. Android Security Bulletin - November 2017. android.com. Дата обращения: 7 ноября 2017. Архивировано 7 ноября 2017 года.
  9. Stable Channel Update for Chrome OS. chromereleases.googleblog.com. Дата обращения: 7 ноября 2017. Архивировано 5 ноября 2017 года.
  10. About the security content of iOS 11.1 - Apple Support. support.apple.com. Дата обращения: 1 ноября 2017. Архивировано 16 ноября 2017 года.
  11. About the security content of iOS 11.2 - Apple Support. support.apple.com. Дата обращения: 7 декабря 2017. Архивировано 6 декабря 2017 года.
  12. 1 2 About the security content of macOS High Sierra 10.13.1, Security Update 2017-001 Sierra, and Security Update 2017-004 El Capitan - Apple Support. support.apple.com. Дата обращения: 1 ноября 2017. Архивировано 1 ноября 2017 года.
  13. 1 2 3 4 CVE-2017-13080 Windows Wireless WPA Group Key Reinstallation Vulnerability. microsoft.com. Дата обращения: 1 ноября 2017. Архивировано 3 ноября 2017 года.