DevSecOps trabalha a segurança da aplicação em todas as etapas de desenvolvimento, diminuindo os riscos de ela ser lançada com vulnerabilidade.
Uma aplicação moderna funciona da seguinte forma: o desenvolvimento acontece em ciclos para que o time de TI consiga lançá-la rapidamente no mercado. Como geralmente ela está alocada em um ambiente na nuvem, é possível atualizá-la com novos recursos e códigos facilmente.
Porém, se muitas organizações têm apostado nos DevOps e em uma metodologia ágil para inovar em menor tempo e ficar à frente da concorrência, um fator crucial tem ficado praticamente de fora.
Sim, a segurança geralmente não é prioridade no desenvolvimento de um aplicativo. No entanto, esse comportamento reativo das companhias pode ter consequências graves.
Então, se o mercado pede agilidade na construção de soluções, como garantir que a segurança estará presente em todas as etapas do projeto? Com o DevSecOps.
O conceito pode ser resumido como uma mudança de cultura nas empresas, em que a segurança de um sistema será testada, de forma automatizada, e atualizada em todas as fases de desenvolvimento.
Para explicar mais sobre o conceito, Bill Detwiler, do site TechRepublic, conversou com David Brumley, professor da Carnegie Mellon University e CEO da ForAllSecure, sobre DevSecOps e as maneiras como as empresas podem usar esse conceito.
O Mundo + Tech resumiu os principais destaques desta conversa abaixo.
Explicando o conceito de DevSecOps
Nas palavras de Brumley, DevSecOps é a “construção de um ótimo aplicativo enquanto os colaboradores são capacitados com a mentalidade de que a segurança é responsabilidade de todos.”
Quando um aplicativo é escrito da maneira tradicional, ele leva de 6 a 12 meses para ser lançado. Ao ser disponibilizado para os colaboradores ou clientes, o software já chega ao mercado desatualizado contra ameaças mais novas e sofisticadas.
Porém, custa tempo, recursos e dinheiro mapear em qual linha de código está a vulnerabilidade e disponibilizar uma atualização do aplicativo. Como destacou Brumley, a segurança “não é uma caixa de seleção [que você opta por ela] no final [do desenvolvimento da aplicação].”
Hoje, com muitas empresas adotando o DevOps e entregando projetos em dias ou poucas semanas, a segurança dos aplicativos e infraestruturas não pode mais estar no estágio final de desenvolvimento.
Quando ela é trabalhada desde o início, as equipes de desenvolvimento e operações encontrarão algumas vantagens. A primeira delas é a automação de alguns processos para evitar que a produtividade dos profissionais diminua caso precise retomar algum ciclo do projeto.
Isso vai acontecer porque o time de segurança estará integrado aos projetos, ajudando na construção da segurança da informação e na definição de um plano seguro na automação de processos.
Com as equipes integradas, todos poderão compartilhar feedbacks e insights sobre ameaças em potencial para aquela solução, promovendo treinamentos dos times e atualizações necessárias nos processos, assim como garantindo as melhores práticas de desenvolvimento.
Como criar essa mentalidade?
O primeiro passo para desenvolver uma cultura DevSecOps é justamente o fator humano. Os colaboradores devem entender os benefícios dessa mentalidade e das ferramentas que vão possibilitar a construção de um software seguro.
“As ferramentas são um facilitador. Portanto, à medida que os times atingem os ciclos de produção, você começa a pensar sobre qual tipo de ferramenta seria mais eficaz em cada fase”, comentou Brumley.
Com os times integrados, os colaboradores vão realizar um mapeamento do projeto. Quais ferramentas podem ser usadas para rastrear problemas no código? Em quais ambientes os dados estarão armazenados e em quais a aplicação será executada? Quais são as possíveis ameaças?
As respostas para essas perguntas vão possibilitar um maior controle da revisão de cada ciclo, permitindo acrescentar novos processos. Um exemplo é a revisão por pares. Se um único desenvolvedor é responsável em escrever o código de um software, ele pode deixar passar pontos cegos. Então, um terceiro entra para revisá-lo.
Outro ponto é a execução constante de testes de segurança. Antes, ao desenvolver uma aplicação, ela era executada em um ambiente de homologação para depois ser alocada no sistema que iria rodá-la.
Contudo, a infraestrutura desses dois ambientes é diferente, possibilitando que os times DevOps não encontrem falhas e vulnerabilidades. Ferramentas de segurança vão possibilitar testes nesses dois sistemas ao mesmo tempo, reduzindo a chance de erro e tempo para achá-lo.
Metodologia vai permitir respostas rápidas
Brumley destacou que não é preciso renovar todas as ferramentas de desenvolvimento e operações para uma empresa ser DevSecOps. “Elas são totalmente adequadas, como um sistema de detecção de intrusão, em que você pode operá-lo na camada de rede de uma aplicação.”
Ter as ferramentas certas nas camadas certas possibilita respostas rápidas a incidentes e outros eventos. A dica do CEO da ForAllSecure é “observar”. Em um gerenciamento de log, por exemplo, é possível saber o que está comprometido em uma aplicação e ter uma resposta ágil.
“Os gerenciamentos de log são vistos apenas como uma forma de monitorar o que a pessoa faz em uma aplicação. Porém, quando um incidente acontecer, você ficará muito feliz por tê-los.”
Nota da redação:
Atualmente, o desafio para muitas empresas é desenvolver sistemas em nuvem que utilizam microsserviços. Isso porque toda a estrutura vai envolver diversos níveis de comunicação entre as camadas de uma aplicação, dificultando o reconhecimento de uma vulnerabilidade e de onde ela está.
Por outro lado, uma aplicação gera um volume grande de dados, criando logs de toda interação entre ela e uma pessoa. Por isso, o gerenciamento de log permite que os times DevOps tenham visibilidade de toda a infraestrutura, permitindo encontrar e corrigir falhas de maneira mais ágil.
No vídeo abaixo (em inglês) você confere a entrevista completa com David Brumley:
Principais destaques desta matéria
- Empresas apostam em DevOps e metodologia ágil para desenvolver soluções.
- Mas a segurança das aplicações ainda é deixada de lado.
- Por isso, DevSecOps tem tido cada vez mais destaque nas organizações.
- Conceito vai trabalhar a segurança em todas as camadas e etapas de um projeto.