Войти в почту

Вектор MavenGate позволяет атаковать Java и Android через заброшенные либы

Несколько популярных, но заброшенных библиотек, которые используются в Java- и Android-приложениях, помогают организовать атаки на цепочки поставок софта. Вектор получил название MavenGate.

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

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

В результате у киберпреступников есть возможность внедрить вредоносный код в легитимные приложения. Более того, атакующие могут даже вклиниться в процесс сборки с помощью злонамеренного плагина.

По словам специалистов, перед этим вектором атаки уязвимы все Maven-проекты, включая Gradle. Другими словами, проблема касается более 200 компаний, включая Google, Meta (признана экстремистской в России, деятельность запрещена), Signal, Amazon и др.

Apache Maven, как известно, используется для сборки и управления проектами на Java. Соответствующие репозитории могут быть как открытые, так и закрытые, и в последнем случае атакующий способен проверки атаку на цепочку поставок, используя добавленные в репозитории заброшенные библиотеки.

«Злоумышленник может получить доступ к уязвимому groupId при помощи записи DNS TXT в репозитории», — говорится в отчете Oversecured.

Чтобы проверить свои выводы, эксперты загрузили собственную тестовую Android-библиотеку, выводящую сообщение «Hello World!», и две версии JitPack (1.0 была репликой самой библиотеки).

Версия 1.1 представляла собой отредактированную копию, у которой был тот же groupId. Она указывала на GitHub-репозиторий, находящийся под контролем исследователей.

«Большинство приложений не проверяет цифровую подпись зависимостей, а большая часть библиотек даже не публикует ее. Если злоумышленник пожелает максимально долго оставаться незамеченным, будет иметь смысл выпустить новую версию библиотеки с вредоносным кодом и ждать, пока разработчик обновит её».

Из 33 938 доменов к MavenGate оказались уязвимы 6170 (18%).