Equipes de segurança precisam entender as etapas de desenvolvimento
Colaborar, compartilhar, interagir… Esses conceitos são fundamentais para o sucesso dos negócios. E a parceria entre os times de segurança e as equipes de desenvolvimento de softwares é o que irá alinhar as entregas de TI com as necessidades dos usuários, criando valor para o negócio. Mas, para que esse diálogo seja produtivo, é preciso que as equipes de segurança entendam as etapas de desenvolvimento, ao mesmo tempo em que os desenvolvedores oferecem ferramentas para que vulnerabilidades possam ser detectadas, gerando um ambiente realmente interativo e colaborativo.
Equipes de segurança entendem os riscos associados ao GoLive de aplicações vulneráveis, mas nem sempre conhecem as suas etapas de desenvolvimento, e precisam colaborar para que os times de desenvolvimento possam criar aplicativos seguros e solucionar os problemas já identificados.
Com isso, entender como as equipes de desenvolvimento trabalham e conhecer as ferramentas que usam para atingir seus objetivos é fundamental para uma melhor interação entre os times.
Processos automatizados
Em primeiro lugar, responsáveis pela segurança precisam saber como os desenvolvedores monitoram o fluxo de trabalho. Sistemas automatizados gerenciam os diversos tipos de tarefas que os desenvolvedores precisam cumprir – novas funcionalidades, bugs, análise do desempenho – e permitem identificar o responsável por cada tarefa, prazos e acompanhar os projetos.
Nessa etapa de desenvolvimento, a grande diferença entre as duas equipes é que enquanto a de segurança está preocupada com vulnerabilidades, a outra está preocupada com bugs. E se a primeira não contar com uma plataforma de gestão de risco e compliance, como o GAT, e endereçar as vulnerabilidades em planilhas, com processos manuais, a distância entre as equipes será ainda maior.
As equipes de segurança podem apresentar as vulnerabilidades que mais os preocupam como defeitos ou solicitações de mudança de requisitos que serão rastreados pelos desenvolvedores. E como eles trabalham a maior parte do tempo em IDEs (Integrated Development Environment – Ambientes de Desenvolvimento Integrado), se puderem rastrear as vulnerabilidades nos códigos e receber orientação sobre como solucioná-las sem deixar esse ambiente, poderão fazer as correções mais rapidamente.
Equipes de Segurança e Agilidade nos testes
Equipes de desenvolvedores que adotam a metodologia Agile e práticas de DevOps à medida que o ritmo de desenvolvimento e de entrega se intensifica, precisam ser capazes de testar rapidamente novas versões de software para ter certeza de que as mudanças recentes não interferem nas funcionalidades desenvolvidas anteriormente. Testes automatizados validam a qualidade de funções de códigos e permitem que os desenvolvedores adicionem novas funcionalidades e alterem outras mantendo a confiança de que as mudanças não quebraram o aplicativo.
Outras ferramentas automatizadas utilizadas pelos desenvolvedores são as que coordenam processos de integração contínua, implantação e entrega. As equipes de segurança podem aproveitar essa automação das etapas de desenvolvimento para implementar testes de segurança e fornecer feedback em tempo real sobre possíveis problemas de segurança.
Além disso, entre as métricas implantadas pelos desenvolvedores – como o tempo requerido para remediação de bugs – equipes de segurança podem incluir métricas voltadas para o seu setor junto com as que medem a qualidade.
Com tudo isso, fica provado que vale o esforço para entender mais as etapas de desenvolvimento e alinhar as expectativas sobre entregas e segurança.