Qué es una SBOM
Una SBOM enumera todos los componentes de software de un producto: bibliotecas de código abierto, el sistema operativo, módulos de terceros y sus propios paquetes. Para cada componente registra:
- nombre y versión, por ejemplo
openssl 3.0.13 - proveedor
- un identificador único: una package URL (purl) o un CPE
- licencia
- de qué otros componentes depende
Qué exige el CRA
El anexo I de la Ley de Ciberresiliencia obliga a los fabricantes a identificar y documentar las vulnerabilidades y los componentes que contienen sus productos, en particular elaborando una lista de materiales de software en un formato de uso común y legible por máquina que abarque, como mínimo, las dependencias de nivel superior. La SBOM forma parte de su documentación técnica; no tiene que publicarla, pero las autoridades de vigilancia del mercado pueden solicitarla.
CycloneDX y SPDX
Hay dos formatos muy extendidos y ambos son legibles por máquina:
- CycloneDX (OWASP): diseñado para casos de uso de seguridad, con soporte integrado para la explotabilidad de vulnerabilidades (VEX).
- SPDX (Linux Foundation, ISO/IEC 5962): concebido originalmente para el cumplimiento de licencias, compatible con muchas herramientas de compilación.
La mayoría de los entornos de compilación pueden generarlos: por ejemplo, Syft o cdxgen para contenedores y sistemas de archivos, los plugins de CycloneDX para Maven, Gradle y npm, y la salida SPDX del Yocto Project para Linux embebido.
Una SBOM solo es útil si se mantiene al día
Una SBOM elaborada una sola vez para la declaración de conformidad queda obsoleta con la siguiente versión. Lo que ayuda en la práctica:
- una SBOM por cada versión publicada, generada en el pipeline de compilación;
- cada componente contrastado a diario con nuevos datos de vulnerabilidades;
- una decisión registrada para cada hallazgo: afectado, no afectado o corregido;
- las diferencias entre versiones visibles de un vistazo.
Cómo utiliza Kernwatch sus SBOM
- Importación de CycloneDX o SPDX mediante carga manual o desde CI con una clave de API.
- Comparación de versiones para ver qué componentes se han añadido, eliminado o cambiado.
- Cotejo de los componentes con identificador de paquete (purl) con OSV, la lista de vulnerabilidades explotadas conocidas de CISA y la base de datos europea de vulnerabilidades: a diario en los planes de pago, semanalmente en el plan Free.
- Exportación de las evaluaciones como VEX junto con la SBOM cuando un cliente o una autoridad lo solicite.
- Ver vídeo: Productos, versiones y SBOM (4 min)
- Ver vídeo: Cargar SBOM desde CI con una clave de API (2 min)
- Ver vídeo: Evaluación, comparación de versiones y exportación de SBOM (3 min)