Looplex Learn

Segurança da informação - DevSecOps

Segurança da informação - DevSecOps

O DevSecOps incorpora automaticamente a segurança em todas as fases do ciclo de vida de desenvolvimento de software, permitindo o desenvolvimento de software seguro na velocidade do Agile e do DevOps.

O que é DevSecOps?

DevSecOps, abreviação de desenvolvimento, segurança e operações, automatiza a integração da segurança em todas as fases do ciclo de vida de desenvolvimento de software, desde o projeto inicial até a integração, teste, implementação e entrega de software.

O DevSecOps representa uma evolução natural e necessária na forma como as organizações de desenvolvimento abordam a segurança. No passado, a segurança era 'acrescentada' ao software no final do ciclo de desenvolvimento (quase como uma lembrança depois de tudo) por uma equipe de segurança separada, e testada por uma equipe de garantia de qualidade (QA) separada.

Isso era gerenciável quando as atualizações de software eram liberadas apenas uma ou duas vezes por ano. Mas, à medida que os desenvolvedores de software adotaram as práticas Agile e DevOps, com o objetivo de reduzir os ciclos de desenvolvimento de software para semanas ou até dias, a abordagem tradicional de segurança criou um gargalo inaceitável.

O DevSecOps integra a segurança de aplicação e infraestrutura perfeitamente em processos e ferramentas Agile e DevOps. Ele aborda os problemas de segurança à medida que surgem, quando são mais fáceis, rápidos e baratos de corrigir (e antes de serem colocados em produção).

Além disso, o DevSecOps torna a segurança de aplicativos e infraestrutura uma responsabilidade compartilhada das equipes de desenvolvimento, segurança e operações de TI, em vez da responsabilidade exclusiva de um silo de segurança. Ele oferece condições para seguir o lema DevSecOps, "software mais seguro e mais rápido", automatizando a entrega de software seguro sem desacelerar o ciclo de desenvolvimento de software.

Benefícios do DevSecOps

Os dois principais benefícios do DevSecOps são a velocidade e a segurança. As equipes de desenvolvimento entregam códigos melhores e mais seguros com mais rapidez e, portanto, mais baratos.

O objetivo e a intenção do DevSecOps é desenvolver a mentalidade de que todos são responsáveis pela segurança com o objetivo de distribuir de maneira confiável as decisões de segurança em velocidade e escala para aqueles que possuem o mais alto nível de contexto, sem sacrificar a segurança necessária”,

Shannon Lietz, coautor do “DevSecOps Manifesto”.

Entrega de software rápida e relação custo-benefício

Quando o software é desenvolvido em um ambiente não DevSecOps, os problemas de segurança podem levar a grandes atrasos. Corrigir o código e os problemas de segurança pode ser demorado e caro. A entrega rápida e segura de DevSecOps economiza tempo e reduz custos, minimizando a necessidade de repetir um processo para resolver problemas de segurança após o fato.

Isso se torna mais eficiente e econômico, pois a segurança integrada elimina revisões duplicadas e recompilações desnecessárias, resultando em um código mais seguro.

Segurança aprimorada e proativa

O DevSecOps apresenta processos de segurança cibernética desde o início do ciclo de desenvolvimento. Ao longo do ciclo de desenvolvimento, o código é revisado, auditado, verificado e testado quanto a problemas de segurança. Esses problemas são abordados assim que são identificados. Os problemas de segurança são corrigidos antes que dependências adicionais sejam introduzidas. Problemas de segurança tornam-se menos caras para corrigir quando a tecnologia protetora é identificada e implementada logo no início do ciclo.

Além disso, uma melhor colaboração entre as equipes de desenvolvimento, segurança e operações melhora a resposta de uma empresa a incidentes e problemas quando eles ocorrem. As práticas de DevSecOps reduzem o tempo para corrigir vulnerabilidades e liberam as equipes de segurança para se concentrarem em trabalhos de maior valor. Essas práticas também garantem e simplificam a conformidade, evitando que os projetos de desenvolvimento de aplicativos tenham que ser adaptados para segurança.

Correção de vulnerabilidade de segurança acelerada

Um benefício chave do DevSecOps é a rapidez com que ele gerencia vulnerabilidades de segurança recém-identificadas. Como o DevSecOps integra a varredura de vulnerabilidade e correção no ciclo de liberação, a capacidade de identificar e corrigir vulnerabilidades e exposições comuns (CVE) é diminuída.

Isso limita a janela que um ator de ameaça tem para aproveitar as vulnerabilidades em sistemas de produção voltados para o público.

Automação compatível com dev moderno

Os testes de segurança cibernética poderão ser integrados a um conjunto de testes automatizados para equipes de operações se uma organização usar integração contínua/pipeline de entrega contínua para enviar seu software.

A automação das verificações de segurança depende fortemente do projeto e das metas organizacionais. O teste automatizado pode garantir que as dependências de software incorporadas estejam em níveis de correção apropriados e confirmar se o software passa no teste da unidade de segurança. Além disso, ele pode testar e proteger o código com análise estática e dinâmica antes que a atualização final seja promovida para produção.

Processo repetível e adaptativo

Conforme as organizações amadurecem, suas posturas de segurança amadurecem também. O DevSecOps presta-se a processos repetíveis e adaptáveis. Isso garante que a segurança seja aplicada de maneira consistente em todo o ambiente, à medida que o ambiente muda e se adapta a novos requisitos. Uma implementação madura de DevSecOps terá uma automação sólida, gerenciamento de configuração, orquestração, contêineres, infraestrutura imutável e ambientes de computação sem servidor.

Melhores práticas para DevSecOps

O DevSecOps deve ser a incorporação natural de controles de segurança em seus processos operacionais, de desenvolvimento e de entrega.

Shift-left

'Shift left' é um mantra do DevSecOps: Ele incentiva os engenheiros de software a mover a segurança da direita (final) para a esquerda (início) do processo de DevOps (entrega). Em um ambiente DevSecOps, a segurança é parte integrante do processo de desenvolvimento desde o início. Uma organização que usa DevSecOps traz seus arquitetos e engenheiros de segurança cibernética como parte da equipe de desenvolvimento. Seu trabalho é garantir que cada componente e cada item de configuração na stack seja corrigido, configurado com segurança e documentado.

O shift left permite que a equipe de DevSecOps identifique os riscos e exposições de segurança com antecedência e garante que essas ameaças à segurança sejam tratadas imediatamente. A equipe de desenvolvimento não está apenas pensando em criar o produto de maneira eficiente, mas também implementando a segurança à medida que o desenvolve.

Educação de segurança

Segurança é uma combinação de engenharia e conformidade. As organizações devem formar uma aliança entre os engenheiros de desenvolvimento, equipes de operações e equipes de conformidade para garantir que todos na organização entendam a postura de segurança da empresa e sigam os mesmos padrões.

Todos os envolvidos no processo de entrega devem estar familiarizados com os princípios básicos de segurança de aplicativos, os dez primeiros projetos de segurança de aplicativos da web (OWASP), testes de segurança de aplicativos e outras práticas de engenharia de segurança. Os desenvolvedores precisam entender os modelos de encadeamento verificações de conformidade e ter um conhecimento prático de como medir riscos, exposição e implementar controles de segurança

Cultura: Comunicação, pessoas, processos e tecnologia

A boa liderança promove uma boa cultura que promove a mudança dentro da organização. É importante e essencial no DevSecOps comunicar as responsabilidades de segurança dos processos e propriedade do produto. Só então os desenvolvedores e engenheiros podem se tornar proprietários de processos e assumir a responsabilidade por seu trabalho.

As equipes de operações de DevSecOps devem criar um sistema que funcione para elas, usando as tecnologias e protocolos adequados à sua equipe e ao projeto atual. Ao permitir que a equipe crie o ambiente de fluxo de trabalho que atenda às suas necessidades, eles se tornam interessados no resultado do projeto.

Rastreabilidade, auditabilidade e visibilidade

Implementar a rastreabilidade, a auditabilidade e a visibilidade em um processo do DevSecOps leva a uma percepção mais profunda e um ambiente mais seguro:

  • rastreabilidade permite rastrear itens de configuração em todo o ciclo de desenvolvimento até onde os requisitos são implementados no código. Isso pode desempenhar um papel crucial na estrutura de controle da sua organização, pois ajuda a atingir a conformidade, reduzir bugs, garantir um código seguro no desenvolvimento de aplicativos e ajudar na manutenção do código.

  • auditabilidade é importante para garantir a conformidade com os controles de segurança. Os controles de segurança técnicos, procedimentais e administrativos precisam ser auditáveis, bem documentados e respeitados por todos os membros da equipe.

  • visibilidade é uma boa prática de gerenciamento em geral, mas muito importante para um ambiente de DevSecOps. Isso significa que a organização possui um sistema de monitoramento sólido para medir o ritmo da operação, enviar alertas, aumentar a conscientização sobre mudanças e ataques cibernéticos à medida que ocorrem e fornecer responsabilidade durante todo o ciclo de vida do projeto.

DevSecOps na Looplex

As organizações que usam as ferramentas e práticas DevSecOps criam uma base poderosa para a transformação digital e para a modernização de seus aplicativos, à medida que a necessidade de automação se amplia nos negócios e nas operações de TI.

Na Looplex nossa cultura SOA e estratégia operacional é na direção de sempre buscar o maior grau possível de automação, padronização e escalabilidade.

Para continuamente nos transformarmos, devemos começar com projetos pequenos e mensuráveis de sucesso, que ajustam a escala e otimizam para outros processos em outras partes da sua organização.

Para isso, usamos recursos de automação de serviços na nuvem, incluindo fluxos de trabalho pré-desenvolvidos internamente ou por outros vendors, para tornar cada processo de serviços de TI mais inteligente, liberando as equipes para se concentrarem nos problemas de TI mais importantes e acelerar a inovação.

Assim, os ciclos de liberação e interação dos times sempre tem de ficar mais curtos e escaláveis. Quando estamos falando de engenharia jurídica, nosso benchmark é com o que a própria equipe era capaz de entregar no passado, enquanto que para outras áreas de operações e desenvolvimento tentamos nos comparar com o estado da arte de eficiência no mercado de software.

E isso não é diferente para DevSecOps: adotamos um conjunto de ferramentas e serviços prontos para permitir entrega contínua segura, testes de segurança integrados e delivery pipelines nativos de cloud.

Divisão de responsabilidades

O gerenciamento de segurança da informação é uma responsabilidade não apenas da equipe de segurança da informação e infra, mas de toda a empresa.

devsecops1

Parte desse material foi feito a partir do artigo de DevSecOps da IBM

Edit this page on GitHub