Segurança de Aplicação

Promovendo um ambiente colaborativo entre Segurança e Desenvolvimento

É possível criar um ambiente colaborativo entre segurança e desenvolvimento? Considere este cenário:

Programador sênior, 15 anos de experiência, desenvolve uma aplicação de acordo com as especificações do cliente. Ele entrega o software e diz que está tudo rodando perfeitamente. Então é encaminhado para o time de segurança e o analista de lá verifica e diz que um terço desse código está errado e que precisa refazer.

Você também pode ouvir esse conteúdo:

Imagine a frustração e o desconforto desse desenvolvedor, que reluta em argumentos, mas sem retornos positivos. Consegue enxergar algum tipo de ambiente colaborativo entre segurança e desenvolvimento nessa cena ou apenas duas pessoas medindo forças?

No entanto, não precisamos aqui discorrer narrativas para descobrir quem tem razão. As equipes de segurança e de desenvolvimento têm objetivos distintos, mas complementares, e trabalhar juntas pode resultar em soluções mais eficazes e seguras.

Criação de uma Cultura que respira segurança

Para promover um ambiente colaborativo eficaz, é importante criar uma cultura de segurança, confiança e respeito mútuo. As equipes devem compreender as necessidades e desafios do outro grupo e trabalhar juntas para alcançar objetivos comuns, mantendo uma comunicação clara e aberta, permitindo que todas as partes compartilhem ideias, soluções e preocupações.

Além disso, é importante fornecer treinamento e recursos para que ambas as equipes possam aprimorar suas habilidades e compreender melhor as melhores práticas em segurança e desenvolvimento. Isso também inclui o uso de ferramentas de automação, como verificações de segurança durante o processo de compilação e o uso de práticas de codificação segura para garantir a segurança do código.

E é com o apoio de um Security Champion, que as equipes ganham uma espécie de conciliador dos dois mundos, que incentiva e ajuda a criar essa nova atmosfera, guiando a uma mudança de cultura, onde a segurança será inserida de maneira orgânica.

Segurança com times unidos

Em um ambiente não colaborativo, a equipe de segurança atua de forma reativa e intervém apenas no final do ciclo de vida do software, após o desenvolvimento ter sido concluído. Isso geralmente leva a atrasos e retrabalho, além de aumentar os custos. 

Em 2017, o ataque cibernético à Equifax expôs informações confidenciais de mais de 140 milhões de clientes. Foi constatado que a falha de segurança ocorreu devido a uma vulnerabilidade em um software de terceiros que a Equifax utilizava, mas que não foi corrigida a tempo. Isso poderia ter sido evitado, se o trabalho colaborativo, desde o início do desenvolvimento, estivesse presente.

Neste caso, se a equipe de segurança da Equifax tivesse adotado o SBOM (Software Bill of Materials), eles teriam em mãos as informações de segurança sobre vulnerabilidades conhecidas, direcionaria aos desenvolvedores para fazer as correções disponíveis para as versões dos componentes listados, então o ataque poderia não ter acontecido.

Uma abordagem colaborativa permite que os desenvolvedores considerem a segurança desde o início do processo de desenvolvimento, incorporando medidas de segurança nos requisitos e no design do software, o chamado DevSecOps. Além disso, os profissionais de segurança podem fornecer feedback valioso sobre possíveis vulnerabilidades durante as fases de teste e implantação.

Agora vamos pensar nesta cena: o analista de segurança se reúne com o desenvolvedor e fala “Vamos analisar juntos… essa parte do código pode ser implementada assim… porque você deixa seu código menos vulnerável, por exemplo, na linha 15 do código, você usou Math.random, que gera uma senha aleatória para o cliente e isso é inseguro porque pode produzir números aleatórios que não são seguros para uso como senhas. A biblioteca crypto oferece métodos mais seguros para gerar senhas aleatórias, como crypto.randomBytes.

O desenvolvedor vai ficar bem mais confiante, contente e ainda vai aprender com o analista.

OWASP SAMM como modelo para práticas de segurança

O OWASP SAMM é um framework que oferece uma abordagem estruturada para incorporar práticas de segurança em todas as fases do ciclo de vida do software, desde a concepção até a implantação. Ele divide a jornada da segurança do software em duas dimensões: maturidade e práticas.

A maturidade reflete o grau de maturidade da organização em relação à incorporação de práticas de segurança no processo de desenvolvimento de software e as práticas são categorias de atividades relacionadas à segurança do software que as organizações devem implementar. E o Security Champion irá ajudar a disseminar a cultura AppSec dentro da empresa com a utilização desse framework.

Utilizando a Conviso Platform para um ambiente colaborativo

Nesse sentido, muitas empresas parceiras utilizam a Conviso Platform para melhorar a segurança das suas aplicações, permitindo que as equipes de Segurança e Desenvolvimento trabalhem juntas para identificar e corrigir vulnerabilidades de segurança ao longo do processo de desenvolvimento.

A Conviso Platform ajuda a integrar a segurança de forma proativa em todo o processo de desenvolvimento, permitindo que a equipe de segurança possa realizar uma modelagem de ameaças, revisar o código fonte e aplicar testes de segurança de forma mais eficiente e rápida.

Como resultado, as empresas podem não apenas melhorar a segurança de suas aplicações, mas também agilizar seu processo de desenvolvimento, reduzindo o risco de incidentes de segurança e minimizando os custos e esforços necessários para corrigi-los. (Figura 1).

Figura 1: Descrição da vulnerabilidade identificada através de SAST (Static Application Security Testing)

Além disso, juntamente com a Conviso Platform, a empresa também pode utilizar o OWASP SAMM (Software Assurance Maturity Model) como referência para criar suas políticas de segurança e definir as diretrizes para as equipes de segurança e desenvolvimento, garantindo a colaboração e comunicação entre as equipes ao longo do processo de desenvolvimento.

Criando um ambiente colaborativo entre Segurança e Desenvolvimento

Por fim, uma abordagem colaborativa entre segurança e desenvolvimento pode resultar em soluções mais eficazes e seguras, além de uma cultura organizacional mais forte e integrada. Ao trabalhar juntas, as equipes podem ajudar a garantir a segurança dos sistemas e aplicações, proteger a privacidade dos usuários e manter a disponibilidade dos serviços, assegurando assim a confiança dos clientes e dos usuários.  Os benefícios dessa abordagem colaborativa são claros: risco reduzido de incidentes de segurança, maior eficiência e produtividade e maior confiança e satisfação do cliente. 

Colaboração é a chave para uma mudança de cultura eficiente.

Nova call to action
About author

Articles

Engenheira da computação, Luciene é uma profissional de segurança da informação que atua como Consultora em AppSec. Já foi oficial das forças armadas, com quase 15 anos de experiência na área de TI (infraestrutura, suporte, GRC) e pós-graduações em engenharia da computação, defesa cibernética e MBA em gerenciamento de projetos de TI.
Related posts
Segurança de Aplicação

Secure by Design em ASPM - Entenda como as ferramentas se integram nesse processo

Em um momento onde continuamos a ver problemas de vazamentos de dados e vulnerabilidades em…
Read more
Segurança de Aplicação

Nova CVE-2023-4314 identificada em plugin do WordPress

Neste artigo, vamos analisar um estudo de caso de uma CVE encontrada em um plugin do WordPress…
Read more
Segurança de Aplicação

Mitigação de Vulnerabilidades: Elevando a Segurança no Desenvolvimento de Software

No cenário digital em constante evolução, a importância da segurança de software não pode ser…
Read more

Deixe um comentário