Como manter os padrões de segurança no SDLC e atender aos requisitos do SSDF

Todas as mensagens

A Estrutura de Desenvolvimento de Software Seguro (SSDF), também conhecido como NIST SP800-218, é um conjunto de diretrizes desenvolvidas pelo NIST em resposta à Ordem Executiva 14028, que se concentra em melhorar a postura de segurança cibernética dos Estados Unidos, particularmente no que diz respeito à segurança da cadeia de fornecimento de software. 

SSDF é uma estrutura de práticas recomendadas, não um padrão. Embora seja particularmente relevante para organizações que desenvolvem software para o governo dos EUA, o SSDF beneficia qualquer organização de desenvolvimento de software. 

Este artigo analisa as quatro práticas SSDF e explica como utilizar Segurança do escriba para ajudar a implementá-los, fornecendo ferramentas para permitir que pessoas e processos mantenham os padrões de segurança no SDLC.

Scribe Security é uma plataforma para proteger cadeias de fornecimento de software.

Proteja o software (PS)

A prática PS aborda a ameaça a todos os componentes de software de adulteração e acesso não autorizado. Os controles PS visam garantir a segurança do software durante todo o seu ciclo de vida de desenvolvimento. Isso inclui proteger todas as formas de código, verificar a integridade da versão do software e arquivar e proteger cada versão do software.

Diagrama

O Scribe ajuda a lidar com os controles PS pelos seguintes recursos:

  1. Assinatura de código-fonte e artefatos de construção: Isso ajuda a garantir a integridade e a autenticidade do código e dos artefatos de construção, alinhando-se com a ênfase do SSDF na proteção do código contra acesso não autorizado e adulteração. A assinatura contínua de código durante todo o processo de desenvolvimento ajuda a garantir que a integridade das versões de software não foi violada.
  2. Rastreamento de Proveniência: Monitoramento da origem e do histórico de componentes de software para fornecimento seguro, ajudando a proteger o software contra vulnerabilidades que surgem de componentes comprometidos.
  3. Monitorando a integridade do software durante o SDLC: verificações contínuas de integridade em todo o SDLC impedem possíveis invasores nas ferramentas e pipelines de desenvolvimento.
  4. Cadeias de ferramentas de segurança automatizadas: a implementação de cadeias de ferramentas que automatizam aspectos do processo de segurança pode reduzir erros humanos e garantir a aplicação consistente de práticas de segurança.  
  5. Critérios para verificações de segurança de software: Definir e utilizar critérios para verificar a segurança do software durante o seu desenvolvimento é crucial para garantir a conformidade com os padrões organizacionais e identificar potenciais vulnerabilidades.  
  6. Ambientes de desenvolvimento seguros: Manter ambientes seguros de desenvolvimento, construção e teste é vital para evitar vulnerabilidades e proteger o processo de desenvolvimento de software.
  7. Aplique políticas para controles de acesso ao código-fonte, ferramentas de desenvolvimento e registros de artefatos de software: Restringir o acesso a usuários autorizados pode impedir o uso não autorizado e a adulteração.

Produza software bem protegido (PW) 

A prática PW aborda vulnerabilidades introduzidas no software em todo o SDLC. Inclui projetar software para atender aos requisitos de segurança, revisar projetos para conformidade, reutilizar código seguro, configurar processos de construção para segurança e testar código executável em busca de vulnerabilidades.

Diagrama

O Scribe ajuda a lidar com os controles PW por meio dos seguintes recursos:

  1. Análise de composição de software (SCA): identificação e gerenciamento de componentes de código aberto e de terceiros para mitigar riscos associados a dependências de software.
  2. Inteligência de vulnerabilidade e reputação: Monitoramento contínuo de vulnerabilidades e avaliação da reputação de componentes de software para garantir confiabilidade.
  3. Análise de Risco: Avaliar e monitorar riscos potenciais de segurança e licença associados a dependências de código aberto, gerenciando lista de materiais de software (SBOMs) e avisos de Vulnerability Exploitability eXchange (VEX).
  4. Coleta de evidências relacionadas à segurança do SDLC: análise de dados em todo o SDLC para gerenciamento informado de riscos.
  5. Políticas de desenvolvimento seguro: codificação de diretrizes para processos e procedimentos de desenvolvimento de software e medição de KPIs entre equipes e projetos de desenvolvimento de software.

Responder a vulnerabilidades (RV)

A prática de RV envolve identificar vulnerabilidades residuais em versões de software e responder adequadamente. A RV envolve a resolução de vulnerabilidades, a mitigação ou o fornecimento de aconselhamento às partes interessadas.

Diagrama

Scribe ajuda a lidar com os controles de RV por meio dos seguintes recursos:

  1. Coleta de evidências do SDLC: coleta de metadados em todo o SDLC que cria um instantâneo de todos os ativos, ferramentas, dependências e etapas do processo para cada versão de software em toda a organização.
  2. Gráfico de conhecimento para SDLC Intelligence: permite a análise do impacto de novas vulnerabilidades, dependências problemáticas ou contribuidores de código problemáticos em todo o portfólio de projetos usando gráficos de conhecimento.
  3. Identificação e priorização contínua de vulnerabilidades: ferramentas automatizadas para identificar e priorizar vulnerabilidades. 
  4. Monitoramento e Melhoria Contínuos: mecanismos de monitoramento contínuo para detectar vulnerabilidades recém-publicadas pós-lançamento em todo o portfólio de software da organização.

Preparar a Organização (PO)

A prática do PO visa o nível organizacional. Pessoas, processos e tecnologia estão preparados para realizar o desenvolvimento seguro de software.

Diagrama

O Scribe ajuda a lidar com os controles de PO por meio dos seguintes recursos:

  1. Política como código (GitOps): a implementação de políticas de segurança como código permite proteções consistentes para segurança em todo o SDLC. Isto está alinhado com a ênfase do SSDF na incorporação da segurança em todas as fases do desenvolvimento de software.
  2. Conformidade com estruturas como SLSA, SSDF PS e iniciativas personalizadas: impor a conformidade com essas estruturas garante que o desenvolvimento de software esteja alinhado com padrões de segurança reconhecidos, solidificando ainda mais o compromisso da organização com o desenvolvimento seguro de software.
  3. Comunicação aprimorada: Facilitar a comunicação e a colaboração eficazes entre as equipes com base em dados de evidências reais e KPIs como uma verdade comum para garantir que os requisitos de segurança sejam bem compreendidos e integrados ao processo de desenvolvimento.
  4. Monitoramento e Auditoria Contínuos: mecanismos de monitoramento e auditoria contínuos para garantir a adesão contínua às práticas e políticas de segurança.

Conclusão

Scribe Security é uma plataforma para proteger cadeias de fornecimento de software. Ele foi projetado para abordar todos os aspectos de segurança da proteção dos artefatos de software e da fábrica de software. Ele permite o gerenciamento abrangente e holístico de riscos de produtos de software entre organizações e pode atuar como um centro de confiança de software entre produtores e consumidores de software. 

Scribe também é um meio de conformidade e apoia a estrutura SSDF. Ele permite a conformidade com outras práticas recomendadas, como SLSA, padrões específicos do setor e iniciativas de organizações personalizadas. 

Diagrama

Este conteúdo é oferecido a você pela Scribe Security, um fornecedor líder de soluções de segurança de cadeia de suprimentos de software ponta a ponta – fornecendo segurança de última geração para artefatos de código e processos de desenvolvimento e entrega de código em todas as cadeias de suprimentos de software. Saiba mais.