Команда ученых из Китая и Сингапура разработала атаку WiKI-Eve, которая позволяет перехватывать cleartext-передачи со смартфонов, подключенных к современным Wi-Fi роутерам. Атака помогает вычислить отдельные нажатия на цифровые клавиши с точностью до 90%, что дает возможность похищать пароли жертв.
WiKI-Eve эксплуатирует функциональность BFI (Beamforming Feedback Information), появившуюся в Wi-Fi 5 (802.11ac) в 2013 году и позволяющую устройствам передавать маршрутизаторам информацию о своем положении, чтобы те могли более точно направлять сигнал. Проблема, связанная с BFI, заключается в том, что при обмене информацией данные передаются в открытом виде, а значит, их можно перехватить и использовать, не прибегая к аппаратному хакингу или взлому ключей шифрования.
Атака позволяет распознавать нажатия на цифровые клавиши в 90% случаев, расшифровать шестизначные цифровые пароли с точностью 85%, а также распознает сложные пароли от приложений с точностью примерно 66%.
Так как WiKI-Eve предназначена для перехвата сигналов Wi-Fi во время ввода пароля, атака должна проводиться в режиме реального времени, когда пользователь активно пользуется смартфоном и пытается получить доступ к определенному приложению. При этом для проведения атаки злоумышленник должен идентифицировать свою жертву по какому-либо идентификатору, например MAC-адресу, то есть атака также потребует определенной подготовки.
На основном этапе атаки злоумышленник должен перехватить временной ряд BFI жертвы во время ввода пароля (с помощью любого инструмента для мониторинга трафика, например, Wireshark). Дело в том, что каждый раз, когда пользователь нажимает на клавишу, это воздействует на Wi-Fi антенны, расположенные за экраном, и в результате формируется определенный сигнал Wi-Fi.
«Тот факт, что ввод текста на экране непосредственно воздействует на антенны Wi-Fi, расположенные прямо за экраном, позволяет BFI содержать достаточно информации о нажатиях клавиш», — объясняют авторы атаки.
При этом записанные временные ряды BFI содержат весьма размытую информацию о границах между нажатиями клавиш, и исследователям пришлось создать специальный алгоритм для парсинга и восстановления данных.
Для отсеивания различных факторов, влияющих на полученные результаты (стиль набора текста, скорость набора текста, случайные нажатия на соседние клавиши так далее), исследователи используют систему машинного обучения «1-D Convolutional Neural Network». Эта система обучена последовательно распознавать нажатия клавиш независимо от стиля набора текста и других факторов.
Кроме того, был применен подход Gradient Reversal Layer (GRL), который помогает модели единообразно определять нажатия на клавиши для разных доменов.
В ходе экспериментов с WiKI-Eve исследователи использовали ноутбук и WireShark, но отмечается, что в качестве атакующего устройства подойдет и обычный смартфон (хотя в таком случае количество поддерживаемых протоколов Wi-Fi может быть более ограниченным).
В рамках тестов двадцать человек, подключались к одной и той же точке доступа Wi-Fi и использовали разные модели телефонов. Все они вводили пароли, использовали различные сочетания активных фоновых приложений и разную скорость набора текста. В итоге WiKI-Eve продемонстрировала стабильный уровень распознавания нажатых клавиш 88,9%.
Так, WiKI-Eve смогла определить шестизначные числовые пароли с вероятностью 85%, используя менее 100 попыток, и этот показатель стабильно оставался на уровне выше 75% во всех протестированных средах.
Исследователи отдельно изучили возможность получения паролей от WeChat Pay, имитируя реальную атаку, и обнаружили, что WiKI-Eve правильно определяет пароли с вероятностью 65,8%.
При этом, как показали эксперименты, решающее значение для такой атаки имеет расстояние между злоумышленником и точкой доступа. Так, увеличение этого расстояния с 1 до 10 метров приводит к снижению вероятности успешных распознаваний на 23%.
Для защиты от WiKI-Eve и подобных атак, по словам экспертов, потребуется комплексный подход, включая общее повышение безопасности для точек доступа Wi-Fi и приложений для смартфонов, рандомизацию клавиатуры, шифрование трафика, обфускацию сигнала, скремблирование CSI, скремблирование каналов Wi-Fi и многое другое.