¿Qué es un SBOM (Lista de Materiales de Software)?
Un SBOM (Lista de Materiales de Software) es un inventario detallado de los componentes que conforman un software, incluyendo bibliotecas de terceros y de código abierto, y la versión del marco de trabajo. Es como una lista de ingredientes dentro de la aplicación.
Al mantener un seguimiento de cada componente dentro de la aplicación, el equipo de desarrollo puede detectar rápidamente cuando se descubren nuevas vulnerabilidades.
Por qué el SBOM es importante en ciberseguridad
Las aplicaciones modernas se construyen combinando cientos o miles de dependencias de terceros y bibliotecas de código abierto para acelerar el desarrollo. Si una de ellas tiene vulnerabilidades, pondrá en riesgo toda la aplicación.
Un SBOM ayuda al equipo de desarrollo a:
- Identificar vulnerabilidades más temprano al mapear el componente afectado
- Mejorar el cumplimiento con estándares como NIST, ISO o la Orden Ejecutiva 14028 en los EE. UU.
- Mejorar la seguridad de la cadena de suministro asegurando la transparencia en la composición del software
- Construir confianza con clientes y socios mostrando qué componentes están incluidos
Elementos clave de un SBOM
Un SBOM adecuado generalmente incluye:
- Nombre del componente (por ejemplo,
lodash) - Versión (por ejemplo, 4.17.21)
- Información de licencia (código abierto o propietario)
- Proveedor (proyecto o vendedor que lo mantiene)
- Relaciones (cómo los componentes dependen entre sí)
Ejemplo en la práctica: La brecha de Apache Struts (Equifax, 2017)
En 2017, un atacante explotó una vulnerabilidad crítica en el marco de trabajo Apache Struts (CVE-2017-5638), que se utilizaba en las aplicaciones web de Equifax (una agencia multinacional estadounidense de informes de crédito al consumidor). El parche para esta vulnerabilidad estaba disponible, pero Equifax no lo aplicó a tiempo.
Debido a la falta de visibilidad de todas las dependencias y bibliotecas dentro de su aplicación, el fallo en la biblioteca Struts pasó desapercibido, lo que llevó a una de las mayores brechas de datos en la historia, exponiendo más de 147 millones de datos personales.
Si se hubiera implementado un SBOM, Equifax podría haber rápidamente:
- Identificado que sus aplicaciones estaban utilizando la versión vulnerable de Apache Struts
- Priorizado la aplicación del parche tan pronto como se divulgó la vulnerabilidad
- Reducido el tiempo que los atacantes tuvieron para explotar la debilidad
Este caso nos hace saber cómo un SBOM tiene un papel crítico para mantener seguros los componentes de software, ayudando a las organizaciones a actuar más rápido ante vulnerabilidades recién divulgadas
Términos Relacionados
- SCA (Análisis de Composición de Software)
- Seguridad de la Cadena de Suministro de Software
- Auditoría de Código Abierto
- Gestión de Vulnerabilidades