Cómo mantener los estándares de seguridad en el SDLC y abordar los requisitos del SSDF

Todos los Artículos

El marco de desarrollo de software seguro (SSDF), también conocido como NIST SP800-218, es un conjunto de pautas desarrolladas por NIST en respuesta a la Orden Ejecutiva 14028, que se centra en mejorar la postura de ciberseguridad de los Estados Unidos, particularmente en lo que respecta a la seguridad de la cadena de suministro de software. 

SSDF es un marco de mejores prácticas, no un estándar. Si bien es particularmente relevante para las organizaciones que desarrollan software para el gobierno de EE. UU., SSDF beneficia a cualquier organización de desarrollo de software. 

Este documento revisa las cuatro prácticas del SSDF y explica cómo utilizarlas. Seguridad del escriba ayudar a implementarlos proporcionando herramientas que permitan a las personas y los procesos mantener los estándares de seguridad en el SDLC.

Scribe Security es una plataforma para proteger las cadenas de suministro de software.

Proteger el software (PS)

La práctica PS aborda la amenaza de manipulación y acceso no autorizado a todos los componentes del software. Los controles de PS tienen como objetivo garantizar la seguridad del software durante todo su ciclo de vida de desarrollo. Estos incluyen proteger todas las formas de código, verificar la integridad de la versión de software y archivar y proteger cada versión de software.

Diagrama

Scribe ayuda a abordar los controles de PS mediante las siguientes características:

  1. Firma de código fuente y artefactos de compilación: esto ayuda a garantizar la integridad y autenticidad del código y de los artefactos de compilación, alineándose con el énfasis del SSDF en proteger el código contra el acceso no autorizado y la manipulación. La firma de código continua durante todo el proceso de desarrollo ayuda a garantizar que no se haya alterado la integridad de las versiones de software.
  2. Seguimiento de procedencia: monitorear el origen y el historial de los componentes de software para un abastecimiento seguro, lo que ayuda a proteger el software contra vulnerabilidades que surgen de los componentes comprometidos.
  3. Monitoreo de la integridad del software durante el SDLC: las comprobaciones continuas de la integridad en todo el SDLC impiden a los posibles atacantes en las herramientas y canalizaciones de desarrollo.
  4. Cadenas de herramientas de seguridad automatizadas: la implementación de cadenas de herramientas que automaticen aspectos del proceso de seguridad puede reducir los errores humanos y garantizar la aplicación coherente de las prácticas de seguridad.  
  5. Criterios para las comprobaciones de seguridad del software: definir y utilizar criterios para comprobar la seguridad del software durante su desarrollo es crucial para garantizar el cumplimiento de los estándares organizacionales e identificar vulnerabilidades potenciales.  
  6. Entornos de desarrollo seguros: mantener entornos de desarrollo, compilación y prueba seguros es vital para prevenir vulnerabilidades y salvaguardar el proceso de desarrollo de software.
  7. Aplique políticas para controlar el acceso al código fuente, las herramientas de desarrollo y los registros de artefactos de software: restringir el acceso a usuarios autorizados puede evitar el uso no autorizado y la manipulación.

Produzca software bien seguro (PW) 

La práctica de PW aborda las vulnerabilidades introducidas en el software a lo largo del SDLC. Incluye diseñar software para cumplir con los requisitos de seguridad, revisar diseños para verificar su cumplimiento, reutilizar código seguro, configurar procesos de compilación para seguridad y probar código ejecutable para detectar vulnerabilidades.

Diagrama

Scribe ayuda a abordar los controles de PW a través de las siguientes características:

  1. Análisis de composición de software (SCA): identificación y gestión de componentes de código abierto y de terceros para mitigar los riesgos asociados con las dependencias de software.
  2. Inteligencia de vulnerabilidad y reputación: monitoreo continuo de vulnerabilidades y evaluación de la reputación de los componentes de software para garantizar la confiabilidad.
  3. Análisis de riesgos: evaluación y seguimiento de posibles riesgos de licencia y seguridad asociados con dependencias de código abierto, gestión de la lista de materiales del software (SBOM) y avisos de Vulnerability Exploitability eXchange (VEX).
  4. Recopilación de evidencia relacionada con la seguridad del SDLC: análisis de datos en todo el SDLC para una gestión de riesgos informada.
  5. Políticas de desarrollo seguro: codificación de pautas para procesos y procedimientos de desarrollo de software y medición de KPI entre equipos y proyectos de desarrollo de software.

Responder a las vulnerabilidades (RV)

La práctica de RV implica identificar vulnerabilidades residuales en las versiones de software y responder de manera adecuada. RV implica resolver vulnerabilidades, mitigar o proporcionar avisos a las partes interesadas.

Diagrama

Scribe ayuda a abordar los controles de vehículos recreativos a través de las siguientes funciones:

  1. Recopilación de evidencia del SDLC: recopilación de metadatos en todo el SDLC que crea una instantánea de todos los activos, herramientas, dependencias y pasos del proceso para cada versión de software en toda la organización.
  2. Gráfico de conocimiento para SDLC Intelligence: permite el análisis del impacto de nuevas vulnerabilidades, dependencias problemáticas o contribuyentes de código problemáticos en toda la cartera de proyectos utilizando gráficos de conocimiento.
  3. Identificación y priorización continua de vulnerabilidades: herramientas automatizadas para identificar y priorizar vulnerabilidades. 
  4. Monitoreo y mejora continuos: mecanismos de monitoreo continuo para detectar vulnerabilidades recientemente publicadas después del lanzamiento en toda la cartera de software de la organización.

Preparar la organización (PO)

La práctica de PO apunta al nivel organizacional. Las personas, los procesos y la tecnología están preparados para realizar un desarrollo de software seguro.

Diagrama

Scribe ayuda a abordar los controles de órdenes de compra a través de las siguientes funciones:

  1. Política como código (GitOps): la implementación de políticas de seguridad como código permite establecer barreras de seguridad consistentes en todo el SDLC. Esto se alinea con el énfasis del SSDF en integrar la seguridad en cada etapa del desarrollo de software.
  2. Cumplimiento de marcos como SLSA, SSDF PS e iniciativas personalizadas: hacer cumplir el cumplimiento de estos marcos garantiza que el desarrollo de software se alinee con estándares de seguridad reconocidos, lo que solidifica aún más el compromiso de la organización con el desarrollo de software seguro.
  3. Comunicación mejorada: facilitar la comunicación y la colaboración efectivas entre equipos basándose en datos de evidencia reales y KPI como una verdad común para garantizar que los requisitos de seguridad se comprendan bien y se integren en el proceso de desarrollo.
  4. Monitoreo y auditoría continuos: mecanismos de monitoreo y auditoría continuos para garantizar el cumplimiento continuo de las prácticas y políticas de seguridad.

Conclusión

Scribe Security es una plataforma para proteger las cadenas de suministro de software. Está diseñado para abordar todos los aspectos de seguridad relacionados con la protección de los artefactos de software y la fábrica de software. Permite una gestión de riesgos integral y holística de los productos de software entre organizaciones y puede actuar como un centro de confianza de software entre productores y consumidores de software. 

Scribe es también un medio de cumplimiento y soporta el marco SSDF. Permite el cumplimiento de otras mejores prácticas, como SLSA, estándares industriales específicos e iniciativas de organizaciones personalizadas. 

Diagrama

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.