Segurança de Aplicação

DevSecOps: Criando uma Cultura de Segurança em Equipes de Desenvolvimento

“O time de AppSec envia um monte de controles de segurança para implementar em uma semana. Será que eles não entendem que temos outras demandas para entregar?” “O pessoal de desenvolvimento não prioriza a segurança!” Essas e outras frases são feedbacks comuns quando não há uma cultura de segurança de aplicações madura. Como mudar essa realidade? Vamos explorar algumas estratégias que podem ajudar na implementação efetiva da cultura DevSecOps.

O que é cultura?

Uma cultura forte é essencial para o desenvolvimento da maturidade em AppSec. Não importa quão boa seja sua estratégia para implementar práticas de segurança de aplicação, ela falhará sem uma cultura forte que encoraje a prática dessas estratégias. Segundo Kegan & Lahey (2016), uma cultura é um conjunto de rotinas e práticas sustentadas por uma linguagem única e ancoradas em suposições profundas sobre o mundo. No nosso contexto, isso significa quebrar os pontos de fricção entre os times. A cultura de segurança de aplicações visa tornar a segurança natural em todas as fases do ciclo de desenvolvimento de software (Custódio, 2022).

DevOps e DevSecOps

DevOps, cunhado por Jez Humble e Patrick Debois em 2011, incentiva os desenvolvedores a terem uma visão holística dos projetos, eliminando silos e aproximando equipes. Com os avanços tecnológicos, as preocupações com segurança aumentaram, levando à integração das práticas de AppSec na cultura DevOps, transformando o SDLC tradicional em S-SDLC (Secure Software Development Life Cycle), nascendo assim o conceito DevSecOps.

Cultura de Segurança em Equipes de Desenvolvimento

Foco nas pessoas

O primeiro passo para consolidar a cultura são as pessoas. Sem o investimento no senso de responsabilidade de todos no S-SDLC, a falha é inevitável. Conforme pesquisas recentes do Gartner (2023), as equipes de desenvolvimento focam em requisitos funcionais, mas carecem de consciência sobre práticas de codificação segura. A construção de um processo de conscientização ativa é crucial:

  1. Educar os desenvolvedores sobre os riscos e impactos relacionados a introduzir vulnerabilidades, por meio de iniciativas de treinamento ativo de boas práticas de codificação segura.
  2. Correlacionar a importância das diferentes ferramentas que integram o S-SDLC com o dia a dia do desenvolvedor.
  3. Introduzir práticas gradualmente, adaptando-as aos diferentes contextos e fases do ciclo de desenvolvimento

Por exemplo, a prática de modelagem de ameaças pode ser adaptada considerando cada fase do ciclo. Na etapa de design, o arquiteto pode utilizar uma metodologia tradicional como a cunhada pela Microsoft. Durante a fase de implementação, o time de desenvolvimento visa levantar ameaças no contexto das histórias que serão trabalhadas na sprint atual. Por fim, na etapa de verificação, o time de segurança pode complementar a atividade por meio da metodologia Attack tree para guiar a execução dos pentests. 

Facilitar a Visualização e Entendimento dos Processos de S-SDLC

Ferramentas são cruciais em uma esteira DevOps, automatizando e ajudando na identificação de falhas de segurança. No entanto, a adoção de ferramentas sem conscientização pode aumentar silos e fricções. Todos devem compreender a importância de cada ferramenta e como elas auxiliam no seu contexto. Soluções como ASPM (Application Security Posture Management) podem ser aliadas na gestão contínua dos riscos relacionados às aplicações.

Roadmap de implementação

Para guiar na implementação das práticas de AppSec, apresentamos um roadmap: 

  • Programa de Security Champions (SC) –  A implementação desses conceitos no “mundo real” não é uma tarefa trivial. O primeiro passo é empoderar os desenvolvedores. Para isso, uma abordagem é a estruturação de um programa de Security Champions. O profissional que assume o papel de SC torna-se responsável por ser um elo entre os times de segurança e desenvolvimento, promovendo as boas práticas de desenvolvimento seguro em seus times
  • Educação Contextualizada –  Um dos maiores riscos para a segurança de uma organização muitas vezes não é uma fraqueza em uma aplicação isolada ou em alguma feature. Em vez disso, é a omissão dos colaboradores com a consciência dos impactos dos incidentes de segurança. Neste contexto, a ISO 27002 indica que todos os colaboradores da organização devem receber treinamento, educação e conscientização apropriados, além de atualizações regulares das políticas e procedimentos organizacionais relevantes para suas funções.
  • Treinamentos Personalizados: Os treinamentos devem ser contextualizados para demonstrar o impacto dos problemas e como podem ser remediados. O treinamento aplicado para o time de engenharia não deve ser o mesmo aplicado para o time de Governança, pois os contextos são distintos.
  • Métricas de Acompanhamento – Implementar um modelo de melhoria contínua com métricas como treinamentos ministrados, participação, práticas integradas e número de vulnerabilidades prevenidas.
  • Integração de ferramentas – A orquestração inteligente de ferramentas consiste em avaliar as soluções modernas de segurança considerando a maturidade atual da equipe. Não é recomendável integrar ferramentas e simplesmente bloquear a esteira de desenvolvimento sem um processo adequado de conscientização sobre sua importância. Uma prática que pode auxiliar nesse processo é incluir os desenvolvedores na construção das políticas relacionadas às ferramentas de segurança. Dessa forma, os desenvolvedores se sentirão parte do processo e compreenderão a necessidade de cada solução.

Comece com ferramentas básicas como SAST e SCA, e utilize um ASPM para auxiliar na inteligência no consumo das informações, assim como na remoção de fricção, levando as informações necessárias para dentro do ambiente do desenvolvedor. Isso garantirá uma integração mais suave e eficiente, promovendo a adoção gradual e consciente das práticas de segurança.

Conclusão

DevSecOps é uma mentalidade que precisa ser internalizada e difundida por todos os membros da equipe de desenvolvimento, e não um conjunto rígido de regras e procedimentos.

About author

Articles

Analista de segurança na Conviso. Mestre em Ciência da Computação pela Universidade Estadual de Maringá, Paraná/Brasil. Atualmente cursa Doutorado em Ciência da Computação pela mesma universidade (UEM).
Related posts
ProdutoSegurança de Aplicação

Segurança de aplicações com IA: como apoiar o desenvolvimento seguro

A segurança de aplicações com IA está redefinindo a forma como as empresas desenvolvem software…
Read more
ProdutoSegurança de Aplicação

Gestão de vulnerabilidades precisa de contexto

Quem trabalha com segurança de aplicações não sofre com a falta de dados — sofre com o…
Read more
ProdutoSegurança de Aplicação

Como agentes de IA especialista em AppSec aceleram o desenvolvimento seguro

A segurança de aplicações não começa na revisão de código — começa na forma como elas são…
Read more

Deixe um comentário

Descubra mais sobre Conviso AppSec

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading