Статья довольно сложная, с массой технических подробностей, поэтому здесь мы не будем вдаваться в детали и кратко перескажем самое главное.
Как работает KRACK
Исследователи обнаружили, что к той или иной вариации этой атаки уязвимы практически все ОС: Android, iOS, Linux, macOS, Windows и ряд других, — а значит, под угрозой почти любое устройство.
Метод взлома назвали
атакой с переустановкой ключа — key reinstallation attack, или сокращенно
KRACK.
В частности, в докладе описана атака на примере устройства с Android 6. Чтобы провести атаку, необходимо создать Wi-Fi-сеть с таким же именем (SSID), как у уже существующей сети, а также атаковать конкретного пользователя.
Когда этот самый пользователь попытается подключиться к оригинальной сети, атакующий отправляет специальные пакеты, которые переключают устройство на другой канал и таким образом заставляют его подключиться к одноименной поддельной сети.
После этого из-за ошибки в имплементации протоколов шифрования атакующий может обнулить ключ шифрования (он действительно начинает выглядеть как строка из нулей) — и получить доступ ко всему, что пользователь скачивает из Сети или загружает в нее.
Кто-то может возразить, что ничего такого не произойдет, потому как есть еще один уровень защиты — соединение с сайтом может быть зашифровано по протоколу SSL (или HTTPS — называйте как хотите).
Вот только на поддельной точке доступа можно установить простую утилиту под названием SSLstrip, которая заставляет браузер подключаться не к шифрованным, HTTPS-версиям сайтов, а к обычным, HTTP, на которых нет шифрования.
Это можно провернуть, если реализация шифрования на сайте содержит ошибки (а такое бывает часто, в том числе и на очень крупных сайтах).
Если включить в поддельной сети эту утилиту, можно получить доступ к незашифрованным логинам и паролям пользователей — то есть, по сути, украсть их.