Як ми обговорювали в нашому попередньому матеріалі про software supply chain security, ми дослідили концепцію атак на ланцюги поставок та їхній потенційний вплив на організації. Ці атаки часто використовують вразливості протягом усього життєвого циклу розробки програмного забезпечення (SDLC), що створює значні ризики на кожному етапі. Сьогодні ми заглибимося в найпоширеніші software supply chain security загрози, що виникають на етапі джерела.
Перш за все, вкрай важливо визначити атаку на ланцюг поставок та конкретні Software Supply Chain Security Загрози, що виникають на етапі джерела.
Визначення атаки на ланцюг поставок програмного забезпечення
Національний інститут США Standardі технології (NIST) визначає атаку на ланцюг поставок програмного забезпечення «Атака відбувається, коли кіберзлочинець проникає в мережу постачальника програмного забезпечення та використовує шкідливий код для компрометації програмного забезпечення, перш ніж постачальник надішле його своїм клієнтам. Скомпрометоване програмне забезпечення потім компрометує дані або систему клієнта. Новопридбане програмне забезпечення може бути скомпрометовано з самого початку, або компрометація може відбутися іншими засобами, такими як патч або виправлення. У цих випадках компрометація все одно відбувається до того, як патч або виправлення потрапляє в мережу клієнта. Ці типи атак впливають на всіх користувачів скомпрометованого програмного забезпечення та можуть мати широкомасштабні наслідки для урядових, критично важливих об'єктів інфраструктури та клієнтів програмного забезпечення приватного сектору»."
Стадія джерела Software Supply Chain Security Загрози
Етап розробки програмного забезпечення в життєвому циклі постачання охоплює початкові фази розробки програмного забезпечення, від ідеї до створення вихідного коду. Цей етап включає вибір інструментів, бібліотек та компонентів, а також розробку та реалізацію основних функцій програмного забезпечення.
Software supply chain security Загрози на етапі розробки коду стосуються вразливостей безпеки, які можна використовувати для внесення несанкціонованих або зловмисних змін до вихідного коду. Це включає загрозу внесення несанкціонованих змін як неавторизованими, так і уповноваженими особами.

Приклади джерел загроз
Надіслати некоректний код
Надсилання поганого коду стосується практики commitперенесення коду до репозиторію вихідного коду, який містить дефекти, помилки або вразливості. Це може варіюватися від шкідливого коду, навмисно введеного для порушення цілісності або безпеки програмного забезпечення, до ненавмисного коду, який створює помилки або вразливості через погані практики кодування або відсутність тестування. Прикладом такої векторної атаки була Атака НПМ. У 2022 році хакер проник до репозиторію вихідного коду популярної бібліотеки програмного забезпечення з відкритим кодом під назвою npm. Хакер вставив у код бібліотеки шкідливий код, який дозволив йому отримати несанкціонований доступ до систем організацій, які встановили бібліотеку. Шкідливий код дозволив хакеру викрасти дані з уражених систем, встановлювати шкідливе програмне забезпечення та порушувати роботу. Атака торкнулася широкого кола організацій, включаючи державні установи, підприємства та приватних осіб.
Репозиторій компрометованого вихідного коду
Зловмисник отримує несанкціонований доступ до сховища вихідного коду (SCM) та вносить шкідливі зміни або видаляє легітимний код. Цього можна досягти різними методами, такими як використання вразливостей у SCM, компрометуючи облікові дані розробника з доступом до репозиторію або отримуючи доступ до базової інфраструктури, на якій розміщено SCMПрикладом такої векторної атаки була Атака на PHP. Зловмисник скомпрометував власний сервер Git PHP, який є безпечним сховищем для зберігання та керування вихідним кодом мови програмування PHP. Зловмисник зміг впровадити два шкідливі коди commitв основну кодову базу PHP. Ці commitдодав бекдори, які дозволяли зловмиснику отримувати несанкціонований доступ до інсталяцій PHP. Ці бекдори дозволяли зловмиснику виконувати довільний код на будь-якій інсталяції PHP, який можна було використовувати для крадіжки даних, встановлення шкідливого програмного забезпечення або переривання роботи. Атака також завдала значної репутаційної шкоди PHP, оскільки викликала занепокоєння щодо безпеки мови програмування.
Збірка з модифікованого вихідного коду
Зловмисник отримує копію вихідного коду з джерела, відмінного від офіційного репозиторію вихідного коду, та використовує її для створення та розгортання програмного забезпечення. Цей змінений вихідний код може містити шкідливий код, бекдори або інші шкідливі зміни, які можуть поставити під загрозу цілісність, функціональність або безпеку програмного забезпечення. Прикладом такої векторної атаки була Webmin атака. Зловмисник отримав несанкціонований доступ до інфраструктури збірки Webmin, яка відповідає за компіляцію та пакування програмного забезпечення Webmin. Зловмисник змінив інфраструктуру збірки, щоб використовувати вихідні файли, яких не було в офіційному репозиторії вихідних кодів Webmin.
Напишіть небезпечний код
Небезпечні методи кодування, навмисні чи ненавмисні, можуть створювати вразливості в програмному забезпеченні. Ці вразливості можуть бути використані зловмисниками для отримання несанкціонованого доступу, зміни або крадіжки даних, або ж для порушення операцій. Прикладом такої векторної атаки був Атака Apache StrutsУ 2003 році хакер проник до репозиторію вихідного коду бібліотеки програмного забезпечення з відкритим вихідним кодом під назвою Apache Struts. Хакер вніс у бібліотеку вразливість, яка дозволила йому отримати несанкціонований доступ до систем організацій, які встановили бібліотеку. Уразливість дозволяла хакеру виконувати довільний код на уражених системах, який можна було використовувати для крадіжки даних, встановлення шкідливого програмного забезпечення та порушення роботи. Атака торкнулася широкого кола організацій, включаючи державні установи, підприємства та приватних осіб.
Підробка критично важливих файлів
Зміна або модифікація критично важливих файлів у життєвому циклі розробки програмного забезпечення може мати серйозні наслідки, включаючи впровадження шкідливого коду, компрометацію конфіденційних даних та порушення роботи програмного забезпечення. Прикладом такої атаки з вектором несанкціонованого втручання була Атака Мейвена. У 2020 році хакери проникли до репозиторію вихідного коду популярної бібліотеки програмного забезпечення з відкритим кодом під назвою Maven. Хакери вставили шкідливий код у файл бібліотеки pom.xml, який використовується для налаштування процесу збірки. Шкідливий код дозволив хакерам впроваджувати свої залежності в процес збірки, які потім включалися до скомпільованого програмного забезпечення. Ці залежності містили бекдори, які дозволяли хакерам отримувати несанкціонований доступ до систем організацій, які встановили програмне забезпечення.
Розчищення шляху: оптимізація операцій з чітким баченням
Вийдіть за межі безпеки, і ви побачите, що візуалізація вашого ланцюга поставок робить більше, ніж просто захист – це як увімкнути світло в темній кімнаті, показуючи найшвидші та найефективніші шляхи ваших операцій. Це дає командам повний огляд екосистеми розробки, дозволяючи їм виявляти надлишкові активи та елементи, що не обслуговуються. Така чіткість особливо корисна у великомасштабних проектах, де взаємодіють кілька блоків та компонентів.
Остаточні зауваження
Розуміючи різні типи етапів джерела software supply chain security загроз та впроваджуючи відповідні заходи безпеки, організації можуть допомогти захистити себе від цих руйнівних атак.
- Атаки на ланцюги постачання програмного забезпечення можуть впроваджувати шкідливий код у програмне забезпечення на будь-якому етапі життєвого циклу розробки, включаючи етап вихідного коду.
- Загрози на етапі розробки вихідного коду включають надсилання поганого коду, компрометацію репозиторіїв вихідного коду, збірку з модифікованих вихідних кодів, написання небезпечного коду та втручання в критичні файли.
- Організаціям необхідно впроваджувати комплексні заходи безпеки протягом усього життєвого циклу розробки програмного забезпечення, щоб зменшити ризики атак на ланцюг поставок.
Хочете залишатися на крок попереду в software supply chain security?
Слідкуйте за нашими майбутня серія блогів, де ми заглибимося в найпоширеніші атаки, що трапляються протягом життєвого циклу розробки програмного забезпечення. З етап будівництва до розгортання та далі, ми надамо вам знання та стратегії для захисту вашої організації від цих підступних загроз.
Не пропустіть! Підпишіться на наш блог сьогодні і будьте першими, хто дізнається про наші останні новини щодо software supply chain security.
Разом ми можемо створити більш стійку та безпечну екосистему програмного забезпечення для всіх.
Перегляньте наше відео-демо







