Атаки на цепочки поставок программного обеспечения, при которых злоумышленники внедряют вредоносный код в легитимное ПО, когда-то были относительно редким явлением. Они представляли собой скрытую угрозу, способную превратить любое безобидное приложение в опасную лазейку в сети жертвы. Однако одна группа киберпреступников сделала этот кошмар практически еженедельным событием, скомпрометировав сотни инструментов с открытым исходным кодом, вымогая деньги у жертв и сея новый уровень недоверия в целой экосистеме, используемой для создания мирового программного обеспечения.
Масштабная атака на GitHub
Недавно платформа для работы с открытым исходным кодом GitHub сообщила, что подверглась атаке на цепочку поставок программного обеспечения. Один из разработчиков GitHub установил "зараженное" расширение для VSCode — широко используемого редактора кода, который, как и сам GitHub, принадлежит компании Microsoft. В результате хакеры, стоящие за взломом, — все более известная группа под названием TeamPCP, — заявили о доступе примерно к 4000 репозиториев кода GitHub. В своем заявлении GitHub подтвердил обнаружение как минимум 3800 скомпрометированных репозиториев, отметив, что, по предварительным данным, все они содержали собственный код GitHub, а не код клиентов.
По словам TeamPCP, опубликованным на BreachForums — форуме и торговой площадке для киберпреступников: "Мы здесь, чтобы выставить на продажу исходный код GitHub и данные внутренних организаций. Все для основной платформы есть, и мы готовы отправить образцы заинтересованным покупателям для подтверждения абсолютной подлинности."
Беспрецедентная серия атак
Взлом GitHub — это лишь последний инцидент в самой продолжительной серии атак на цепочки поставок программного обеспечения, конца которой не видно. По данным компании Socket, специализирующейся на безопасности цепочек поставок ПО, только за последние несколько месяцев TeamPCP провела 20 "волн" атак. Они внедрили вредоносное ПО более чем в 500 различных программных продуктов, или значительно более тысячи, если учитывать все версии кода, которые TeamPCP успела скомпрометировать.
Эти зараженные фрагменты кода позволили хакерам TeamPCP проникнуть в сотни компаний, установивших вредоносное ПО. Об этом заявил Бен Рид, возглавляющий отдел стратегической аналитики угроз в облачной охранной компании Wiz. GitHub стал лишь последней в длинном списке жертв группы, куда также вошли ИИ-компания Anthropic и фирма по обработке данных Mercor. По мнению Рида, взлом GitHub "может быть их крупнейшим", но при этом "каждый такой инцидент — это серьезная проблема для той компании, с которой это происходит. Качественно он не отличается от 14 взломов, произошедших на прошлой неделе".
Механизм цикличной эксплуатации
Основная тактика TeamPCP превратилась в своего рода циклическую эксплуатацию разработчиков программного обеспечения. Хакеры получают доступ к сети, где разрабатывается широко используемый кодерами инструмент с открытым исходным кодом. Примером может служить расширение VSCode, которое привело к взлому GitHub, или программное обеспечение для визуализации данных AntV, которое TeamPCP скомпрометировала ранее на этой неделе.
Хакеры внедряют вредоносное ПО в инструмент, которое затем попадает на компьютеры других разработчиков, в том числе тех, кто создает другие инструменты для кодеров. Вредоносное ПО позволяет хакерам TeamPCP похищать учетные данные, что дает им возможность публиковать вредоносные версии уже этих инструментов разработки. Цикл повторяется, и коллекция скомпрометированных сетей TeamPCP постоянно растет. Бен Рид описывает это как "маховик компрометации цепочек поставок", который "самовоспроизводится и является чрезвычайно успешным способом получения доступа к сетям и кражи данных".
Автоматизация атак и "Mini Shai-Hulud"
Совсем недавно группа, по всей видимости, автоматизировала многие свои атаки на цепочки поставок с помощью самораспространяющегося червя, известного как Mini Shai-Hulud. Название происходит от репозиториев GitHub, которые создает червь, содержащих зашифрованные учетные данные, украденные у жертв. Каждый из них включает фразу "A Mini Shai-Hulud Has Appeared" (Появился Мини Шай-Хулуд) вместе с несколькими другими отсылками к научно-фантастическому роману "Дюна". Это сообщение, в свою очередь, является отсылкой не только к песчаным червям из "Дюны", но и к аналогичному червю, компрометирующему цепочки поставок, известному как Shai-Hulud, который появился в сентябре. Однако нет доказательств того, что TeamPCP стояла за этим более ранним самораспространяющимся вредоносным ПО.
Филипп Буркхардт, руководитель исследований в Socket, который месяцами отслеживал TeamPCP, отмечает: "Они определенно стремятся к широкой огласке. Им очень важно привлечь большое внимание. Они любят похвастаться своими достижениями". На сайте группы в даркнете, который содержит ссылки на "деловые контакты", вероятно, используемые для переговоров о выкупе, представлены каскадные единицы и нули в стиле "Матрицы", саундтрек в стиле регги-фьюжн и надпись "TEAMPCP: Кошки, захватывающие ваши цепочки поставок".
Эволюция и мотивация группы
До перехода к текущей стратегии атак на цепочки поставок TeamPCP появилась в конце 2023 года, используя некорректные конфигурации облачных систем и уязвимость в инструменте веб-разработки Next.js для развертывания ботнета. Целями таких атак были кража учетных данных и майнинг криптовалют. Зависимость группы от червей проявилась в этот период, когда они с нарастающим успехом похищали статические учетные данные и токены аутентификации для более глубокого проникновения в системы жертв.
Натаниэль Квист, менеджер команды Cortex Cloud intelligence в Palo Alto Networks, прокомментировал ситуацию: "Это распространялось, как лесной пожар, очень быстро. Они находят учетные данные, личные токены доступа, и затем вопрос лишь в том, как далеко может зайти одна учетная запись. Думаю, мы продолжим наблюдать эти методы. Злоумышленники знают, что они работают, и активно их используют".
TeamPCP, по всей видимости, движима финансовыми мотивами и часто использует программы-вымогатели или кампании по вымогательству данных против своих целей, хотя также готова продавать данные жертв любому покупателю. В недавнем случае с GitHub, например, группа написала на своем сайте BreachForums, что "это не выкуп. Мы не заинтересованы в вымогательстве у GitHub, один покупатель, и мы уничтожим данные с нашей стороны". Также было добавлено, что выглядело как завуалированная угроза в адрес GitHub, возможно, с целью принуждения компании к оплате: "Похоже, скоро наша отставка, поэтому, если покупатель не будет найден, мы опубликуем данные бесплатно".
По словам Квиста, картина стала все более сложной с апреля, когда TeamPCP начала переходить на модель "вымогательство как услуга", устанавливая партнерские отношения с киберпреступными платформами BreachForums и DragonForce. Группа также порой, казалось, вмешивалась в геополитику, развертывая географически целенаправленный вайпер (программу-уничтожитель данных, названную исследователями CanisterWorm), который заражал вредоносным ПО любую облачную инфраструктуру Kubernetes, но деструктивное удаление данных производил только против иранских целей. На этой неделе некая сущность, заявляющая о своей принадлежности к TeamPCP, также опубликовала исходный код оригинального червя Shai Hulud вместе с подробной документацией, хотя ее мотивы для этой утечки не ясны.
Расширение масштабов атак и последствия
Масштабы атак TeamPCP значительно расширились в марте, когда группа скомпрометировала больше программных утилит, что привело к недавнему каскадному эффекту атак на цепочки поставок. Группа внедрила программу для кражи информации в сканер безопасности с открытым исходным кодом Trivy, а затем использовала украденные учетные данные из этой атаки для компрометации определенных версий инструмента API для искусственного интеллекта LiteLLM, размещенного в популярном репозитории Python-пакетов PyPI. Группа также заразила инфраструктуру компании Checkmarx (специализирующейся на безопасности веб-приложений), атаковала сервер разработки pgserve и скомпрометировала библиотеку веб-приложений TanStack, а также корпоративную ИИ-платформу Mistral AI.
Последствия оказались серьезными. Помимо GitHub, атаки TeamPCP на поставщиков программных услуг привели к взломам публичного веб-сайта Европейской комиссии, исходного кода Claude от Anthropic, устройств двух сотрудников OpenAI, компрометации фирмы по обработке данных Mercor и многих других. Однако Квист из Palo Alto Networks подчеркивает, что организации могут в определенной степени защитить себя с помощью практик "кибергигиены", которые включают тщательное управление токенами аутентификации и максимально возможное ограничение доступа.
Он отметил, что "самым большим фактором, способствующим успеху этой операции, являются долгоживущие учетные данные в этих средах". "Крайне важно менять свои токены, даже если вы не используете LiteLLM или какие-либо из скомпрометированных пакетов. Если у вас есть личные токены доступа для Gitlab и GitHub, ротируйте их. И учетные данные AWS, Azure, GCP, Alibaba, Oracle — все они подвергаются краже".
Рекомендации по безопасности в эпоху каскадных атак
Волны зараженного кода TeamPCP также поднимают острые вопросы о том, как безопасно использовать программное обеспечение с открытым исходным кодом в эпоху растущих атак на цепочки поставок. Бен Рид из Wiz рекомендует использовать меры предосторожности, такие как "возрастное ограничение" для обновлений инструментов с открытым исходным кодом — проверять и устанавливать обновления безопасности, но откладывать немедленную установку недавно опубликованного кода, который может быть вредоносным.
В случае одного из недавних вредоносных обновлений TeamPCP, по словам Рида, Wiz обнаружила компрометацию цепочки поставок и предупредила клиентов в течение нескольких минут, но многие пользователи программного обеспечения имели включенные автообновления и уже загрузили его. "Не стоит всегда устанавливать самую свежую версию", — подчеркивает Рид.
На фоне эпидемии атак на цепочки поставок, подобных тем, что развязала TeamPCP, Филипп Буркхардт из Socket заявляет, что пользователям открытого исходного кода потребуется применять меры по принципу "доверяй, но проверяй", например, анализировать обновления на наличие вредоносного ПО перед их развертыванием по всей сети, а также использовать своего рода "период охлаждения", который рекомендует Рид, прежде чем загружать и запускать код.
По словам Буркхардта, "в тот момент, когда вредоносный код попадает на вашу машину, уже слишком поздно что-либо делать".