Compreender DevSecOps

Concluído

A adoção da nuvem continua a acelerar à medida que as organizações buscam dar suporte à produtividade dos negócios, habilitar o trabalho remoto e dimensionar as operações com eficiência. 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 em aplicativos de nuvem

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

Lacunas de criptografia: Muitos aplicativos de nuvem não conseguem proteger corretamente os dados:

  • Dados em repouso: Bancos de dados não criptografados, contas de armazenamento e sistemas de arquivos deixam os dados vulneráveis quando a mídia de armazenamento é acessada, roubada ou descartada incorretamente.
  • Dados em trânsito: Aplicativos que transmitem dados por conexões não criptografadas expõem informações à interceptação. Até mesmo o tráfego de rede interno deve ser criptografado.
  • Lacunas comuns: Porcentagens significativas de aplicativos SaaS não criptografam dados adequadamente. Os aplicativos de armazenamento geralmente não têm criptografia em repouso e em trânsito. Aplicativos de colaboração frequentemente transmitem informações confidenciais sem a 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 (Política de Segurança de Conteúdo) e atributos de cookie seguro deixam as sessões vulneráveis ao sequestro.
  • Exposição de token: Tokens de sessão transmitidos de forma insegura podem ser interceptados e reutilizados por invasores para representar usuários legítimos.
  • Adoção limitada: Pouquíssimos 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 é DevOps Seguro (DevSecOps)

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

Problemas tradicionais de abordagem de segurança: Quando as preocupações com a segurança são resolvidas apenas no final do ciclo de desenvolvimento, vários problemas surgem:

  • O trabalho não planejado é exibido antes da implantação quando as equipes estão sob pressão para serem lançadas.
  • Os problemas de segurança tardiamente descobertos exigem um retrabalho caro das funcionalidades concluídas.
  • A segurança se torna um gargalo que atrasa ou bloqueia lançamentos.
  • As equipes veem a segurança como um obstáculo em vez de um habilitador.
  • Vulnerabilidades críticas de segurança podem ser despriorizadas devido a pressões de liberação.

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

Diagrama Venn mostrando os círculos de DevOps e Segurança sobrepostos, com a interseção nomeada DevOps Seguro, representando práticas de segurança integradas.

Benefícios da integração: Um pipeline do Secure DevOps permite que as equipes de desenvolvimento trabalhem rapidamente sem interromper seu projeto introduzindo vulnerabilidades de segurança indesejadas. Segurança e velocidade tornam-se complementares em vez de metas opostas.

Nota

O Secure DevOps também às vezes é conhecido como DevSecOps. Você pode encontrar ambos os termos, mas cada um se refere ao mesmo conceito. A diferença de terminologia é puramente estilística. As práticas e os princípios permanecem idênticos.

Como a segurança muda no Secure DevOps

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

  • Controle de acesso: Gerenciando quem pode acessar sistemas e dados por meio de mecanismos de autenticação e autorização.
  • Proteção do ambiente: Configurar sistemas para remover serviços desnecessários, aplicar patches de segurança e impor configurações seguras.
  • Proteção de perímetro: Usando firewalls, sistemas de detecção de intrusão e segmentação de rede para proteger o limite de rede.

Escopo de segurança expandido: O Secure DevOps inclui essas metodologias de segurança tradicionais, mas estende as preocupações de segurança em todo o ciclo de vida de desenvolvimento de software. Com o Secure DevOps, a segurança é sobre proteger o pipeline em si e tudo o que flui por ele.

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

  • Repositórios de código-fonte.
  • Criar servidores e agentes.
  • Armazenamento de artefatos e registros.
  • Ferramentas e processos de implantação.
  • Modelos de infraestrutura como código.
  • Sistemas de gerenciamento de configuração.
  • Soluções de gerenciamento de segredos.

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

Principais perguntas que o DevOps seguro aborda

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

Segurança de componentes de terceiros:

  • Meu pipeline está consumindo componentes de terceiros? E eles são seguros?
  • Esses componentes vêm de fontes confiáveis?
  • As assinaturas de componente são verificadas?
  • As licenças são compatíveis com nosso uso?

Gerenciamento de vulnerabilidades:

  • Há vulnerabilidades conhecidas em qualquer um dos softwares de terceiros que usamos?
  • Como monitorar as divulgações de vulnerabilidade para nossas dependências?
  • Qual é o nosso processo para atualizar componentes vulneráveis?
  • Temos um inventário de todas as dependências, incluindo as transitivas?

Velocidade de detecção (tempo para detectar):

  • Com que rapidez posso detectar vulnerabilidades?
  • As verificações de segurança são automatizadas no pipeline?
  • Temos monitoramento de runtime para problemas de segurança?
  • Quão rápido os alertas de segurança alcançam as pessoas certas?

Velocidade de correção (tempo para correção):

  • Com que rapidez posso corrigir as vulnerabilidades identificadas?
  • Podemos implantar correções por meio do mesmo fluxo de trabalho automatizado?
  • Qual é o nosso processo para patches de segurança de emergência?
  • Como verificar se a correção é eficaz?

Segurança como código

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

Automação de segurança de infraestrutura:

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

Automação de segurança do aplicativo:

  • Teste de segurança de aplicativo estático (SAST) durante builds.
  • Teste dinâmico de segurança de aplicativo (DAST) em ambientes de preparo.
  • Análise de composição de software para vulnerabilidades de dependência.
  • Verificação de imagem de contêiner antes da implantação.
  • Proteção auto-administrada de aplicações 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 em 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 atrasar a entrega.