Атаки на ланцюги поставок програмного забезпечення стають дедалі поширенішими та руйнівнішими. Наприклад Gartner прогнозує, що до 2025 року 45% усіх підприємств зіткнуться з порушенням безпеки. Крім того, Підприємства з кібербезпеки підкреслює серйозність цієї загрози, прогнозуючи приголомшливі 138 мільярдів доларів щорічних збитків до 2031 року. Загалом ці прогнози підкреслюють нагальну потребу для організацій визначити пріоритети software supply chain security та впроваджувати надійні заходи для захисту конфіденційних даних, операцій та репутації.
Тому що сучасний pipelineзначною мірою залежать від зовнішніх компонентів, зростання популярності сторонніх бібліотек, швидші цикли розробки програмного забезпечення, складні ланцюги поставок, відсутність прозорості, нові методи атак, впровадження SaaS та обмежені ресурси – все це призводить до сплеску атаки на ланцюги поставок програмного забезпеченняТому організації повинні застосовувати комплексний та активний підхід до вирішення цих проблем і захисту своїх ланцюгів постачання програмного забезпечення.
Що таке атака на ланцюг поставок програмного забезпечення?
ENISA визначає Атака на ланцюг поставок програмного забезпечення as «компрометація певного активу, наприклад, інфраструктури постачальника програмного забезпечення та комерційного програмного забезпечення, з метою опосередкованого завдання шкоди певній цілі або цілям, наприклад, клієнтам постачальника програмного забезпечення». Іншими словами, атака на ланцюг постачання програмного забезпечення (ПЗЛ) – це зловмисна діяльність, спрямована на ланцюг постачання програмного забезпечення, метою якої є компрометація та впровадження вразливостей або шкідливого програмного забезпечення в процес розробки та розповсюдження. Як результат, цей тип атаки використовує взаємопов’язану та часто складну мережу процесів, інструментів та суб’єктів, що беруть участь у створенні та постачанні програмного забезпечення.
Ключові компоненти та концепції, пов'язані з атакою на ланцюг поставок програмного забезпечення
Література з кіберзагроз та інформаційної безпеки часто не дає результатів атаки на ланцюги поставок програмного забезпечення на окремі категорії для кращого аналізу та захисту. Відповідно, у цьому розділі представлено п'ять ключових концепцій, визначених Каталог шаблонів атак MITREЦей каталог структурує схеми атак ланцюга поставок для полегшення аналізу з використанням різних джерел, включаючи загрози, зібрані NIST.
Закон про атаку: Що
Акт атаки – це конкретна дія, яка доставляє шкідливе корисне навантаження або намір системі. В результаті вона завдає прямої шкоди.
- Приклад 1: Шкідливе програмне забезпечення, вставлене в системне програмне забезпечення під час процесу збірки.
- Приклад 2: Зловмисно змінені системні вимоги або проектна документація.
Вектор атаки: Як
Вектор атаки – це метод, який зловмисники використовують для використання вразливостей або слабких місць процесів. Відповідно, він показує, як зловмисники отримують доступ до поверхні атаки та зловживають нею.
- Приклад 1: Зловмисник змінює вихідний код у скомпрометованому репозиторії.
- Приклад 2: Зловмисник отримує несанкціонований доступ до внутрішньої технічної документації.
Дізнайтеся більше в нашому Глосарій вектора атаки для інших insights.
Походження атаки: The Who
Походження визначає джерело атаки. Таким чином, воно уточнює роль, статус або зв'язок зловмисника із системою.
- Приклад 1: Інсайдер з привілейованим доступом до збірки серверів змінює скрипт.
- Приклад 2: Зовнішній зловмисник завантажує троянський пакет до публічного реєстру.
Мета атаки: Чому
Мета пояснює причину атаки. Перш за все, вона підкреслює, чого хочуть досягти супротивники.
- Перебої: зупинка послуг або збірок.
- Корупція: зниження довіри шляхом зміни артефактів або вихідного коду.
- Розкриття інформації: витік конфіденційних секретів або інтелектуальної власності.
Вплив атаки: наслідки
Зрештою, вплив описує результати атаки, показуючи наслідки для постачальників програмного забезпечення та клієнтів.
- Приклад 1: Будь-який проект, який використовує погану програму, згодом буде пошкоджений.
- Приклад 2: Люди встановлюють шкідливе програмне забезпечення у свої робочі системи, не знаючи про це.
Найпоширеніші атаки на ланцюги поставок програмного забезпечення
Численні види атаки на ланцюги поставок програмного забезпечення існують, і організації повинні знати про різні вектори загроз на кожному етапі життєвого циклу. Виходячи з рамки SLSA, Національний інститут США Standardі технології (NIST) та Агентство з кібербезпеки та безпеки інфраструктури (CISA), ці загрози можна згрупувати у чотири категорії: ризики джерела, збірки, пакета та залежностей.

Атаки на ланцюг поставок програмного забезпечення на етапі розробки джерела
- Надіслати поганий код → дізнатися як Неправильне використання request.get у Flask or недоліки небезпечної десеріалізації створювати поверхні для прямої атаки.
- Репозиторій компрометованого вихідного коду
- Збірка з модифікованого вихідного коду
- Напишіть небезпечний код
- Зміна критично важливих файлів → як пояснено в Аналіз бекдору chmod 777.
Атаки на ланцюг поставок програмного забезпечення на етапі збірки
Перейдіть на вкладку Етап побудови, розробники компілюють та інтегрують код у робочу версію. Тому що Цей етап настільки важливий, що ризики включають пропуск перевірок безпеки в CI/CD pipeline, зміна коду після контролю версій або порушення процесу збірки. Отже, шкідливий код може непомітно проникнути в артефакти.
- Обхід CI/CD → пов'язано з Шкідливе програмне забезпечення попередньої збірки GitHub.
- Змінити код після керування версіями
- Компрометація процесу збірки → пом'якшується за допомогою Раннє виявлення попереджень DevSecOps.
- Компрометований репозиторій артефактів
Атаки на ланцюг поставок програмного забезпечення на етапі пакетування
Команда Етап пакету – це коли ми об’єднуємо весь код разом, щоб створити кінцевий продукт. Ця частина є ризикованою, оскільки хтось може використовувати погані пакети або змінювати онлайн-ресурси, звідки ми їх отримуємо. Зловмисники можуть навіть завантажувати шкідливі версії популярних пакетів на ці веб-сайти.
- Використовуйте скомпрометований пакет → охоплено оцінки сканера шкідливого програмного забезпечення.
- Реєстр компрометованих пакетів
- Завантажити змінений пакет → проаналізовано в Шкідливе програмне забезпечення для генератора підробок Namso-gen.
Атаки на ланцюг поставок програмного забезпечення на етапі залежності
Перейдіть на вкладку Стадія залежності, ми додаємо сторонні бібліотеки та пакети до нашого програмного забезпечення. Цей етап є ризикованим, оскільки будь-які проблеми в цих частинах можуть легко та непомітно поширитися на решту проекту.
- Використовуйте скомпрометовану залежність → пояснено за допомогою Ризики DoS у обфускованих залежностях.
- Застарілі або вразливі залежності
- Ризики транзитивної залежності
- Реєстри шкідливих пакетів → захищено за допомогою Інструменти безпеки DevOps та стороннє управління ризиками.

Загальні ризики ланцюга поставок на кожному етапі SDLC
| Стажування | Типові загрози | Приклад |
|---|---|---|
| Source | • Надсилання шкідливого або небезпечного коду • Втручання у роботу важливих файлів • Компрометація репозиторію вихідного коду | XcodeGhost (2015): шкідливий код, впроваджений у компілятор Xcode від Apple, поширюється серед програм для iOS. |
| Будувати | • Обхід CI/CD перевірки безпеки • Зміна коду після перевірки версії • Компрометація сховищ артефактів | SolarWinds Оріон (2020): Зловмисники проникли в будівлю pipeline, вставляючи бекдор у підписані оновлення програмного забезпечення. |
| пакет | • Завантаження змінених пакетів • Реєстри отруєнь • Розповсюдження скомпрометованих артефактів | NPM EventStream (2018): Зловмисник вставив бекдор у популярний NPM-пакет, який завантажувався тисячі разів. |
| Залежність | • Використання застарілих або вразливих залежностей • Використання транзитивних залежностей • Публікація шкідливих пакетів, схожих на інші | Бекдор XZ Utils (2024): троянська бібліотека стиснення майже була включена до дистрибутивів Linux. |
Поширені методи атак на ланцюг поставок програмного забезпечення
Згідно зі CISЗгідно зі звітом NIST, атаки на ланцюги поставок програмного забезпечення часто поділяються на три основні категорії.
Однак, нещодавні інциденти показують додаткові вектори, які розробники повинні розуміти.
Нижче ми детальніше розглянемо найбільш релевантні методи з практичними прикладами.
Оновлення щодо викрадання
Зловмисники порушують законні механізми оновлення для розповсюдження шкідливого програмного забезпечення.
Наприклад, атака NotPetya у 2017 році зловмисно використовувала український сервер оновлення податкового програмного забезпечення MEDoc, доставляючи
руйнівне програмне забезпечення для стирання, замасковане під патч. Щоб захиститися від цього ризику, командам слід застосовувати виявлення загроз та реагування на них для DevOps практики, що позначають аномальну поведінку в потоках оновлень.
Підрив підписання коду
Цей метод передбачає зловживання або крадіжку дійсних сертифікатів підпису, щоб шкідливий код виглядав легітимним.
Помітним випадком стала компрометація CCleaner у 2017 році, коли зловмисники розповсюджували троянське програмне забезпечення, підписане дійсними сертифікатами.
Відповідно, організаціям потрібні уніфіковані засоби контролю цілісності, такі як ті, що описані в стратегії платформи кібербезпеки
Компрометація відкритого коду
Зловмисники вставляють бекдори у популярні пакети з відкритим кодом, а потім інтегрують їх у тисячі проектів.
Інцидент з EventStream NPM та бекдор XZ Utils (2024) ілюструють, наскільки критичним став цей вектор.
Розробникам слід переглянути такі ресурси, як Найчастіші запитання щодо безпеки NPM та інциденти з помилками в пакетах навчитися уникати отруєних залежностей.
Плутанина із залежностями
Вперше описана Алексом Бірсаном у 2021 році, ця атака використовує колізії імен між внутрішніми та публічними реєстрами пакетів, обманом змушуючи системи збірки витягувати шкідливі версії замість довірених внутрішніх пакетів.
Опечатки та шкідливі пакети
Зловмисники публікують шкідливі пакети з назвами, схожими на популярні бібліотеки (наприклад, «reqeusts» замість «requests»).
Розробники випадково встановлюють їх, впроваджуючи шкідливе програмне забезпечення у свої проекти.
Реальний приклад аналізується в Шкідливе програмне забезпечення Namsogeon і в нашому списку сканери шкідливого програмного забезпечення з відкритим кодом.
Будувати Pipeline Підробка
Як видно з компрометації SolarWinds Orion, зловмисники можуть проникнути на сервери збірки, щоб впровадити шкідливий код під час компіляції.
Це робить весь ланцюжок підписаних артефактів ненадійним. Методи запобігання включають моніторинг. CI/CD цілісність з раннє виявлення та аналізуючи
Попередньо створені кампанії зі шкідливим програмним забезпеченням на GitHub.
Як виглядає атака на ланцюг поставок програмного забезпечення: випадок SolarWinds
Перш за все, атака SolarWinds Orion є найвідомішим прикладом порушення ланцюга постачання програмного забезпечення. Вона показує, як зловмисники можуть крок за кроком просуватися в процесі збірки та, як наслідок, поширювати шкідливий код серед тисяч користувачів.
Спочатку зловмисники проникли на сервери збірки SolarWinds.
Після цього вони непомітно додали шкідливий код до оновлень Orion.
Оскільки ці оновлення були підписані та постачалися як надійне програмне забезпечення, багато компаній встановлювали їх, не усвідомлюючи ризику.
Загалом постраждало понад 18 000 організацій, а зловмисники отримали доступ до дуже чутливих систем.
З точки зору розробника, ця атака дає три прості уроки:
- Периметральних оборонних споруд недостатньо: зловмисники змінили збірку pipeline себе.
- Постійні перевірки є критично важливимибезпечний build attestations, перевірки цілісності та виявлення аномалій допомагають блокувати втручання.
- Одна отруєна збірка може стати глобальноюодин pipeline компроміс може створити світову кризу безпеки.
Xygeni: Найкраща універсальна платформа AppSec
Оскільки атаки на ланцюг поставок програмного забезпечення можуть вражати на кожному етапі SDLC,
універсальна платформа AppSec, Ксігені, захищає етапи розробки вихідного коду, збірки, пакета та залежностей. Це надає розробникам та командам безпеки єдине місце для запобігання, виявлення та виправлення ризиків простим способом. В результаті вам більше не потрібно жонглювати кількома інструментами, Xygeni охоплює повний життєвий цикл.
Захист вихідного етапу
На етапі джерела ризики включають небезпечні commits, отруєні репозиторії або змінені файли. Xygeni сканує код у режимі реального часу з глибоким SAST та виявлення секретів.
Він також блокує шкідливі commits через CI/CD guardrails.
Таким чином, проблеми зупиняються ще до того, як вони покинуть репозиторій.
Захист етапу збірки
Під час етапу збірки зловмисники можуть спробувати обійти pipelineабо змінювати артефакти.
Xygeni забезпечує безпеку процесу збірки з перевірками, сумісними зі SLSA, перевіркою цілісності та підписами без ключа. Він також відстежує незвичайну поведінку всередині CI/CD завдання. Як результат, підроблені збірки одразу позначаються та блокуються до випуску.
Захист етапу упаковки
На етапі створення пакета скомпрометовані реєстри або змінені бібліотеки часто містять шкідливе програмне забезпечення. Виявлення шкідливих програм та сканування ліцензій Xygeni переглянути кожен артефакт, водночас AutoFix пропонує безпечні шляхи оновлення з аналізом ризиків усунення несправностей. Тільки перевірені та відповідні пакети просуваються далі pipeline.
Захист на етапі залежності
Сторонній код є найбільшою поверхнею для атак. Аналіз складу програмного забезпечення Xygeni (SCA) Він не лише перераховує CVE, але й перевіряє, чи дійсно можна використати ризикований код. Він також позначає приховане шкідливе програмне забезпечення та ризиковані транзитивні залежності. Понад усе, це гарантує, що розробники постачають лише безпечні залежності.
Секрети та безпека інфраструктури
Окрім коду та пакетів, атаки часто використовують витік секретів або слабку інфраструктуру. Xygeni сканує на наявність розкритих ключів, токенів та облікових даних у коді, конфігураціях та шарах Docker. Він також може перевіряти та автоматично скасовувати витік секретів за допомогою Виправлення AutoFix. В той самий час, IaC сканування запобігає неправильним конфігураціям, якими зловмисники можуть зловживати пізніше.
Розумніше виявлення та виправлення
Більшість інструментів зупиняються на сповіщеннях. Ксігені йде далі. Його механізм AutoFix створює безпечні патчі, pull requestsабо покрокові інструкції залежно від проблеми. У режимі перегляду «Ризик виправлення» також показано, яка версія патчу є найбезпечнішою, тож команди виправляють проблеми, не додаючи нових.
Єдина єдина платформа
Оскільки Xygeni поєднує SAST, SCA, виявлення шкідливих програм, управління секретами, IaC сканування, виявлення аномалій та безпечний контроль збірки в одній платформі AppSec,
це забезпечує повне покриття по всій SDLCЯк розробники, так і команди безпеки отримують одне джерело достовірної інформації з чіткою видимістю, практичними виправленнями та надійним захистом від атак на ланцюги поставок.
Враховуючи всі обставини, Xygeni, найкраща універсальна платформа AppSec, допомагає командам швидко створювати та залишатися в безпеці. Захищаючи етапи вихідного коду, збірки, пакета та залежностей, а також додаючи автоматичні виправлення на кожному кроці, він гарантує, що атаки ланцюга постачання програмного забезпечення зупиняться до того, як вони досягнуть виробничого середовища.







