Атаки на цепочки поставок программного обеспечения становятся всё более распространёнными и разрушительными. Например, Gartner прогнозирует, что к 45 году 2025% всех предприятий столкнутся с утечкой данных. Кроме того, Кибербезопасность предприятия подчеркивает серьезность этой угрозы, прогнозируя ошеломляющие 138 миллиардов долларов ежегодного ущерба к 2031 году. В целом, эти прогнозы подчеркивают настоятельную необходимость для организаций уделять первоочередное внимание software supply chain security и внедрить надежные меры для защиты конфиденциальных данных, операций и репутации.
Потому что современный pipelineСильная зависимость от внешних компонентов, рост числа сторонних библиотек, ускоренные циклы разработки программного обеспечения, сложные цепочки поставок, отсутствие прозрачности, новые методы атак, внедрение SaaS и ограниченные ресурсы — все это обуславливает рост атаки на цепочку поставок программного обеспечения. Поэтому организациям необходимо принять комплексный и активный подход для решения этих проблем и защиты своих цепочек поставок программного обеспечения.
Что такое атака на цепочку поставок программного обеспечения?
ENISA определяет Атака на цепочку поставок программного обеспечения as «компрометация определенного актива, например инфраструктуры поставщика программного обеспечения и коммерческого программного обеспечения, с целью косвенного нанесения ущерба определенной цели или целям, например клиентам поставщика программного обеспечения». Другими словами, атака на цепочку поставок программного обеспечения (ПО) — это вредоносная деятельность, направленная на цепочку поставок ПО с целью её компрометации и внедрения уязвимостей или вредоносного ПО в процесс разработки и распространения. В результате такого рода атака использует взаимосвязанную и зачастую сложную сеть процессов, инструментов и организаций, участвующих в разработке и поставке ПО.
Ключевые компоненты и концепции, связанные с атакой на цепочку поставок программного обеспечения
Литература по киберугрозам и информационной безопасности часто выходит из строя атаки на цепочку поставок программного обеспечения В этом разделе представлены пять ключевых концепций, определенных Каталог шаблонов атак MITREВ этом каталоге структурированы модели атак на цепочки поставок для облегчения анализа с использованием различных источников, включая данные о враждебных угрозах, собранные NIST.
Атакующий акт: Что
Атака — это конкретное действие, которое доставляет вредоносную нагрузку или намерение в систему. В результате наносится прямой вред.
- Пример 1: Вредоносное ПО, внедренное в системное программное обеспечение во время процесса сборки.
- Пример 2: Злонамеренно изменены системные требования или проектная документация.
Вектор атаки: как
Вектор атаки — это метод, используемый злоумышленниками для эксплуатации уязвимостей или слабостей процессов. Следовательно, он показывает, как злоумышленники получают доступ к поверхности атаки и злоупотребляют ею.
- Пример 1: Злоумышленник изменяет исходный код в скомпрометированном репозитории.
- Пример 2: Злоумышленник получает несанкционированный доступ к внутренней технической документации.
Узнайте больше в нашем Глоссарий векторов атак для получения дополнительной информации.
Источник атаки: The Who
Источник определяет источник атаки. Таким образом, он уточняет роль, статус и отношение злоумышленника к системе.
- Пример 1: Инсайдер с привилегированным доступом к серверам сборки изменяет скрипт.
- Пример 2: Внешний злоумышленник загружает троянизированный пакет в публичный реестр.
Цель атаки: почему
Цель объясняет причину атаки. Прежде всего, она указывает на то, чего хотят добиться злоумышленники.
- Нарушение: остановка услуг или сборок.
- Коррупция: снижение доверия путем изменения артефактов или исходного кода.
- Раскрытие информации: утечка конфиденциальных секретов или интеллектуальной собственности.
Влияние атаки: последствия
Наконец, в разделе «Влияние» описываются результаты атаки, демонстрируя последствия для поставщиков программного обеспечения и клиентов.
- Пример 1: Любой проект, использующий плохую программу, впоследствии будет испорчен.
- Пример 2: Люди устанавливают вредоносное программное обеспечение в свои рабочие системы, не зная об этом.
Наиболее распространенные атаки на цепочку поставок программного обеспечения
Многочисленные типы атаки на цепочку поставок программного обеспечения Существуют, и организации должны знать о различных векторах угроз на каждом этапе жизненного цикла. структура SLSA, Национальный институт США Standardи технологии (NIST) и Агентство по кибербезопасности и безопасности инфраструктуры (CISA)Эти угрозы можно сгруппировать в четыре категории: риски источника, сборки, пакета и зависимости.
Атаки на цепочку поставок программного обеспечения на этапе исходного кода
- Отправить плохой код → посмотреть, как Неправильное использование Flask request.get or небезопасные ошибки десериализации создавать поверхности прямой атаки.
- Репозиторий взломанного исходного кода
- Сборка из модифицированного исходного кода
- Пишите небезопасный код
- Изменение критических файлов → как описано в анализ бэкдора chmod 777.
Атаки на цепочку поставок программного обеспечения на этапе разработки
В Стадия сборки, разработчики компилируют и интегрируют код в рабочую версию. Так как Эта фаза настолько важна, что риски включают пропуск проверки безопасности в CI/CD pipeline, изменение кода после контроля версий или нарушение процесса сборки. вследствие этого, вредоносный код может незаметно проникнуть в артефакты.
- Обход CI/CD → связано с Предварительно собранное вредоносное ПО GitHub.
- Изменить код после контроля версий
- Компромиссный процесс сборки → смягчен с помощью Раннее обнаружение предупреждений DevSecOps.
- Компрометировать хранилище артефактов
Атаки на цепочку поставок программного обеспечения на этапе упаковки
Стадия упаковки Это когда мы собираем весь код вместе для создания конечного продукта. Этот этап рискован, поскольку кто-то может использовать вредоносные пакеты или изменить источники их получения. Злоумышленники могут даже загружать на эти сайты вредоносные версии популярных пакетов.
- Использовать скомпрометированный пакет → описано в оценки сканеров вредоносных программ.
- Реестр скомпрометированных пакетов
- Загрузить измененный пакет → проанализировано в Вредоносное ПО Namso-gen Fake Generator.
Атаки на цепочку поставок программного обеспечения на этапе зависимости
В Стадия зависимостиМы добавляем сторонние библиотеки и пакеты в наше программное обеспечение. Этот этап рискован, поскольку любые проблемы в этих частях могут легко и незаметно распространиться на весь проект.
- Использовать скомпрометированную зависимость → объяснено с помощью Риски DoS в запутанных зависимостях.
- Устаревшие или уязвимые зависимости
- Риски транзитивной зависимости
- Реестры вредоносных пакетов → устранено с помощью Инструменты безопасности DevOps и стороннее управление рисками.
Общие риски цепочки поставок на каждом этапе SDLC
| Этап | Типичные угрозы | Пример |
|---|---|---|
| Источник |
• Отправка вредоносного или небезопасного кода • Вмешательство в критические файлы • Компрометация исходного репозитория |
XcodeGhost (2015): Вредоносный код, внедренный в компилятор Apple Xcode, распространяется по всем приложениям iOS. |
| Построить |
• Обход CI/CD проверки безопасности • Изменение кода после контроля версий • Компрометация хранилищ артефактов |
SolarWinds Orion (2020): злоумышленники проникли в здание pipeline, встраивая бэкдор в подписанные обновления программного обеспечения. |
| Упаковка |
• Загрузка измененных пакетов • Реестры отравлений • Распространение скомпрометированных артефактов |
EventStream NPM (2018): Злоумышленник внедрил бэкдор в популярный пакет NPM, загруженный тысячи раз. |
| Зависимость |
• Использование устаревших или уязвимых зависимостей • Использование транзитивных зависимостей • Публикация вредоносных пакетов-двойников |
XZ Utils Backdoor (2024): троянизированная библиотека сжатия почти внедрена в дистрибутивы Linux. |
Распространенные методы атак на цепочку поставок программного обеспечения
Согласно CISВ отчете A и NIST говорится, что атаки на цепочку поставок программного обеспечения часто делятся на три основные категории.
Однако недавние инциденты выявили дополнительные векторы, которые разработчикам необходимо понимать.
Ниже мы подробно рассмотрим наиболее актуальные методики с практическими примерами.
Взлом обновлений
Злоумышленники нарушают работу законных механизмов обновления, чтобы распространять вредоносное ПО.
Например, атака NotPetya в 2017 году использовала украинский сервер обновлений налогового программного обеспечения MEDoc, доставляя
Вредоносное ПО-деструктивный очиститель, замаскированное под патч. Чтобы защититься от этого риска, командам следует применять обнаружение угроз и реагирование на них для DevOps практики, которые выявляют аномальное поведение в потоках обновлений.
Подрыв подписывания кода
Этот метод подразумевает злоупотребление или кражу действительных сертификатов подписи, чтобы вредоносный код выглядел как легитимный.
Ярким примером стала атака CCleaner в 2017 году, когда злоумышленники распространяли троянизированное программное обеспечение, подписанное действительными сертификатами.
Следовательно, организациям необходимы унифицированные средства контроля целостности, такие как описанные в стратегии платформы кибербезопасности
Компрометация открытого исходного кода
Злоумышленники внедряют бэкдоры в популярные пакеты с открытым исходным кодом, которые затем внедряются в тысячи проектов.
Инцидент EventStream NPM и бэкдор XZ Utils (2024) иллюстрируют, насколько критичным стал этот вектор.
Разработчикам следует ознакомиться с такими ресурсами, как Часто задаваемые вопросы по безопасности NPM и инциденты с тайпсквоттингом пакетов чтобы узнать, как избегать пагубных зависимостей.
Путаница зависимостей
Впервые описанная Алексом Бирсаном в 2021 году, эта атака использует конфликты имен между внутренними и публичными реестрами пакетов, заставляя системы сборки загружать вредоносные версии вместо доверенных внутренних пакетов.
Тайпсквоттинг и вредоносные пакеты
Злоумышленники публикуют вредоносные пакеты с названиями, похожими на названия популярных библиотек (например, «reqeusts» вместо «requests»).
Разработчики случайно устанавливают их, внедряя вредоносное ПО в свои проекты.
Реальный пример анализируется в Вредоносное ПО Namso-gen и в нашем списке Сканеры вредоносных программ с открытым исходным кодом.
Построить Pipeline фальсификация
Как показал инцидент с взломом SolarWinds Orion, злоумышленники могут проникнуть на серверы сборки и внедрить вредоносный код во время компиляции.
Это делает всю цепочку подписанных артефактов ненадёжной. Методы предотвращения включают мониторинг. CI/CD честность с раннее обнаружение и анализируя
Предварительно собранные вредоносные кампании GitHub.
Как выглядит атака на цепочку поставок программного обеспечения: случай SolarWinds
Прежде всего, атака на SolarWinds Orion — самый известный пример нарушения цепочки поставок программного обеспечения. Она показывает, как злоумышленники могут шаг за шагом продвигаться в процессе сборки и в результате распространять вредоносный код среди тысяч пользователей.
Сначала злоумышленники проникли на серверы сборки SolarWinds.
После этого они незаметно добавили вредоносный код в обновления Orion.
Поскольку эти обновления были подписаны и поставлялись как доверенное программное обеспечение, многие компании устанавливали их, не осознавая риска.
В общей сложности пострадало более 18,000 XNUMX организаций, а злоумышленники получили доступ к весьма конфиденциальным системам.
С точки зрения разработчика, эта атака дает три простых урока:
- Периметральной обороны недостаточно: злоумышленники изменили сборку pipeline себя.
- Постоянные проверки имеют решающее значение: безопасный build attestations, проверки целостности и обнаружение аномалий помогают блокировать попытки несанкционированного доступа.
- Одна отравленная сборка может стать глобальной: один pipeline компромисс может привести к мировому кризису безопасности.
Xygeni: оптимальная универсальная платформа безопасности приложений
Поскольку атаки на цепочку поставок программного обеспечения могут произойти на каждом этапе SDLC,
универсальная платформа AppSec, Ксигени, защищает этапы разработки исходного кода, сборки, упаковки и зависимостей. Это позволяет разработчикам и командам безопасности использовать единый инструмент для простого предотвращения, обнаружения и устранения рисков. В результате вам больше не нужно использовать несколько инструментов — Xygeni охватывает весь жизненный цикл.
Защита исходного этапа
На стадии источника риски включают небезопасные commits, отравленные репозитории или измененные файлы. Xygeni сканирует код в реальном времени с глубоким SAST и обнаружение секретов.
Он также блокирует вредные commitчерез CI/CD guardrails.
Таким образом, проблемы останавливаются еще до того, как они покинут репозиторий.
Защита на этапе сборки
На этапе сборки злоумышленники могут попытаться обойти pipelineили изменять артефакты.
Xygeni обеспечивает безопасность процесса сборки с проверками, соответствующими SLSA, проверкой целостности и бесключевыми подписями. Он также отслеживает необычное поведение внутри CI/CD В результате поддельные сборки сразу же помечаются и блокируются до их выпуска.
Защита этапа упаковки
На этапе упаковки скомпрометированные реестры или измененные библиотеки часто внедряют вредоносное ПО. Обнаружение вредоносных программ и сканирование лицензий Xygeni просмотрите каждый артефакт, пока AutoFix предлагает безопасные пути обновления с анализом риска исправления. Только проверенные и соответствующие требованиям пакеты продвигаются в pipeline.
Защита на стадии зависимости
Самую большую поверхность для атак представляет сторонний код. Анализ состава программного обеспечения Xygeni (SCA) Он не просто перечисляет CVE, но и проверяет, можно ли эксплуатировать опасный код. Он также отмечает скрытые вредоносные программы и опасные транзитивные зависимости. Прежде всего, это гарантирует разработчикам поставку только безопасных зависимостей.
Секреты и безопасность инфраструктуры
Помимо кода и пакетов, атаки часто используют утечку секретов или слабую инфраструктуру. Xygeni сканирует на наличие раскрытых ключей, токенов и учетных данных в коде, конфигурациях и слоях Docker. Он также может проверять и автоматически отзывать украденные секреты. Исправление AutoFix, В то же время, IaC сканирование предотвращает неправильные настройки, которыми впоследствии могут воспользоваться злоумышленники.
Более интеллектуальное обнаружение и исправление
Большинство инструментов ограничиваются оповещениями. Xygeni идет дальше. Его движок AutoFix создает безопасные исправления, pull requestsили пошаговые инструкции в зависимости от проблемы. В представлении «Риск исправления» также отображается наиболее безопасная версия исправления, что позволяет командам устранять проблемы, не добавляя новых.
Единая унифицированная платформа
Потому что Xygeni сочетает в себе SAST, SCA, обнаружение вредоносных программ, управление секретами, IaC сканирование, обнаружение аномалий и безопасный контроль сборки на одной платформе AppSec,
он обеспечивает полный охват по всему SDLC. Разработчики и специалисты по безопасности получают единый источник достоверной информации с четкой прозрачностью, практическими решениями и надежной защитой от атак на цепочку поставок.
Все, что считается, Xygeni — лучшая универсальная платформа AppSec, помогает командам быстро разрабатывать и обеспечивать безопасность. Защищая этапы исходного кода, сборки, упаковки и зависимостей, а также добавляя автоматизированные исправления на каждом этапе, он гарантирует предотвращение атак на цепочку поставок программного обеспечения до того, как они попадут в производство.





