Злоумышленник, который наполняет кодовый маркетплейс Open VSX фальшивыми расширениями, скачивающими вредонос GlassWorm, загрузил еще 73 поддельные ссылки, продолжая попытки заразить цепочки поставок ПО.
Philipp Burckhardt, руководитель направления threat intelligence в Socket, сообщившей о новой активности, назвал ее «существенной эскалацией» действий группировки после того, как в прошлом месяце она добавила 72 вредоносных расширения.
Расширения маскируются под доверенные инструменты для разработчиков. В последнее время в списках размещают безвредный код, чтобы обходить антивирусные сканеры. Затем, после автоматического подключения к только что созданным GitHub или другим публичным учетным записям, они загружают GlassWorm на компьютеры разработчиков в виде обновления. В этой новой волне есть и расширения, которые полагаются на встроенные нативные бинарные файлы.
«Само расширение выступает как тонкий загрузчик», — пояснила Socket в своем отчете. — «Перенося критическую логику за пределы того, что обычно сканируют инструменты, и распределяя ее по нескольким механизмам доставки, злоумышленник повышает вероятность уклонения от обнаружения».
Из 73 новых расширений, замеченных Socket, на прошлой неделе шесть были активированы для подключения к источникам вредоносного ПО. На этой неделе, по словам Burckhardt в интервью, были активированы еще восемь.
Socket уведомила Eclipse Foundation, которая курирует Open VSX, о последних фальшивых добавлениях, и Burckhardt ожидает, что к этому моменту все 73 уже удалены.
Однако продолжающиеся атаки — еще один пример того, как злоумышленники пытаются использовать открытые кодовые маркетплейсы, которыми пользуются разработчики, такие как Open VSX и npm, чтобы скомпрометировать приложения еще на этапе создания и затем распространить крадущий данные вредоносный код.
[Связанное: GlassWorm распространяется через злоупотребление зависимостями]
Расширения — это дополнительные модули, которые помогают разработчикам ускорять создание приложений. Поскольку Microsoft’s Visual Studio Code — один из самых распространенных редакторов кода в мире, расширения VS Code становятся привлекательной целью для злоумышленников. Популярные расширения включают утилиты, которые анализируют JavaScript, TypeScript и другие поддерживаемые языки на предмет ошибок, а также AI-инструменты, предлагающие автодополнение кода. По данным Eclipse Foundation, реестр Open VSX содержит более 12 000 расширений от более чем 8 000 издателей.
Системный пробел в защите dev-окружений
GlassWorm, несмотря на название, — не червь, а loader. Согласно StepSecurity, полезная нагрузка третьей стадии GlassWorm включает отдельный модуль кражи учетных данных, который собирает токены GitHub и npm из нескольких источников. Затем злоумышленник использует эти учетные данные, чтобы force-push вредоносный код во все репозитории жертвы.
В loader встроен host gating, который обнаруживает и блокирует доставку вредоносного кода на компьютеры с русским языком интерфейса, из-за чего Burckhardt подозревает, что стоящие за кампанией злоумышленники — русскоязычные.
Tanya Janca, которая преподает безопасную разработку через свою компанию SheHacksPurple, отметила, что «то, что делает кампанию GlassWorm особенно опасной и интересной, — это то, что она выявляет системный пробел в том, как мы защищаем среды разработчиков».
«Для пакетов ПО у нас есть lockfiles, закрепленные хэши и воспроизводимые сборки. Для расширений IDE [integrated development environment] у нас почти ничего нет. Нет проверки целостности, нет аналога package-lock.json, и у большинства организаций вообще нет политики, регулирующей, что разработчикам разрешено устанавливать в свои IDE».
Злоумышленники заметили этот пробел. По ее словам, для них атака через расширения VS Code — более простой в реализации вектор, чем атака через пакеты, потому что средств контроля, которые организации годами строили вокруг своих цепочек зависимостей, для расширений попросту не существует.
Тот факт, что до появления предупреждения были активированы только некоторые из 73 расширений, по мнению Janca, явно не случаен. «Похоже на намеренно поэтапное развертывание: публикуют все массово, чтобы создать доверие и накопить загрузки, а затем со временем активируют вредоносные подмножества, чтобы не спровоцировать массовое обнаружение и сохранить резерв готовых активов на случай, если часть удалят или заметят».
Советы для разработчиков
Janca сказала, что разработчикам, которые хотят снизить риски кампании GlassWorm, стоит начать с базовых мер: устанавливать меньше расширений и рассматривать каждое из них как зависимость с реальным риском. Отключите автообновление, чтобы самим контролировать, когда применяются обновления, и внимательно оценивайте каждое расширение. Используйте инструмент SCA нового поколения, который покрывает расширения IDE и другие области цепочки поставок, а не только сторонние пакеты и компоненты.
«Одна вещь, которую большинство упускает из виду», — добавила она, — «это аудит уже установленных расширений. Расширения накапливаются годами, и разработчик, который создал это расширение в 2022 году, сегодня может уже не быть тем же человеком, который его поддерживает».
Команды, которым нужны более строгие гарантии, должны использовать инструмент поведенческого мониторинга, отслеживающий активность во время выполнения, а не только содержимое на этапе установки, сказала Janca. Нужно ввести формальный процесс утверждения новых расширений с согласованием со службой безопасности. Следует вести allowlist разрешенных расширений и не устанавливать ничего из альтернативных маркетплейсов вроде Open VSX, не рассматривая их как более рискованный источник.
«Та же дисциплина, которую мы применяем к пакетам open source, должна применяться к инструментам, живущим внутри наших IDE, и ко всей остальной цепочке поставок ПО», — сказала она.
Учите разработчиков распознавать признаки
Burckhardt сказал, что CISO нужно убедиться, что разработчиков обучили распознавать фальшивые расширения: внимательно проверять названия файлов, чтобы не попасться на typosquatting, и подтверждать, что издатель легитимен. Некоторые связанные с GlassWorm расширения, по его словам, имеют больше загрузок, чем легитимные аналоги, — это подозрительный признак.
Разработчикам также следует ограничить то, что они могут скачивать, добавил он, особенно расширения, недавно появившиеся в репозитории. Возможно, потребуется отключить автоматическую загрузку обновлений расширений, сказал он, а также предупредить разработчиков, что им нужно скачивать только те расширения, которые действительно нужны, а не те, что ставятся для экспериментов.
CISO также стоит искать security tools, которые дают видимость того, что именно скачивают разработчики, добавил Burckhardt.
Чтобы помочь выявлять проблемы Open VSX, в начале этого месяца Eclipse Foundation объявила Open VSX Security Researcher Recognition Program для поощрения ответственного раскрытия уязвимостей.
Эта статья впервые появилась на CSOonline.
Материал — перевод статьи с английского.
Оригинал: More fake extensions linked to GlassWorm found in Open VSX code marketplace
