Manual do CISO: 3 pontos a considerar ao estabelecer uma cultura de segurança
9 de março de 2023
0 minutos de leituraEstabelecer uma cultura de segurança sólida em toda a organização depende muito das equipes de desenvolvimento. Por isso, é essencial envolver os desenvolvedores desde o início e com frequência ao criar seu programa de segurança.
Neste manual para diretores de segurança da informação (CISOs), mostramos como criar uma cultura de segurança em toda a organização considerando estes três pontos:
O engajamento dos desenvolvedores é essencial para o sucesso de um programa de segurança.
Os três tipos de equipes de desenvolvimento: pioneiras, adotantes e resistentes à mudança.
Como trabalhar com suas equipes de desenvolvimento para resolver pontos de atrito relacionados à cultura, aos processos ou às ferramentas.
1. O engajamento dos desenvolvedores é essencial para o sucesso de um programa de segurança
A maneira de escalar a segurança de aplicações é incorporá-la diretamente aos fluxos de trabalho de desenvolvimento — o que é muito mais fácil falar do que fazer. Inevitavelmente, você enfrentará desafios para que as equipes de desenvolvimento aceitem e adotem uma cultura de segurança, pois isso pode interromper os fluxos de trabalho e prejudicar a capacidade de cumprir os prazos de produção se não for implementado com cuidado, empatia e atenção às opiniões e necessidades dos desenvolvedores.
Por isso, antes de implementar um programa de AppSec, é fundamental que quem interage com as equipes de desenvolvimento e as apoia entenda claramente os problemas, atritos e frustrações que elas enfrentam.
Assim, você pode definir expectativas realistas para determinar como e onde os desenvolvedores podem mudar e descobrir como capacitá-los e apoiá-los da melhor forma — afinal, a empatia promove o alinhamento.
Sem empatia e sem compreender os processos das equipes de desenvolvimento, você criará atritos e reduzirá as chances de engajamento dos desenvolvedores na implementação de uma cultura de segurança em toda a organização.
Identificar a mentalidade das suas equipes de desenvolvimento ajuda a definir a melhor forma de colaborar com elas para encontrar pontos em comum e estabelecer objetivos para seu programa de AppSec.
2. Os três tipos de equipes de desenvolvimento
Se apoiar e capacitar as equipes de desenvolvimento é a chave para o sucesso de AppSec, é fundamental entender a realidade de cada equipe. E isso começa por entender que tipo de equipe elas são.
Algumas equipes de desenvolvimento se interessam pelas tecnologias mais recentes e estão ansiosas para experimentar novas ferramentas, tecnologias e modelos de programação. Outras só adotam novas tecnologias ou processos depois que eles demonstram resolver um problema. E, claro, há também as equipes que evitam mudanças com a mentalidade de que “em time que está ganhando não se mexe”.
Classificamos as equipes em três tipos: pioneiras, adotantes ou resistentes à mudança.
Equipes pioneiras
As equipes pioneiras têm alto desempenho e costumam ser minoria na organização. É menos provável que fiquem sobrecarregadas e mais provável que definam padrões e boas práticas para as demais equipes. Muitas vezes, são as primeiras a adotar processos e tecnologias que beneficiam a equipe ou a entrega.
Equipes adotantes
As equipes adotantes geralmente entregam bons resultados. Elas só adotam novos processos, técnicas ou tecnologias depois que uma equipe pioneira demonstra seu valor na organização. Em geral, essas equipes representam a maioria da organização.
Equipes resistentes à mudança
As equipes resistentes à mudança são as que mais se opõem a mudanças. Elas desenvolvem software da mesma maneira há muito tempo e preferem continuar assim por familiaridade e continuidade. Muitas vezes, também são minoria na organização.
3. Como trabalhar com suas equipes de desenvolvimento para resolver pontos de atrito
A segurança no desenvolvimento exige mudanças na cultura, nos processos e nas ferramentas para ser implementada com sucesso.
Embora nenhuma equipe seja igual à outra (mesmo que compartilhem o mesmo tipo), estas são algumas ideias para trabalhar com suas equipes de desenvolvimento e resolver pontos de atrito culturais, relacionados a processos ou a ferramentas.
Cultura
Estabelecer uma cultura em toda a área de desenvolvimento exige empatia, prioridades definidas pela liderança, colaboração, capacitação e reconhecimento.
Empatia
Primeiro, você precisa entender quem são suas equipes e o quanto estão abertas a mudanças. Depois, compreender a capacidade de cada equipe para entregar, manter o desempenho e garantir a confiabilidade ajuda a definir metas realistas e alcançáveis.
Quando souber quem são suas equipes e do que são capazes, você poderá definir a responsabilidade e a atribuição de cada projeto para que seu programa de AppSec tenha sucesso.
Prioridades definidas pela liderança
Adote as prioridades de segurança do negócio definidas pela liderança e comunique-as com clareza. Assim, as equipes de desenvolvimento terão a orientação necessária para dedicar tempo a questões de segurança por serem importantes para o negócio e para a liderança de engenharia — em vez de só cuidar delas depois de concluir as demais tarefas de desenvolvimento, se ainda houver tempo.
Promova a colaboração
Considere criar um programa de security champions para facilitar a colaboração e torná-la mais acessível. Faça o possível para trabalhar com os desenvolvedores e construir confiança, em vez de depender apenas do medo para fazer as coisas acontecerem.
Capacite as equipes
Parece óbvio, mas vale dizer: capacite suas equipes de desenvolvimento antes de implementar programas. Isso pode ser tão simples quanto informar sobre as mudanças, explicar por que estão acontecendo e, principalmente, esclarecer com antecedência o impacto e as ações necessárias. Ao mesmo tempo, reconheça que alguns temas não serão relevantes para todas as equipes e adapte o material às necessidades de cada uma.
Acompanhe a capacitação e, quando possível, transforme-a em uma atividade lúdica com placares. Faça com que o processo seja algo que os desenvolvedores queiram fazer, e não apenas algo que precisem fazer. Ou, como gostamos de dizer, troque a cobrança pela motivação.
Comemore os resultados
Destacar pessoas por suas conquistas e melhorias na segurança, ou reconhecer os resultados das equipes, é essencial para construir uma cultura de segurança. Oferecer brindes como incentivo ou comemorar o alto desempenho das equipes em reuniões mensais são ótimas formas de começar.
Em todas as equipes, isso pode ficar assim:

Processos
Para estabelecer uma cultura de segurança, você precisará criar novos processos. Ao fazer isso, mantenha as equipes de desenvolvimento em mente e:
Procure oportunidades para integrar processos aos fluxos de trabalho existentes, em vez de tentar criar novos fluxos.
Trabalhe com as equipes de desenvolvimento para definir limites e práticas de trabalho quando novas regras ou processos de segurança estiverem prontos para implementação.
Trabalhe com a equipe de desenvolvimento para simplificar os processos e garantir que você possa fornecer uma boa documentação para a próxima equipe.
Em toda a área de desenvolvimento, isso pode ficar assim:

Ferramentas
Novos processos trazem novas ferramentas. Adote ferramentas para desenvolvedores:
Com APIs robustas e fáceis de automatizar.
Que priorizem correções e remediação, em vez de apenas encontrar e reportar problemas.
Que sejam amplamente adotadas pelas comunidades de código aberto e de segurança.
Priorize ferramentas para proteger o código novo primeiro e, em seguida, resolva os problemas do backlog para reduzir a carga sobre os desenvolvedores.
Não sobrecarregue os desenvolvedores — não custa repetir! Ao introduzir ferramentas para uma equipe, comece dando visibilidade. Depois, aumente gradualmente o rigor das regras e proteções com políticas para aprimorar o processo de desenvolvimento seguro.
Por fim, automatize tudo. A integração ao fluxo de trabalho e os testes nesse fluxo devem ser automatizados e implementados no lugar certo para cada equipe. Procure todas as oportunidades de conectar ferramentas, como sistemas de tickets, relatórios, alertas etc.
Em toda a área de desenvolvimento, isso pode ficar assim:

Próximos passos
A Snyk é uma plataforma de segurança para desenvolvedores que se integra diretamente às ferramentas, aos fluxos de trabalho e aos pipelines de automação de desenvolvimento. A Snyk ajuda as equipes a encontrar, priorizar e corrigir vulnerabilidades de segurança em código, dependências, contêineres, infraestrutura como código e ambientes de nuvem.
Confira mais dicas práticas nos nossos manuais para criar ou ampliar a adoção da segurança em toda a sua área de desenvolvimento. Ou agende uma demonstração com um especialista em segurança hoje mesmo para saber mais.
Acelere o desenvolvimento seguro
A Snyk une desenvolvedores e equipes de segurança para garantir agilidade e segurança em grande escala.