Как минимум 55 моделей Wi-Fi маршрутизаторов с сетевыми процессорами (NPU) Qualcomm и HiSilicon уязвимы перед проблемой, которую можно использовать для «прослушивания» данных, передаваемых по беспроводной сети.
Отчет об уязвимости представила сводная группа специалистов из Китая и США. Баг получил идентификатор CVE-2022-25667 и связан с тем, что устройства не могут блокировать вредоносные ICMP-сообщения (Internet Control Message Protocol), которые в итоге используются для перехвата беспроводного соединения жертвы и шпионажа.
Исследователи напоминают, что протокол ICMP в основном используется для диагностики проблем с сетевым трафиком и передачи отчетов об ошибках (например, его запрашиваемая услуга недоступна или хост, или маршрутизатор не отвечают), хотя киберпреступники нередко применяют его для DDoS-атак, устраивая ICMP-флуд.
Эксперты пишут, что ICMP также можно использовать для обхода защиты Wi-Fi Protected Access (WPA) с целью перехвата и «прослушивания» трафика в чужой беспроводной сети. Предполагается, что WPA (включая WPA2 и WPA3) защищает устройства в беспроводной сети от шпионажа: трафик между каждой парой клиент-маршрутизатор шифруется индивидуально, чтобы другие клиенты, даже находящиеся в той же сети, не могли его перехватить.
Чтобы предложенная исследователями атака сработала, атакующий и его жертва должны находиться в одной сети (например, в общедоступной сети Wi-Fi). Также злоумышленнику потребуется: иметь возможность напрямую общаться с устройством жертвы через Wi-Fi; узнать ее IP-адрес; найти открытый порт UDP на устройстве жертвы.
Кроме того, если жертва не просто полагается на WPA, а защищает свой сетевой трафик от перехвата при помощи HTTPS, SSH, TLS или других протоколов шифрования, с этим атакующему тоже придется как-то справиться самостоятельно.
Атака состоит из нескольких этапов, включая отправку на устройство жертвы сообщения о ICMP-редиректе, которое выглядит так, будто пришло от точки доступа. По идее маршрутизатор должен отвергать такие поддельные сообщения, если его просят ретранслировать их на устройство в сети, так как на самом деле маршрутизатор не генерировал этих сообщений. Но исследователи обнаружили, что поддельные сообщения все равно можно переслать на другие устройства через уязвимую точку доступа. В итоге принимающее устройство считает, что с редиректом все в порядке, и он исходил от точки доступа.
Такие сообщения вынуждают устройства жертвы перенаправлять свой трафик в другое место назначения. То есть ICMP-редирект оформляется так, будто он настоящий и исходит от Wi-Fi маршрутизатора. Точка доступа жертвы получает это сообщение и перенаправляет сетевой трафик в систему, находящуюся под контролем атакующего, позволяя злоумышленнику перехватить и изучить чужой трафик.
«Мы обнаружили, что специально подготовленное ICMP-сообщение с редиректом всегда можно успешно переслать жертве, — пишут исследователи. — Оно не может блокироваться точкой доступа и существующими механизмами безопасности. Из-за соображений производительности NPU (например, Qualcomm IPQ5018 и HiSilicon Gigahome Quad-core) в точке доступа будут напрямую пересылать полученный фальшивый редирект ICMP жертве».
По словам исследователей, они протестировали 55 точек доступа десяти производителей, и ни одно устройство не смогло заблокировать фальшивые ICMP-сообщения. Они также утверждают, что 109 из 122 (89%) проверенных ими сетей Wi-Fi оказались уязвимы для этой атаки, демонстрацию которой можно увидеть ниже.
Поскольку проблема связана с NPU, Qualcomm уведомили об уязвимости еще в конце 2021 года, и в ноябре 2022 года компания выпустила бюллетень безопасности, посвященный этой проблеме. Однако дополнительную информацию о статусе развертывания патча в компании не предоставляют.
Китайская компания HiSilicon, принадлежащая Huawei, также была проинформирована о проблеме.
И хотя 6 из 10 производителей точек доступа, упомянутых в исследовании, подтвердили наличие проблемы в своих продуктах, многие устройства могли до сих пор не получить исправлений.
В документе исследователи предлагают ряд возможных вариантов для смягчения проблемы в NPU, а также предлагают добавить дополнительные проверки безопасности для межуровневых сетевых взаимодействий. Они говорят, что уже разработали прототип такого механизма для Linux 4.18 и смогли подтвердить его эффективность.