SCA — анализ состава программного обеспечения CI/CD.

May 02 2023
Что такое анализ состава программного обеспечения? SCA — это тип анализа, который включает сканирование кода и его зависимостей для выявления любых используемых компонентов с открытым исходным кодом или сторонних производителей, а также для обнаружения любых известных уязвимостей или проблем с соответствием лицензии, связанных с этими компонентами. Существует несколько причин, по которым важно применять SCA на протяжении всего цикла безопасной разработки.

Что такое анализ состава программного обеспечения?

SCA — это тип анализа, который включает сканирование кода и его зависимостей для выявления любых используемых компонентов с открытым исходным кодом или сторонних производителей, а также для обнаружения любых известных уязвимостей или проблем с соответствием лицензии, связанных с этими компонентами.

Существует несколько причин, по которым важно применять SCA на протяжении всего цикла безопасной разработки.

Безопасность : компоненты с открытым исходным кодом и сторонние библиотеки часто содержат уязвимости, которые могут быть использованы злоумышленниками для получения несанкционированного доступа к приложению или системе. SCA помогает выявлять эти уязвимости на ранних этапах процесса разработки, позволяя разработчикам устранять их до того, как их можно будет использовать в производственной среде.

Соответствие : многие компоненты с открытым исходным кодом лицензируются на определенных условиях, которые могут иметь юридические последствия, если не будут надлежащим образом управляться. SCA может помочь выявить любые проблемы с соблюдением лицензионных требований на ранних этапах процесса разработки, позволяя разработчикам решать их до того, как они станут юридической ответственностью.

Эффективность : Компоненты с открытым исходным кодом и сторонние библиотеки могут быть ценным ресурсом для разработчиков, поскольку они могут помочь ускорить процесс разработки и уменьшить потребность в написании кода с нуля, экономя время и усилия в процессе разработки.

Ремонтопригодность : по мере развития программного обеспечения и добавления или обновления новых компонентов может стать трудным отслеживать все зависимости и связанные с ними уязвимости или проблемы соответствия. SCA может помочь отслеживать эти зависимости и обеспечивать их надлежащее управление на протяжении всего жизненного цикла разработки программного обеспечения.

Существует несколько инструментов анализа состава программного обеспечения (SCA):

  • Сонатайп Нексус IQ
  • Черная утка
  • Сник
  • БелыйИсточник
  • Проверка зависимостей OWASP
  • ФОССА

В 2020 году была обнаружена атака цепочки поставок SolarWinds. Атака затронула несколько государственных учреждений США, а также многочисленные частные компании.

Злоумышленники внедрили вредоносное ПО в обновления программного продукта Orion, разработанного техасской ИТ-компанией SolarWinds. Затем обновления были распространены среди клиентов SolarWinds, в том числе нескольких государственных учреждений США и компаний из списка Fortune 500.

Чтобы интегрировать OWASP Dependency-Check с GitLab CI/CD, вы можете выполнить следующие общие шаги:

  1. Установите и настройте плагин Dependency-Check в GitLab. Вы можете найти плагин на торговой площадке GitLab.
  2. Добавьте в конвейер GitLab CI/CD новый этап для сканирования зависимостей с помощью Dependency-Check. Например, вы можете добавить в .gitlab-ci.ymlфайл следующую стадию:

Кроме того, важно регулярно обновлять инструмент SCA и быть в курсе новых уязвимостей и обновлений сторонних зависимостей, чтобы гарантировать, что ваш код безопасен и соответствует требованиям.