Si hay algo que hemos aprendido de algunos de los principales ataques a la cadena de suministro de software de los últimos años, como el Vientos solares y Log4Shell ataque, es que este tipo de ataques pueden ser bastante devastadores. Pero en el mundo digital interconectado de hoy, a las empresas les resulta cada vez más difícil evitarlos.
Nadie es inmune a los ataques a la cadena de suministro de software. Lo que los empeora aún más es que violar una sola empresa expondrá potencialmente a miles de empresas en su cadena de suministro de software a ataques. La implicación de esto es que no basta con salvaguardar sus propios sistemas internos; Una de las formas en que su organización puede reducir proactivamente los riesgos de la cadena de suministro y mitigar los ataques es adoptar un concepto conocido como Lista de materiales de software (SBOM).
Lo más probable es que su organización dependa de varios sistemas externos para ejecutar diversos aspectos de sus operaciones diarias. Sin embargo, probablemente no tenga visibilidad de los riesgos que plantean estos sistemas externos a menos que el proveedor lo revele. El SBOM actúa como una lista completa de ingredientes que proporciona información sobre los componentes de software que utiliza. Este documento se ha convertido en un Componente clave para gestionar los riesgos de ataques a la cadena de suministro..
¿Cuál es la función de SBOM en la gestión de riesgos de la cadena de suministro?
Para comprender completamente el potencial y reducir los riesgos del software de terceros que utiliza, necesita conocer su composición. La Lista de materiales del software (SBOM) proporciona total transparencia, lo que le brinda un mejor control sobre la seguridad de sus sistemas internos.
Una lista de materiales de software es una lista de los componentes, servicios y dependencias de terceros en una pieza de software o aplicación. El concepto de BOM no es nuevo, pero sólo recientemente ha encontrado aplicación en el mundo del software. La raíz de este concepto se remonta a la industria manufacturera, donde los fabricantes suelen utilizar piezas de diferentes proveedores para fabricar un producto. Para realizar un seguimiento del historial del producto y facilitar el mantenimiento futuro, se elabora una lista de materiales que detalla todos los componentes y de dónde proviene cada uno.
Los SBOM se popularizaron más recientemente después del ataque Solarwinds de 2020 que afectó a muchas agencias gubernamentales de EE. UU. En respuesta a esto, El presidente Biden emitió una orden ejecutiva que obligaba a las agencias federales a solicitar SBOM de los desarrolladores de software y los proveedores con los que se asocian. Si bien no previene un ataque a la cadena de suministro, un SBOM preciso revelará todas las dependencias dentro de un producto de software. Esto la convierte en una valiosa herramienta de ciberseguridad que garantiza la transparencia y expone las vulnerabilidades en la cadena de suministro, permitiendo así la reducción de los riesgos de la cadena de suministro.
Por qué SBOM es fundamental para los desarrolladores que dependen del código fuente abierto
La reutilización de código de terceros o de fuente abierta es una parte integral del proceso de desarrollo de software moderno. Si bien los desarrolladores aún necesitan escribir su propio código, rutinariamente integran componentes de código abierto de terceros en su software. Hacer esto se ha vuelto muy necesario para mantener los proyectos avanzando a un ritmo elevado.
En el pasado, la única razón por la que las organizaciones y los desarrolladores que utilizaban software de código abierto querían conocer sus componentes era para evitar problemas de licencia. Muchos software de código abierto incluían componentes de uso y distribución restringidos, y cualquiera que quisiera utilizarlos debía ser consciente de estas limitaciones. Ahora, sin embargo, los desarrolladores están empezando a reconocer que el riesgo de utilizar software de código abierto va más allá de las licencias; También podría generar preocupaciones de seguridad. Una lista de materiales es fundamental para comprender los requisitos de licencia y seguridad del software de código abierto.
Para los desarrolladores, una lista de materiales de software ofrece una mejor visibilidad del código base del software de código abierto que utilizan. Esto puede ayudar a ahorrar tiempo y esfuerzo en muchos casos. Por ejemplo, si se descubre una nueva vulnerabilidad. Sin una lista de materiales, los desarrolladores tendrán que revisar cada pieza de software para identificar la causa del problema. Para proyectos complejos, esta es una tarea agotadora y que requiere mucho tiempo. Utilizando un SBOM, el software que contiene la vulnerabilidad se puede identificar fácilmente y la corrección del error requerida se llevará a cabo de inmediato. Otras razones por las que SBOM es fundamental en el desarrollo de software:
-
Reducir el exceso de códigoPor cada código fuente abierto que utilice, probablemente existan docenas de alternativas ligeramente diferentes que realizan funciones similares. Con un SBOM, puede reducir las redundancias creando una lista estándar de componentes para su sistema. Además, dado que cada componente que utilice tendrá sus propios defectos o vulnerabilidades únicos, mantener su código optimizado para exactamente lo que se necesita puede hacer que sea más fácil rastrear y corregir las vulnerabilidades.
-
Cumplir con las obligaciones de licencia—Hemos mencionado cómo la concesión de licencias es una de las principales motivaciones para intentar conocer todos los componentes de su software. Obtener el SBOM garantizará que cumpla con todas las obligaciones de licencia de los componentes que elija utilizar.
-
Evalúe y remedie los riesgos de forma proactiva:Identificar y remediar los riesgos recientemente identificados puede resultar difícil y llevar mucho tiempo. Sin embargo, con una lista de componentes claramente delineada, puede comenzar a buscar vulnerabilidades de manera proactiva y corregirlas. Esto acorta el tiempo para identificar problemas y hace que el proceso sea más eficiente.
-
Facilita las pruebas y las revisiones de código.Antes de implementar cualquier software, es necesario probarlo y revisarlo exhaustivamente. Este proceso es más fácil cuando el desarrollador tiene una comprensión clara de todos los componentes y subcomponentes de ese software. El SBOM puede ayudar a reducir drásticamente el tiempo de revisión, permitiéndole poner su código en producción más rápido de lo que lo habría hecho sin el documento.
Con SBOM, puede iniciar pruebas de seguridad para detectar y evitar componentes dañinos en las primeras etapas mientras el código aún se está escribiendo. El documento también proporciona un contexto más profundo a los códigos de terceros y sus componentes, lo que reduce el trabajo y el tiempo necesarios para revisar e incluso realizar cambios en la base del código.
-
Identificar el software al final de su vida útil (EOL):Este es un fenómeno bastante común con el software de código abierto. A veces, estos componentes llegan al final de su vida útil porque el proveedor, que se encuentra en un nivel superior en la cadena de suministro, ya no brinda soporte al producto. Si bien todavía funciona, el software de código abierto no compatible es un nodo importante a través del cual se pueden explotar las vulnerabilidades. El SBOM permite monitorear el software EOL y tomar medidas proactivas para reemplazarlo cuando sea posible.
Casos de uso y beneficios de SBOM
Obtener una lista de materiales de software (SBOM) no es obligatorio para cada software que desarrolle. Sin embargo, prepararlo se está convirtiendo rápidamente en una de las mejores prácticas que todo desarrollador de productos digitales debe considerar. Los siguientes son algunos casos de uso de SBOM en los que este documento sería muy valioso.
Casos de uso de SBOM
Cumplir con los requisitos federales
Tras los principales ataques a la cadena de suministro de software de 2020 y 2021, el presidente Biden emitió un orden ejecutiva que describe las principales recomendaciones para agencias y proveedores que suministran soluciones de software para el gobierno. Uno de los requisitos incluidos en la orden ejecutiva fue la propuesta de incluir SBOM para cada software que utilizará el gobierno federal. Si bien los SBOM no son obligatorios para todos, todas las organizaciones que proporcionan software para el gobierno federal de EE. UU. deberían proporcionar SBOM que detallen todos los componentes que utilizan y cualquier cambio de versión que realicen.
Reducir el riesgo para los consumidores de software
Un SBOM produce visibilidad total de los componentes de terceros de una herramienta de software. El seguimiento de todos los componentes y subcomponentes de un software es una de las formas en que las organizaciones pueden verificar los estándares de seguridad y cumplimiento de cualquier solución de software que pretendan utilizar o que ya utilicen.
Los consumidores que utilizan software sin una lista de materiales probablemente sepan que hay componentes de código abierto en el código que obtienen de un proveedor. Sin embargo, dado que estos ingredientes no se conocen, es posible que los consumidores no sean conscientes de posibles códigos maliciosos, componentes no compatibles y otras vulnerabilidades del software.
Respuesta rápida a situaciones de crisis.
El uso de un SBOM ofrece visibilidad del código base del software. En última instancia, esto hace que sea más fácil para los desarrolladores responder a las crisis si éstas ocurren. Por ejemplo, sin un SBOM, un equipo de ingeniería de software que intente abordar una nueva vulnerabilidad tendrá que revisar manualmente cada pieza de software que utilice para determinar el problema. Sin embargo, si hay disponible una lista de materiales, es más fácil delimitar el software que puede contener la vulnerabilidad y realizar las correcciones necesarias en muy poco tiempo. Esto ayuda a ahorrar tiempo en la resolución de crisis y minimiza el daño que podría haber ocurrido.
Problemas de asimetría de información.
Actualmente existe un problema de asimetría de información en el mercado del software. Al mantener en secreto toda la información sobre la seguridad de sus aplicaciones, los proveedores o productores de software no se hacen responsables de la calidad de su software. SBOM pone a disposición de los clientes de software información sobre la seguridad de un producto. Esto obliga a los productores a cumplir con los mejores estándares de seguridad en el desarrollo de software.
Apoyo a fusiones y adquisiciones
Una lista de materiales de software es uno de los documentos que pueden ser necesarios para adquirir una empresa. Partes del proceso de adquisición de una empresa implican la debida diligencia para evaluar los riesgos potenciales de la compra. Los SBOM proporcionan información detallada sobre el marco de seguridad administrado por la empresa y el riesgo potencial de la adquisición.
Beneficios de los SBOM
Una de las prácticas de seguridad más importantes de las organizaciones modernas es el acceso a los riesgos de la cadena de suministro de software. Esto implica saber si la pila de software de una organización incluye componentes de terceros que puedan constituir un riesgo para la cadena de suministro. Estas vulnerabilidades de software se encuentran a menudo en componentes que dependen de otras aplicaciones de software. Es por eso que la lista de materiales del software es un componente importante del marco de seguridad de un producto. A continuación se muestran algunos de los más importantes. beneficios de SBOM.
- Abordar las vulnerabilidades de forma proactiva-El beneficio final de un SBOM es examinar el marco de seguridad del software que utiliza una organización, identificar vulnerabilidades y encontrar formas de eliminarlas de manera proactiva. Hacer esto ayuda a las organizaciones a reducir los riesgos de la cadena de suministro.
- Mejorar el proceso de gestión de crisis de seguridad.La creación de un SBOM no elimina las vulnerabilidades del sistema ni previene por completo los ataques a la cadena de suministro de software. Sin embargo, reduce los riesgos de la cadena de suministro y puede mejorar el proceso de gestión de crisis cuando ocurren. Tener una lista de todas las dependencias que pueden servir como punto potencial de vulnerabilidad en una aplicación de software simplifica el proceso de gestión de riesgos.
- Reducir costos-Una de las consecuencias de manejar los riesgos de seguridad aprovechando los SBOM es que reduce los costos a largo plazo. El proceso de analizar código manualmente para localizar vulnerabilidades puede resultar bastante costoso. La lista de materiales del software proporciona visibilidad de las bibliotecas subyacentes del software. Esto ayuda a ahorrar tiempo y reducir el costo de la evaluación de seguridad.
Conclusión
En toda organización de software que se toma en serio su reputación, la creación de un SBOM integral que se actualice continuamente con datos es una de las formas clave de prevenir los impactos de un ataque a la cadena de suministro de software. Dado que el uso de software de terceros es prácticamente inevitable al crear productos de software, tener una lista completa de ingredientes de todos los componentes que utiliza hará que sea mucho más fácil delimitar los problemas y resolverlos de manera más efectiva. También facilita el cumplimiento de cuestiones de licencias de software e incluso, en algunos casos, de regulaciones gubernamentales.