En abril de 2023, DHS, CISA, DOE y CESER publicaron un informe titulado 'Informe del ciclo de vida compartido de la lista de materiales (SBOM) del software'. El propósito del informe era examinar las formas actuales en que las personas comparten SBOM y describir, en términos generales, cómo se podría compartir mejor, con mayor sofisticación para permitir una mayor transparencia en el software.
El informe divide el ciclo de vida compartido de SBOM en 3 fases: descubrimiento, acceso y transporte. Descubrimiento es como un usuario o consumidor puede tomar conocimiento de la existencia de un nuevo SBOM de un autor o proveedor. para mantenimiento es cómo un usuario o consumidor puede acceder a este SBOM y a todos los datos relevantes que lo acompañan (enriquecimiento de SBOM). Transporte Así es como un consumidor puede recibir el SBOM. En todos los casos, cuanto más automatizado esté el proceso, mejor será para todas las partes involucradas.
Aunque el informe no menciona específicamente ninguna herramienta, sí incluye varios ejemplos y listas de atributos que incluirían dichas herramientas deseadas.
Nos emocionó descubrir aquí en Scribe que nuestra plataforma, que permite compartir SBOM información como parte de su uso principal, obtiene calificaciones muy altas cuando se compara con la lista de requisitos publicada.
En este artículo, repasaremos las 3 partes del ciclo de vida compartido de SBOM como se especifica en el informe y examinaremos la solución más sofisticada vista por CISA.. Concluiremos describiendo cómo plataforma de escriba responde a estos requisitos.
Sofisticación del ciclo de vida compartido de SBOM
Descubrimiento Es la fase inicial del ciclo de vida e implica cómo un consumidor se da cuenta de la existencia de un SBOM de un autor o proveedor. Esto podría ser tan simple como colocar un nuevo SBOM en una ubicación estandarizada dentro del sitio web de un proveedor o en una ubicación dentro de un repositorio de software. El consumidor debe tener suficientemente claro cómo obtener o al menos solicitar acceso a estos datos de SBOM para que luego pueda acceder a ellos y descargarlos para su uso. A veces, el consumidor necesitará mantenerse en contacto con el proveedor y solicitar actualizaciones sobre su SBOM. Alternativamente, podrían estar disponibles actualizaciones continuas automatizadas.
Un enfoque de alta sofisticación, como se afirma en el informe, coloca más responsabilidad del descubrimiento en el proveedor para hacer la vida del consumidor más fácil. Idealmente, puede haber un proceso bien conocido y bien documentado que sea ideal para la automatización y que tenga poco que hacer manualmente. A modo de ejemplo, un proveedor podría desarrollar un publicar / suscribirse servicio que actualizará automáticamente a los usuarios con información sobre nuevos SBOM, así como versiones actualizadas de SBOM existentes y un mecanismo para localizarlos. Además, los niveles más sofisticados deberían ser más precisos a la hora de dirigir a los clientes hacia la información solicitada y al mismo tiempo ocultar información irrelevante.
para mantenimiento es el siguiente paso y detalla cómo obtener acceso a los datos. El énfasis de esta etapa está en las restricciones de acceso impuestas al SBOM y cómo un usuario obtendrá permiso para pasar a la etapa de Transporte. La forma más sencilla es hacer que el SBOM sea totalmente accesible al público y es posible que ni siquiera sea necesario implementar controles de acceso. Pero, de manera realista, un proveedor podría exigir que los SBOM se mantengan en un repositorio donde el acceso a ellos deba aprobarse manualmente o definirse por roles antes de otorgarse a un destinatario específico. Además, los SBOM pueden necesitar una granularidad de control de acceso específica para garantizar que los clientes solo puedan ver versiones particulares de SBOM vinculadas a un producto o acceder a partes específicas de los datos.
En un enfoque altamente sofisticado, un consumidor puede solicitar acceso para ver un SBOM y se puede crear una cuenta restringida automáticamente. Si un consumidor puede demostrar que ha comprado un dispositivo o software que es relevante para el SBOM en cuestión, como una clave de software, se le puede otorgar automáticamente acceso a los SBOM. Con roles o controles de acceso a nivel de organización, existe un alto nivel de granularidad de permisos. Esta característica requiere un alto nivel de sofisticación debido a la necesidad de analizar y comprender los permisos de cada actividad deseada, así como rastrear los datos necesarios para validar automáticamente las compras de los clientes. Al utilizar un sistema como la delegación de infraestructura de clave pública mediante firma de certificados, un proveedor puede delegar solicitudes de autenticación y control de acceso a otra organización para lograr un nivel aún mayor de sofisticación.
Transporte es el paso final y detalla el método por el cual un consumidor recibe el SBOM. Los SBOM pueden transportarse utilizando varios métodos de un lugar a otro o de un lugar a varios lugares. Este proceso se facilita más eficazmente con algunos métodos que con otros. Una copia almacenada en un disco duro y enviada por el autor al consumidor puede ser suficiente si el transporte del SBOM sólo implica el movimiento de un único SBOM. Debería estar disponible un método que permita a los clientes recuperar el SBOM de forma segura si una gran base de consumidores lo necesita. Esta etapa es necesaria para que el consumidor utilice los datos. Tenga en cuenta que la mayoría de los usos prácticos de SBOM requieren un formato legible por máquina, por lo que el transporte debe tenerlo en cuenta.
Utilizando protocolos establecidos, el proceso de la fase de transporte debe documentarse exhaustivamente para permitir la mayor automatización del transporte posible. Una interfaz de programación de aplicaciones (API) debe ser accesible, repetible y coherente. Sería suficiente clasificar una interfaz OpenAPI como de alta sofisticación si ofrece documentación para una API REST o Transferencia de Estado Representacional (REST). 13 Otros estándares API, como el Protocolo simple de acceso a objetos (SOAP) o el lenguaje de consulta Graph (GraphQL), también pueden considerarse suficientes. REST es sólo un ejemplo popular de interfaz estandarizada. De hecho, cualquier interfaz que ofrezca un nivel comparable de facilidad de integración es suficiente para ser categorizada como de alta sofisticación.
¿Cómo responde la plataforma Scribe a los requisitos?
Scribe desarrolló una plataforma que permite una publicar / suscribirse Service. Un productor de software puede vincular sus canales de CI a la plataforma para que cada vez que ejecute una compilación se cree un SBOM correspondiente. Luego, estos SBOM se enriquecen con información adicional y se puede acceder a ellos según el proyecto específico, la tubería de construcción, la fecha y la hora. El productor puede agregar suscriptores a cada proyecto para que una vez que decidan publicar una nueva versión del software. Todos los suscriptores son notificados y tienen acceso completo de inmediato, no solo al nuevo SBOM sino también a toda la demás información de seguridad que lo acompaña. Los suscriptores pueden acceder a los SBOM a los que tienen acceso cuando quieran y pueden descargarlos cuando lo deseen.
Una vez que se crea el enlace de la canalización y un suscriptor aprueba que está interesado en los datos, todo el flujo de información se automatiza y requiere poca o ninguna intervención manual. Los datos de seguridad están cifrados y protegidos por Scribe y solo el productor y los suscriptores aprobados tienen acceso. El descubrimiento es automático, el acceso lo determina el productor y el transporte queda a voluntad del suscriptor.
El futuro del intercambio SBOM
Hoy en día, es más probable que el intercambio de SBOM se realice por correo electrónico que mediante un sistema automatizado, pero este enfoque no es escalable. Para permitir un mayor intercambio, es necesario que más herramientas y plataformas como Scribe estén disponibles, sean fáciles de usar y accesibles. Una variedad de soluciones de intercambio diseñadas para las necesidades de diversas partes interesadas sería ventajosa para el ecosistema de intercambio de SBOM. Estas condiciones existen porque sus clientes pueden solicitar a un determinado proveedor que utilice varios métodos de transporte, y sus socios upstream pueden proporcionar a un cliente datos SBOM utilizando varios métodos. Necesitamos más soluciones que puedan abordar las situaciones especiales identificadas e intentar, cuando sea práctico, eliminar los procesos manuales y evitar acciones que obstaculicen la interoperabilidad. El objetivo de la industria debería ser evitar la aparición de numerosas soluciones compartidas de SBOM que sean incompatibles entre sí en una cadena de suministro más grande, ya que eso sólo exacerbaría los problemas existentes.
Puesto que el La plataforma Scribe es gratuita para usar hasta 100 compilaciones por mes. Le invito a que lo pruebe y vea cuántas de sus necesidades regulatorias y de seguridad satisface la plataforma. Todavía tenemos un largo camino por recorrer para lograr una plataforma verdaderamente universal que cumpla con nuestra visión, pero es un buen punto de partida que estamos ansiosos por compartir con el mundo.
Este contenido es presentado por Scribe Security, un proveedor líder de soluciones de seguridad de la cadena de suministro de software de extremo a extremo, que ofrece seguridad de última generación para artefactos de código y procesos de desarrollo y entrega de código en todas las cadenas de suministro de software. Más información.