SPDX против CycloneDX: сравнение форматов SBOM

Все сообщения

Несмотря на растущее внедрение спецификации программного обеспечения (SBOM) в качестве инструмента управления уязвимостями и кибербезопасности, многие организации все еще пытаются понять два наиболее популярных формата SBOM, используемых сегодня: SPDX и CycloneDX. В этой статье мы сравним эти два формата, чтобы помочь вам выбрать тот, который соответствует вашим потребностям.

Что такое форматы SBOM

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

Обмен данными программного пакета (SPDX): это машиночитаемый проект SBOM с открытым исходным кодом, созданный фондом Linux. Он был разработан в первую очередь для обеспечения соответствия и прозрачности управления открытым и проприетарным кодом командами разработчиков и корпорациями.

ЦиклонDX (CDX): это также машиночитаемый формат SBOM с открытым исходным кодом, разработанный сообществом Open Web Application Security Project (OWASP). Это облегченный формат SBOM, ориентированный на простоту внедрения и автоматизацию создания SBOM на протяжении всего процесса разработки программного обеспечения. 

Теги идентификации программного обеспечения (SWID):  Теги SWID считаются скорее идентификатором программного обеспечения, чем форматом SBOM. Он обеспечивает простой и прозрачный способ отслеживания инвентаризации программного обеспечения, сохраняя конкретную информацию о выпуске программного обеспечения.

Как правило, официально признаются только форматы SPDX и CycloneDX SBOM. Формат SWID в основном используется для идентификации программного обеспечения, поскольку он не предлагает столько информации, сколько два других формата.

SPDX и CycloneDX содержат перекрывающуюся информацию, и многие утверждают, что их можно использовать как взаимозаменяемые, поскольку не существует единого «стандартного» формата SBOM. Однако эти два формата традиционно имеют разные варианты использования в жизненном цикле разработки программного обеспечения. Таким образом, различные организации должны определить, какая из них лучше всего подходит для них, исходя из их уникальных потребностей в области кибербезопасности и соответствия требованиям.

Нажмите здесь, чтобы узнать больше о стандартных форматах SBOM.

Сравнение SPDX и CycloneDx

SPDX и CyclonDX — два стандартных формата для генерации SBOM, и, вероятно, они останутся такими еще долгое время. Большинство платформ создания SBOM поддерживают оба формата. Однако это разные инструменты с разными вариантами использования. Некоторые из их основных различий выделены ниже:

Обзор CycloneDX

CycloneDX — это проект SBOM с открытым исходным кодом, разработанный одной из ведущих организаций по безопасности программного обеспечения, Open Web Application Security Project (OWASP). Проект был запущен в 2017 году как платформа для анализа компонентов, помогающая пользователям выявлять риски в цепочке поставок программного обеспечения. Идентификация уязвимостей остается основным вариантом использования CycloneDX. Этот формат SBOM также помогает обеспечить соответствие лицензии и идентифицировать устаревшие программные компоненты.

CycloneDX ориентирован на автоматизацию и упрощение внедрения требований SBOM на протяжении всего цикла сборки программного обеспечения. Этот формат используется как организациями, занимающимися разработкой программного обеспечения с открытым исходным кодом, так и организациями, занимающимися проприетарным программным обеспечением, для обеспечения безопасности.

В качестве формата спецификации CycloneDX имеет и другие приложения, помимо подготовки программных спецификаций. Его также можно использовать для компиляции компонентов, уязвимостей и сервисов аппаратных и облачных систем. В SBOM, подготовленных в формате Cyclone DX, перечислены уязвимости в трех основных областях. Это:

  • Общее перечисление платформ (CPE): уязвимости в приложении, аппаратных устройствах или операционной системе.
  • SWID: тег идентификации программного обеспечения используется для анализа компонентов установленного программного обеспечения.
  • URL-адрес пакета (PURL). CycloneDX также перечисляет метаданные программного пакета.

В дополнение к этому формат CycloneDX также поддерживает отслеживание происхождения программных продуктов и их компонентов. Это облегчает идентификацию авторов и поставщиков программного обеспечения и всех его компонентов.

Обзор СПДКС

SPDX означает обмен данными программного пакета. Это проект с открытым исходным кодом, созданный Linux Foundation с целью служить общим форматом для сбора и обмена данными о программном обеспечении, особенно информацией о лицензировании.

Стандарт SPDX был первоначально разработан в 2011 году как инструмент управления лицензиями с открытым исходным кодом. С годами формат совершенствовался и включал в себя новые поля, которые улучшают способность формата собирать важную информацию, связанную с безопасностью, и делают его более совместимым с другими стандартными форматами SBOM.

В сентябре 2021 года Международная организация по стандартизации признала формат SPDX международно признанным стандартом для публикации SBOM. SPDX — единственный формат SBOM, добившийся такого результата.

Теперь, в версии 2.2.2, исходная версия спецификации SPDX была разработана для упрощения соблюдения политик лицензирования программного обеспечения. В последующих версиях было добавлено несколько возможностей, которые делают его полезным для широкого спектра случаев использования, включая выявление уязвимостей программного обеспечения.

Последняя версия SPDX была разработана в соответствии со стандартом NTIA «Минимальные элементы спецификации программного обеспечения». В нем перечислены компоненты, авторские права, лицензии и ссылки на безопасность части программного обеспечения.

Ожидается, что документ SBOM в формате SPDX будет иметь определенные поля и разделы, как показано ниже:

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

●  Взаимосвязи и аннотации. SBOM в формате SPDX также указывает взаимосвязь между различными документами, файлами и пакетами, используемыми в программном обеспечении, с четкими аннотациями, которые облегчают просмотр взаимосвязей компонентов программного обеспечения.

В чем разница между SPDX и CycloneDX?

Два стандартных формата SBOM, выделенные выше, можно использовать для создания, обмена и управления данными SBOM. Они позволяют пользователям генерировать точную информацию о компонентах программного продукта. Формат SPDX (Software Package Data Exchange) был в первую очередь разработан как способ управления лицензиями на программное обеспечение с открытым исходным кодом и обмена информацией о пакетах. CycloneDX, с другой стороны, позволяет пользователям создавать SBOM (спецификация программного обеспечения), которые предоставляют подробную информацию о программных компонентах.

Какой стандарт лучше использовать?

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

Хотя у SPDX и CycloneDX очень похожие приложения, они различаются с точки зрения исходных вариантов использования. Формат SPDX был создан еще в 2011 году как инструмент управления лицензиями. Сегодня он по-прежнему полезен для обмена подробной информацией о компонентах программной системы с людьми в цепочке поставок. Это делает этот формат более полезным для целей разработки программного обеспечения.

CycloneDX (CDX), с другой стороны, был разработан совсем недавно с основной целью создания документации SBOM, что делает его более эффективным инструментом управления уязвимостями, поскольку он подробно описывает все стандартные компоненты программного продукта. Легкость CycloneDX также делает его эффективным инструментом для создания машиночитаемых спецификаций программного обеспечения, которыми вы можете поделиться и быстро обработать.

В конце концов, между этими двумя нет «лучшего» формата. Какой из них выбрать, во многом зависит от конкретных потребностей вашей организации и предполагаемого варианта использования документа SBOM, который вы собираетесь создать. 

Этот контент предоставлен вам Scribe Security, ведущим поставщиком комплексных решений для обеспечения безопасности цепочки поставок программного обеспечения, обеспечивающим современную безопасность артефактов кода, а также процессов разработки и доставки кода по всей цепочке поставок программного обеспечения. Подробнее.