В ноябре 2022 года исследователи из университетов США и Канады продемонстрировали метод локализации устройств с модулями Wi-Fi в пространстве, используя очень недорогое и доступное всем оборудование. Продемонстрированная атака был названа Wi-Peep, что достаточно неплохо описывает ее смысл: она дает возможность «подглядывать» за устройствами, общающимися друг с другом по протоколу Wi-Fi. Научная работа позволяет взглянуть на некоторые особенности работы Wi-Fi-сетей по-новому и оценить возможные риски локализации устройств. Заранее скажем, что риски небольшие — данная атака похожа на нечто из арсенала мифического агента Джеймса Бонда. Но это не делает исследование менее интересным!
Особенности атаки Wi-Peep
Прежде чем рассматривать исследование во всех деталях, полезно представить себе реальную атаку. Итак, некий злоумышленник подсылает к некоему помещению миниатюрный квадрокоптер с наидешевейшим микрокомпьютером на борту. Погоняв дрон вокруг дома, атакующий обрабатывает данные и получает карту расположения беспроводных устройств внутри здания с достаточно неплохой точностью (плюс-минус полтора метра в идеальных условиях). Для чего это может быть нужно? Допустим, мы говорим про помещение банка или сверхсекретной исследовательской лаборатории, где модулями Wi-Fi могут быть оснащены в том числе системы безопасности. В таком случае их расположение может представлять определенный практический интерес для злоумышленников, планирующих физическое проникновение.
Как у исследователей получается провернуть подобное? Атака Wi-Peep использует две важные особенности абсолютно любого устройства Wi-Fi — от древних беспроводных модулей двадцатилетней давности до самых современных. Первая особенность — механизм энергосбережения Wi-Fi-устройств. Модуль Wi-Fi, например в смартфоне, имеет функцию экономии энергии, которая позволяет выключать радиоприемник на некоторое время. Беспроводной точке доступа нужно учитывать такой режим работы: ваш роутер может накапливать пакеты данных для определенного устройства и передавать их все разом, когда оно просигнализирует, что снова готово к приему.
Для успешной атаки потенциальному шпиону надо получить список MAC-адресов — уникальных идентификаторов устройств, расположение которых позднее будет определено. Устройства в одном доме, офисном помещении или отеле, как правило, подключены к общей Wi-Fi-сети, узнать имя которой не составляет особого труда. Как оказалось, можно отправить поддельный пакет данных якобы от имени этой общей беспроводной сети, сообщив абсолютно всем подключенным устройствам, что для них в буфере точки доступа накопились данные. В ответ на такой сигнал устройства направляют ответ, и его анализ позволяет практически мгновенно определить уникальные MAC-адреса всех устройств сети разом. Можно сделать проще: прослушивать беспроводной радиообмен, но для этого потребуется больше времени. По словам авторов работы, в «пассивном режиме» желательно накапливать данные в течение 12 часов.
Вторая эксплуатируемая особенность беспроводного обмена данными имеет условное название Wi-Fi Polite. Ее так назвали авторы более раннего исследования 2020 года. Вкратце суть этой особенности сводится вот к чему: беспроводное устройство всегда отвечает на адресный запрос от другого устройства, даже когда они не подключены к общей сети Wi-Fi либо сам запрос не зашифрован или вовсе некорректен. В ответ Wi-Fi-модуль отправляет простое подтверждение «данные от вас получены», и оказалось, что его достаточно для определения расстояния до отвечающего устройства. Время ответа на прием такого пакета строго регламентировано стандартом и составляет 10 микросекунд. Потенциальный атакующий может измерить время между отправкой запроса и приемом ответа, вычесть из него те самые 10 микросекунд и получить время, затраченное на прохождение радиосигнала до устройства.
Что это дает? Перемещаясь относительно стационарного беспроводного устройства, мы можем с достаточно высокой точностью определить его координаты, зная собственное местоположение и расстояние до интересующего нас объекта. Большая часть работы посвящена преодолению многочисленных трудностей этого метода. Сигнал от радиопередатчика Wi-Fi постоянно отражается от стен и других препятствий, что затрудняет вычисление расстояния. То самое стандартизированное время ответа на вопрос на самом деле варьируется от устройства к устройству в пределах от 8 до 13 микросекунд. Влияет и точность определения положения самого Wi-Fi-модуля атакующих — оказалось, что даже точности систем геопозиционирования (GPS, ГЛОНАСС и подобных) не всегда хватает. В получаемых данных очень много шума, но если сделать достаточно много измерений, можно добиться относительно высокой точности. Речь идет о десятках тысяч «замеров» и точности определения координат с ошибкой в пределах от 1,26 до 2,3 метра. Это разброс в горизонтальной плоскости. В вертикальной же авторам работы удалось в 91% случаев точно определить конкретный этаж, но не более того.
Дешевизна сложной атаки
В общем, у исследователей получилась не то чтобы очень точная система определения координат беспроводных устройств, но небезынтересная. Прежде всего за счет того, что оборудование для реализации такой атаки — копеечное. Теоретически атаку может проводить сам потенциальный шпион, неспешно прогуливаясь вокруг исследуемого объекта. Для большего удобства авторы использовали дешевый квадрокоптер, на который была помещена сборка из микрокомпьютера на базе чипсета ESP32 и беспроводного модуля. Общая стоимость этого комплекта для рекогносцировки (без учета стоимости квадрокоптера) — меньше 20 долларов. Кроме того, атаку практически невозможно отследить на стороне устройств жертвы. Используются штатные возможности беспроводных модулей Wi-Fi, которые нельзя отключить или хотя бы как-то модифицировать их поведение. Если в принципе возможен обмен данными между устройством-жертвой и микрокомпьютером атакующих, то атака будет работать. Практическая дальность передачи данных по протоколу Wi-Fi составляет десятки метров, и в большинстве случаев этого будет достаточно.
Туманные последствия
Допустим, атака получилась реалистичная, но есть ли какая-то польза от получаемых данных? Исследователи предлагают несколько сценариев. Самый очевидный: если мы знаем MAC-адрес конкретного смартфона, принадлежащего конкретному человеку, мы можем примерно отслеживать перемещение этого человека в публичных местах. Это возможно, даже если смартфон потенциальной жертвы не подключен ни к каким беспроводным сетям в момент атаки. Вполне реалистичный сценарий предполагает создание карты беспроводных устройств в защищенном помещении (офис конкурента, помещение банка) для последующей физической атаки. Можно, например, определить примерное расположение видеокамер наблюдения, если они используют беспроводной протокол для передачи данных.
Можно представить и менее очевидную пользу от сбора таких данных. Если собрать информацию о количестве Wi-Fi-устройств в гостинице, можно оценить, сколько там находится гостей. Такие данные могут быть интересны конкурентам. Количество беспроводных устройств поможет определить, дома ли хозяева. Даже сами по себе MAC-адреса, без координат, представляют определенную пользу: можно собирать статистику об используемых в общественном месте смартфонах. Помимо сценариев шпионажа и кражи со взломом, подобные методы могут нести риски для приватности.
Впрочем, непосредственная угроза от применения подобного метода на практике все же достаточно низка. Это касается всех потенциальных атак и способов сбора данных, для которых необходимо подобраться к объектам исследования на небольшое расстояние. Во-первых, это достаточно трудозатратно, и в массовом порядке мало кто станет таким заниматься, а при целевой атаке другие методы могут оказаться эффективнее. Вместе с тем научное исследование помогает понять, как мелкие особенности сложных технологий могут использоваться во вред. Сами исследователи отмечают, что реальную пользу их работа принесет, если вот этот небольшой риск для безопасности и приватности будет устранен в следующих вариантах технологий беспроводной передачи данных.
Пока же единственное, что мы можем посоветовать — систему противодействия дронам. Как минимум, она не даст использовать для разведки шпиона с пропеллером.