Новая ошибка Linux позволяет взломать зашифрованные VPN соединения

Команда исследователей обнаружила новую серьезную уязвимость, затрагивающую Linux и Unix операционные систем, включая FreeBSD, OpenBSD, MacOS, iOS и Android, которая может позволить хакерам  удаленно шпионить и влиять на зашифрованные VPN соединения.


Уязвимость, названная CVE-2019-14899, находится в сетевом стеке операционных систем и ее можно использовать на потоках TCP IPv4 и IPv6.
Из-за того, что ошибка не зависит от разновидности используемой VPN, атака работает против широко распространенных виртуальных частных сетевых протоколов, таких как OpenVPN, WireGuard, IKEv2/IPSec и других.

Linux — общее название UNIX-подобных операционных систем на основе одноимённого ядра и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU.
GNU/Linux работает на PC-совместимых системах семейства Intel x86, а также на IA-64, AMD64, PowerPC, ARM и многих других.

Эта уязвимость может быть использована взломщиками, в распоряжении которых есть точка доступа или подключенным к сети жертвы, для атаки им достаточно посылать сетевые пакеты на выбранное устройство и следить за ответами, даже если они зашифрованы.
Как объяснили исследователи, хотя для каждой из затронутых операционных систем есть свои особенности, уязвимость позволяет злоумышленникам делать:

  • Определить виртуальный IP-адрес жертвы, назначенный VPN сервером;
  • Определить, существует ли активное соединение с данным веб-сайтом;
  • Определить точные номера секвенирования и аварийного сигнала путем подсчета зашифрованных пакетов и/или проверки их размера;
  • Вводить данные в поток TCP и перехватывать соединения.

«Точка доступа может затем определить виртуальный IP-адрес жертвы, посылая SYN-ACK-пакеты на устройство по всему виртуальному IP-пространству», — сказала команда в своем сообщении.

Объясняя различия в поведении различных операционных систем, исследователи в качестве примера сказали, что описанная атака не работает против устройств на базе MacOS/iOS.
Вместо этого злоумышленнику необходимо «использовать открытый порт на машине Apple для определения виртуального IP-адреса». В тестировании использовался «порт 5223, который используется для iCloud, iMessage, FaceTime, Game Center, Photo Stream, push-уведомлений и т.д.».


Исследователи протестировали и успешно использовали уязвимость для следующих операционных систем:

  • Ubuntu 19.10 (systemd)
  • Fedora (systemd)
  • Debian 10.2 (systemd)
  • Arch 2019.05 (systemd)
  • Manjaro 18.1.1 (systemd)
  • Devuan (sysV init)
  • MX Linux 19 (Mepis+antiX)
  • Void Linux (runit)
  • Slackware 14.2 (rc.d)
  • Deepin (rc.d)
  • FreeBSD (rc.d)
  • OpenBSD (rc.d)

Но они считают, что этот список может продолжаться до тех пор, пока исследователи будут тестировать недостатки на других системах.
«Большинство проверенных нами дистрибутивов Linux были уязвимы, особенно дистрибутивы Linux, использующие версию systemd, выпущенную после 28 ноября прошлого года, которая отключила фильтрацию по обратному пути», — сказали исследователи.

Несмотря на имеющиеся ошибки VPN остается наиболее эффективным способом обезопасить себя в сети интернет.

«Однако недавно мы обнаружили, что атака также работает против протокола IPv6, поэтому включение фильтрации по обратному пути не является разумным решением».
По возможности, исследователи предложили включить фильтрацию по обратному пути, внедрить фильтрацию по ложному пути, а также шифровать размер и время пакетов, чтобы злоумышленники не могли сделать никаких выводов.

Хотя исследователи еще не раскрыли технических деталей уязвимости, они планируют опубликовать подробный анализ этого недостатка и его последствий после того, как производители: Systemd, Google, Apple, OpenVPN, WireGuard и различные дистрибутивы Linux выпустят удовлетворительные обходы и исправления.