Entenda o DevSecOps

Concluído

A adoção da nuvem continua a acelerar à medida que as organizações procuram apoiar a produtividade empresarial, permitir o trabalho remoto e escalar as operações de forma eficiente. No entanto, essa rápida adoção sem infraestrutura de segurança adequada pode comprometer inadvertidamente os dados e expor as organizações a riscos significativos.

A lacuna de segurança nas aplicações na nuvem

As lacunas de segurança persistem mesmo com o crescimento da adoção da nuvem. As organizações que migram para plataformas de nuvem nem sempre implementam controles de segurança apropriados:

Lacunas de encriptação: Muitas aplicações na nuvem não protegem adequadamente os dados:

  • Dados em repouso: Bancos de dados, contas de armazenamento e sistemas de arquivos não criptografados deixam os dados vulneráveis quando a mídia de armazenamento é acessada, roubada ou descartada indevidamente.
  • Dados em trânsito: As aplicações que transmitem dados através de ligações não encriptadas expõem as informações à interceção. Até mesmo o tráfego de rede interno deve ser criptografado.
  • Lacunas comuns: Percentagens significativas de aplicações SaaS não encriptam dados adequadamente. Os aplicativos de armazenamento geralmente não têm criptografia em repouso e em trânsito. Os aplicativos de colaboração frequentemente transmitem informações confidenciais sem proteção adequada.

Deficiências de proteção de sessão: O gerenciamento de sessão fraco cria vulnerabilidades:

  • Cabeçalhos de segurança HTTP ausentes: Aplicativos que não implementam cabeçalhos de segurança como HSTS (HTTP Strict Transport Security), CSP (Content Security Policy) e atributos de cookie seguro deixam as sessões vulneráveis a sequestro.
  • Exposição ao token: Os tokens de sessão transmitidos de forma insegura podem ser intercetados e reutilizados por invasores para se passar por usuários legítimos.
  • Adoção limitada: Muito poucos aplicativos SaaS implementam proteção abrangente de sessão de cabeçalho HTTP, deixando os usuários vulneráveis a ataques baseados em sessão.

O que é Secure DevOps (DevSecOps)

A tensão entre velocidade e segurança: O DevOps enfatiza o trabalho mais rápido por meio de automação, integração contínua e implantação rápida. A segurança tradicionalmente enfatiza o rigor, a revisão cuidadosa e os testes abrangentes. Estes objetivos podem parecer contraditórios.

Problemas tradicionais da abordagem de segurança: Quando as preocupações de segurança são abordadas apenas no final do ciclo de desenvolvimento, surgem várias questões:

  • O trabalho não planejado aparece logo antes da implantação, quando as equipes estão sob pressão para liberar.
  • Os problemas de segurança detetados tardiamente exigem um retrabalho dispendioso das funcionalidades concluídas.
  • A segurança torna-se um gargalo que retarda ou bloqueia as liberações.
  • As equipas vêem a segurança como um obstáculo e não como um facilitador.
  • Vulnerabilidades críticas de segurança podem ser despriorizadas devido a pressões de liberação.

A solução Secure DevOps: O Secure DevOps integra a segurança com as práticas de DevOps em um conjunto coeso de atividades projetadas para atender aos objetivos de velocidade e eficácia de segurança do DevOps. A segurança torna-se parte do processo de desenvolvimento desde o início, em vez de uma porta no final.

Diagrama de Venn mostrando o círculo de DevOps e o círculo de Segurança sobrepostos, com a interseção rotulada Secure DevOps representando práticas de segurança integradas.

Benefícios da integração: Um pipeline de DevOps seguro permite que as equipes de desenvolvimento trabalhem rapidamente sem interromper seus projetos, introduzindo vulnerabilidades de segurança indesejadas. Segurança e velocidade tornam-se complementares, em vez de objetivos opostos.

Observação

O Secure DevOps também é por vezes referido como DevSecOps. Você pode encontrar os dois termos, mas cada um se refere ao mesmo conceito. A diferença terminológica é puramente estilística. As práticas e os princípios permanecem idênticos.

Como a segurança muda no Secure DevOps

Metodologias tradicionais de segurança: Historicamente, a segurança operava em ciclos mais lentos e concentrava-se principalmente em:

  • Controlo de acessos: Gerir quem pode aceder a sistemas e dados através de mecanismos de autenticação e autorização.
  • Endurecimento do ambiente: Configurar sistemas para remover serviços desnecessários, aplicar patches de segurança e impor configurações seguras.
  • Proteção perimetral: Usando firewalls, sistemas de deteção de intrusão e segmentação de rede para proteger o limite da rede.

Âmbito de segurança alargado: O Secure DevOps inclui essas metodologias de segurança tradicionais, mas estende as preocupações de segurança por todo o ciclo de vida de desenvolvimento de software. Com o Secure DevOps, a segurança consiste em proteger o pipeline em si e tudo o que flui através dele.

Foco na segurança do pipeline: O Secure DevOps envolve determinar onde adicionar proteção aos elementos que se conectam aos seus pipelines de compilação e lançamento:

  • Repositórios de código-fonte.
  • Crie servidores e agentes.
  • Armazenamento e registos de artefactos.
  • Ferramentas e processos de implantação.
  • Infraestrutura como modelos de código.
  • Sistemas de gestão de configuração.
  • Soluções de gestão de segredos.

Abordagem global: O Secure DevOps mostra como e onde adicionar segurança às suas práticas de automação, ambientes de produção e outros elementos de pipeline, mantendo os benefícios de velocidade do DevOps. Os controlos de segurança são automatizados e integrados, em vez de manuais e separados.

Principais perguntas que o Secure DevOps aborda

O Secure DevOps ajuda as organizações a responder a perguntas críticas de segurança:

Segurança de componentes de terceiros:

  • A minha linha de produção está a consumir componentes de terceiros e são eles seguros?
  • Esses componentes vêm de fontes confiáveis?
  • As assinaturas dos componentes são verificadas?
  • As licenças são compatíveis com a nossa utilização?

Gestão de vulnerabilidades:

  • Existem vulnerabilidades conhecidas em algum dos softwares de terceiros que usamos?
  • Como rastreamos as divulgações de vulnerabilidades para nossas dependências?
  • Qual é o nosso processo de atualização de componentes vulneráveis?
  • Temos um inventário de todas as dependências, incluindo as transitivas?

Velocidade de deteção (tempo para detetar):

  • Com que rapidez posso detetar vulnerabilidades?
  • As verificações de segurança são automáticas no fluxo de trabalho?
  • Temos monitoramento de tempo de execução para problemas de segurança?
  • Com que rapidez os alertas de segurança chegam às pessoas certas?

Velocidade de remediação (tempo de remediação):

  • Com que rapidez posso corrigir as vulnerabilidades identificadas?
  • Podemos implantar correções através do mesmo pipeline automatizado?
  • Qual é o nosso processo para patches de segurança de emergência?
  • Como verificamos se a remediação é eficaz?

Segurança como código

Práticas de segurança automatizadas: As práticas de segurança para detetar possíveis anomalias de segurança devem ser tão robustas e rápidas quanto outras partes do seu pipeline de DevOps. Isto inclui:

Automação da segurança da infraestrutura:

  • Varredura de segurança automatizada da infraestrutura como modelos de código.
  • Imposição de política como código para configurações de recursos na nuvem.
  • Verificação de conformidade antes da implantação da infraestrutura.
  • Monitorização contínua da postura de segurança da infraestrutura.

Automação de segurança de aplicativos:

  • Teste estático de segurança de aplicativos (SAST) durante compilações.
  • Teste dinâmico de segurança de aplicativos (DAST) em ambientes de preparação.
  • Análise de composição de software para vulnerabilidades de dependência.
  • Verificação de imagem de contêiner antes da implantação.
  • Autoproteção de aplicativos em tempo de execução (RASP) em produção.

Segurança contínua: A segurança no Secure DevOps não é um único ponto de verificação. É uma validação contínua durante todo o desenvolvimento, implantação e operação. Cada estágio do pipeline inclui controles de segurança apropriados que são executados automaticamente sem retardar a entrega.