Уязвимость в Android позволяет приложениям раскрывать реальный IP пользователя

Обычные приложения для Android могут раскрывать реальный IP-адрес пользователя в обход VPN. Об этом сообщил исследователь Армин Шупук в своём блоге.
«В Android предусмотрены функции постоянного подключения (Always-on VPN) и запрета любых соединений в обход туннеля («Блокировать соединения без VPN»). Эта связка должна была гарантировать, что трафик приложений не покидает защищённый туннель», — сообщает «Код Дурова».
Однако специалист обнаружил архитектурный сбой в механизме поддержания сетевого соединения NAT-T (Keepalive). Система делегирует отправку коротких пакетов напрямую Wi-Fi-модулю на аппаратном уровне. Android передаёт эту задачу сетевому чипу без предварительной проверки текущих правил VPN для конкретного приложения. В результате программа с базовым разрешением на доступ в интернет может самостоятельно слать служебные пакеты напрямую через физический роутер в обход шифрования.
Передать пользовательские файлы или произвольный текст таким способом нельзя, так как формат служебных пакетов строго фиксирован платформой. Тем не менее злоумышленник может указать свой сервер в качестве адресата и каждые десять секунд получать на него эти пакеты, тем самым раскрывая реальный IP-адрес владельца устройства и точное время его активности.
Проблеме потенциально подвержено подавляющее большинство смартфонов на базе Android 12 и новее, поскольку соответствующие чипсеты Wi-Fi встречаются в 91% актуальных устройств. На практике утечку воспроизвели на нескольких устройствах разных производителей: полный перехват трафика через контролируемый роутер зафиксировали на Google Pixel 8 Pro, а на Samsung и Nothing подтвердили сам факт срабатывания уязвимого механизма.
Подписывайтесь на наш Telegram-канал, чтобы быть в курсе всех новостей и событий Рунета.