Администратор на Jabber-сървъра jabber.ru (xmpp.ru) откри атака за декодиране на потребителски трафик (MITM), провеждана в продължение на от 90 дни до 6 месеца в мрежи на германските хостинг провайдери Hetzner и Linode, където е хостван проектният сървър и помощни VPS среди. Атаката е организирана чрез пренасочване на трафика към транзитен възел, заменящ TLS сертификата за XMPP връзки, шифровани с използване на разширението STARTTLS.
Атаката беше забелязана заради грешка на нейните организатори, които не успяха да подновят TLS сертификата, използван за заменяне. На 16 октомври администраторът на jabber.ru при опит за свързване с услугата получи съобщение за грешка заради изтичането на срока на сертификата, но сертификатът на сървъра не беше изтекъл. В крайна сметка стана ясно, че получаваният от клиента сертификат се различава от сертификата, изпращан от сървъра. Първият фалшив TLS сертификат был получен 18 апреля 2023 года через сервис Let’s Encrypt, в котором атакующий, имея возможность перехватить трафик, смог подтвердить доступ к сайтам jabber.ru и xmpp.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 хранилища за възможна подмяна.
Източник: opennet.ru
