20 октября 2023 года администратор jabber.ru (xmpp.ru) сообщил о выявлении атаки по расшифровке трафика пользователей (MITM), проводимой в течение нескольких месяцев в сетях немецких хостинг-провайдеров Hetzner и Linode. На этих IT-ресурсах размещён сервер проекта и вспомогательные VPS-окружения. Атака была организована через перенаправление трафика на транзитный узел, подменяющий TLS-сертификат для XMPP-соединений, шифруемых с использованием расширения STARTTLS.

Неизвестные участники этой атаки выпустили отдельный SSL сертификат и проксировали коннекты к TCP:5222.

Согласно данным OpenNET, атака была обнаружена из-за ошибки её организаторов, которые не успели продлить TLS-сертификат, используемый для подмены.

16 октября администратор jabber.ru при попытке подключения к сервису получил сообщение об ошибке из-за истечения срока действия сертификата, но размещённый на сервере сертификат не был просрочен. В итоге выяснилось, что получаемый клиентом сертификат отличается от сертификата, отправляемого сервером.

Первый поддельный TLS-сертификат был получен 18 апреля 2023 года через сервис Let’s Encrypt, в котором атакующий, имея возможность перехватить трафик, смог подтвердить доступ к сайтам jabber.ru и xmpp.ru.

Вначале у администрации jabber.ru возникло предположение о компрометации сервера проекта и выполнении подмены на его стороне. Но проведённый аудит не выявил никаких следов взлома. При этом в логе на сервере было замечено кратковременное выключение и включение сетевого интерфейса (NIC Link is Down/NIC Link is Up), которое было произведено 18 июля в 12:58 и могло свидетельствовать о манипуляциях с подключением сервера к коммутатору. Примечательно, что два поддельных TLS-сертификата были сгенерированы за несколько минут до этого - 18 июля в 12:49 и 12:38.

Кроме того, подмена производилась не только в сети провайдера Hetzner, в котором размещён основной сервер, но и в сети провайдера Linode, в котором размещались VPS-окружения со вспомогательными прокси, перенаправляющими трафик с других адресов. Косвенным путём было выяснено, что трафик на 5222 сетевой порт (XMPP STARTTLS) в сетях обоих провайдеров перенаправляется через дополнительный хост, что дало основание полагать, что атака произведена лицом, имеющим доступ к инфраструктуре провайдеров.

Теоретически подмена могла производиться с 18 апреля (дата создания первого поддельного сертификата для jabber.ru), но подтверждённые случаи подмены сертификата зафиксированы только с 21 июля по 19 октября, всё это время шифрованный обмен данными с jabber.ru и xmpp.ru можно считать скомпрометированным.

Подмена сертификата прекратилась после начала разбирательства, проведения тестов и направления 18 октября запроса в службу поддержки провайдеров Hetzner и Linode. При этом дополнительный переход при маршрутизации пакетов, отправляемых на 5222 порт одного из серверов в Linode, наблюдается и ныне, но сертификат теперь не подменяется.

Командой проекта предполагается, что атака могла быть совершена с ведома провайдеров по требованию правоохранительных органов, в результате взлома инфраструктур обоих провайдеров или сотрудником, имевшим доступ к обоим провайдерам. Имея возможность перехвата и модификации XMPP-трафика, атакующий мог получить доступ ко всем связанным с учётными записями данным, таким как хранимая на сервере история обмена сообщениями, а также мог отправлять сообщения от чужого имени и вносить изменения в чужие сообщения. Сообщения, отправленные с использованием сквозного шифрования (OMEMO, OTR или PGP), можно считать не скомпрометированными, если ключи шифрования подтверждены пользователями на обеих сторонах соединения.

Пользователям jabber.ru рекомендуется сменить пароли доступа и проверить ключи OMEMO и PGP в своих PEP-хранилищах на предмет возможной подмены.

<<<

  • JamesHolden
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    Да что ты мне детсадовские вещи объясняешь.

    Я тебе еще раз говорю. Провайдеры дают СЕРЫЙ ip. Ты НЕ МОЖЕШЬ на него зайти никак, порты закрыты провайдером! DNS тут ну вообще не причем.

    Ничего твой DDNS тут не даст, потому что порты закрыты, понимаешь?

    Поэтому нужна услуга “статический ip”, потому что она предполагает не только статику, но и БЕЛЫЙ ip, на котором не будут закрыты порты.

    Вот уж я вопрос задавал не для того чтобы потом такие простые вещи объяснять.

    • ThePlayerZero
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      я знаю лишь то, что твоя задача решаема, именно в такой формулировке

      чтобы я имел доступ с внешки к ресурсам на домашнем серваке.

      и именно с таким ограничением

      дополнительных услуг от провайдера не требуется

      • JamesHolden
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        Как конкретно ты предлагаешь решить это?

        • ThePlayerZero
          link
          fedilink
          arrow-up
          0
          ·
          3 years ago

          VPN тебе нужен

          какой именно vpn – точно не скажу пока, вон сосиска что-то уже принёс (ZeroTier)

          и я выше тоже писал про Hamachi – это софт для установления туннелей, между серыми айпи тоже, любые наты пробивает

          • JamesHolden
            link
            fedilink
            arrow-up
            0
            ·
            3 years ago

            Я лично не вижу смысла в сочетании “личный сервер” - “стремный сторонний сервис”. Со сторонним сервисом, я просто сейчас на VPS сервере размещаю что мне надо, и тогда не надо подкроватный и не нужны все эти извращения.

            Подкроватный имел бы смысл, если бы позволял отказаться от прогона трафика через сторонние серверы.

            И несколько лет назад еще это просто решалось - была услуга белого ipv4 адреса. А сейчас ipv6 только, что в принципе тоже решает проблему, но доступ тогда из сети ipv4-only не получить.