Вредоносный пакет typosquat угрожает безопасности экосистемы Go

Источник: socket.dev
Исследователи из компании Socket обнаружили вредоносный пакет, получивший название typosquat, в экосистеме Go. Этот пакет имитирует один из самых широко используемых модулей баз данных — BoltDB. Атака на цепочку поставок, о которой идет речь, использовала механизмы кэширования в прокси-сервере Go Module, что позволяло вредоносному программному обеспечению длительное время оставаться незамеченным.
Механизм атаки
Вредоносный пакет с именем github.com/boltdb-go/bolt внедрил бэкдор, предназначенный для удаленного выполнения кода, что предоставило злоумышленнику контроль над системами, использующими этот пакет. Основные этапы атаки следующие:
- Публикация скомпрометированного пакета в версии v1.3.1.
- Кэширование пакета сервисом Go Module Mirror.
- Изменение Git-тегов, чтобы они ссылались на легитимную версию.
- Обнаружение бэкдора при вызове функции Open(), инициирующей постоянное TCP-соединение с сервером управления (C2) по скрытому IP-адресу (49.12.198.231:20022).
Усложнение обнаружения
Вредоносный пакет был спроектирован таким образом, что его функциональность распределена по нескольким файлам, что усложняет обнаружение через статический анализ кода. Тестирование показало, что файл .info, связанный с вредоносным модулем, не содержал разрешенных Git commit SHA-ссылок, что дополнительным образом сокрывало источники вредоносного ПО.
Данный инцидент подчеркивает существенный риск, связанный с механизмами кэширования прокси-сервера Go Module. После публикации вредоносной версии она может оставаться доступной в кэше на неопределенный срок, что делает исправление проблемы значительно более сложным.
Рекомендации и предостережения
Socket подала ходатайство об удалении вредоносного пакета с зеркала модуля и сообщила о соответствующей учетной записи на GitHub, ответственной за его распространение. Однако этот инцидент служит важным напоминанием для разработчиков и специалистов по безопасности, чтобы:
- Тщательно проверять кэшированные версии модулей.
- Сохранять бдительность в отношении потенциальных нарушений цепочки поставок.
- Обращать внимание на недостатки, связанные с текущими стратегиями кэширования.
Дополнительно была выявлена другая версия пакета с опечаткой — github.com/bolt-db/bolt. Хотя она и не содержит вредоносного кода, ее название крайне похоже на название легитимного пакета BoltDB, что увеличивает риск использования в будущем.
Оперативная безопасность, проявленная злоумышленником, включая выбор незарегистрированного IP-адреса и специализированной инфраструктуры хостинга, служит доказательством преднамеренных усилий избежать обнаружения. Безусловно, этот инцидент указывает на необходимость повышения уровня безопасности и осведомленности в сообществе разработчиков.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



