Elementos de uma campanha de segurança bem-sucedida
Campanhas de segurança bem-sucedidas para corrigir alertas em escala têm muitos recursos em comum, incluindo:
- Selecionar um grupo relacionado de alertas de segurança para correção.
- Para campanhas de código, usar sugestões do Correção automática do Copilot sempre que possível para ajudar os desenvolvedores a corrigir alertas com mais rapidez e eficiência.
- Verificar se os gerentes da campanha estão disponíveis para colaboração, revisões e perguntas sobre correções.
- Fornecer acesso a informações educacionais sobre o tipo de alertas incluídos na campanha.
- Disponibilizar o GitHub Copilot Chat (Chat do GitHub Copilot) para os desenvolvedores usarem a fim de saber mais sobre as vulnerabilidades realçadas pelos alertas de segurança na campanha.
- Definir um prazo realista para a campanha, tendo em mente o número de alertas que você pretende corrigir.
- Divulgar a colaboração para as equipes de desenvolvimento e identificar a melhor forma de envolvê-las em sua organização.
Para obter informações sobre a experiência do desenvolvedor, consulte Como corrigir alertas em uma campanha de segurança.
Selecionando alertas de segurança para correção
Sua primeira reação pode ser identificar todos os alertas mais urgentes e criar uma campanha de segurança para corrigi-los. Se os desenvolvedores já tiverem uma boa compreensão sobre codificação segura e tiverem interesse em corrigir possíveis vulnerabilidades, essa poderá ser uma abordagem bem-sucedida para sua empresa. No entanto, se você precisar aprimorar os conhecimentos sobre codificação segura, segredos expostos e vulnerabilidades comuns, uma abordagem mais estratégica será útil.
Exemplo de abordagem para uma campanha de código
Em uma campanha para gerar conscientização e corrigir vulnerabilidades de cross-site scripting, você poderia:
- Criar um conteúdo educacional para desenvolvedores em um repositório usando os recursos da OWASP Foundation. Confira XSS (cross-site scripting).
- Criar uma campanha para corrigir todos os alertas para essa vulnerabilidade, em que há suporte para Correção automática do Copilot usando o filtro
autofix:supported. - Incluir um link para o conteúdo educacional na descrição da campanha.
- Realizar uma sessão de treinamento ou outro evento para destacar essa oportunidade de ganhar confiança na codificação segura ao corrigir bugs reais.
- Verificar se os membros da equipe de segurança atribuídos para gerenciar a campanha estão disponíveis para revisar as solicitações de pull criadas para corrigir os alertas da campanha, colaborando conforme necessário.
Exemplo de abordagem para uma campanha de segredos
Observação
Campanhas para alertas do secret scanning estão em versão prévia pública e estão sujeitas a alterações.
Para uma campanha de conscientização e correção de senhas expostas, você poderia:
- Crie conteúdo educacional para desenvolvedores sobre como armazenar senhas com segurança, por exemplo, como segredos do GitHub; confira Noções básicas sobre tipos de segredo do GitHub.
- Criar uma campanha para corrigir todos os alertas de senhas expostas, incluindo um link para o conteúdo educacional na descrição da campanha.
- Verificar se os membros da equipe de segurança atribuídos para gerenciar a campanha estão disponíveis para garantir que os segredos sejam revogados e girados de maneira aceitável, colaborando conforme necessário.
Modelos de filtro de campanha
Ao selecionar os alertas a serem incluídos em uma campanha de segurança, você pode usar qualquer um dos filtros na página de alertas de segurança para definir um subconjunto de alertas. Como alternativa, você pode escolher um modelo de campanha para usar um dos filtros predefinidos para necessidades comuns, por exemplo: “Cross-site scripting (CWE-79)”.
Campanhas de rascunho
Pode ser útil criar primeiro uma campanha de rascunho, que lista os alertas que estão definidos para inclusão na campanha e nos detalhes da campanha, para que você possa colaborar no escopo da campanha antes de publicá-la. Para obter diretrizes sobre como criar uma campanha de rascunho, confira Criando e gerenciando campanhas de segurança.
Limitações nas campanhas de segurança
As limitações a seguir têm o objetivo de incentivá-lo a adotar uma abordagem equilibrada e ponderada para corrigir os alertas em seu código. Uma abordagem iterativa, que lide com alguns conjuntos específicos de alertas de cada vez, provavelmente levará a uma mudança sustentável e de longo prazo na postura de segurança.
- É possível manter no máximo 10 campanhas de segurança ativas simultaneamente (sem limite para campanhas encerradas).
- Cada campanha pode conter até 1000 alertas.
Se optar por criar uma campanha que exceda esses limites, os alertas serão omitidos para que a campanha se adeque aos limites estabelecidos. Alertas em repositórios com atualizações recentes têm prioridade para inclusão na campanha.
Especificar gerentes de campanha e links de contato
Ao criar uma campanha de segurança, você deve selecionar um ou mais "Gerentes de campanha". Um gerente de campanha deve ser:
- Um usuário com a função de proprietário da organização ou a função de gerente de segurança.
- Um membro de uma equipe que desempenha a função de proprietário da organização ou a função de gerente de segurança.
Os nomes dos gerentes da campanha ficam visíveis para os desenvolvedores quando estes participam da campanha. Para facilitar a comunicação entre os desenvolvedores e os gestores de campanhas, você também pode fornecer um link de contato, como um link para uma GitHub Discussions ou outro canal de comunicação, ao criar uma campanha.
Se você deseja aumentar a taxa de resolução de alertas e ampliar o conhecimento da equipe de segurança, esta é uma oportunidade fundamental para construir relacionamentos colaborativos com os desenvolvedores. Idealmente, os gerentes de campanha estão disponíveis para responder a perguntas e colaborar na resolução de problemas complexos através do link de contato. Os gerentes de campanha também devem estar disponíveis para revisar solicitações de pull para correções durante toda a campanha.
Criando issues para uma campanha
Quando cria uma campanha, você pode optar por abrir automaticamente um issue do GitHub em cada repositório envolvido na campanha. Isso significa que o trabalho pode ser muito mais facilmente acompanhado, atribuído e gerenciado em quadros de projeto de equipe. Além disso, quando você atualiza os detalhes da campanha, como o link de contato ou a data de conclusão, o corpo do problema é atualizado automaticamente com as informações mais recentes. Quando uma campanha atinge sua data de conclusão ou é excluída ou fechada, um comentário sobre o problema é postado automaticamente.
Isso pode ajudar no engajamento dos desenvolvedores, fornecendo um contexto claro e atualizado diretamente nos fluxos de trabalho existentes deles. Para obter informações sobre como automatizar a criação de issues para campanhas, confira Criando e gerenciando campanhas de segurança.
Como combinar o treinamento de segurança com uma campanha de segurança
Se sua equipe de segurança já oferece treinamento em programação segura para desenvolvedores, criar uma campanha com alertas que permitam aos desenvolvedores usar as habilidades aprendidas no treinamento é uma ótima maneira de reforçar o aprendizado. Mesmo que você não tenha um programa de treinamento formal, faz sentido fornecer informações sobre os tipos de vulnerabilidades de segurança incluídas na campanha, exemplos de como corrigi-las e como testar as correções. Isso simplificará o papel do gerente de campanha, pois ele poderá direcionar os desenvolvedores a esses recursos para obter respostas a perguntas básicas.
A Fundação OWASP oferece muitos recursos para aprender sobre as vulnerabilidades mais comuns e a MITRE Corporation mantém uma lista detalhada de pontos fracos comuns; veja Sobre a Fundação OWASP e Sobre a CWE.
Como fornecer suporte de IA para aprender sobre as vulnerabilidades de código
O Correção automática do GitHub Copilot é acionado automaticamente para sugerir uma resolução para cada alerta de code scanning. No entanto, os desenvolvedores geralmente vão querer ter mais informações sobre o motivo do código original não ser seguro e como testar se a correção está correta e não interrompe outros componentes.
O GitHub Copilot Chat é uma ferramenta importante para desenvolvedores que têm dúvidas sobre codificação segura, como corrigir alertas de segurança e testar a correção deles. Verifique se todos os desenvolvedores da sua organização têm acesso ao Copilot, tanto no IDE quanto no GitHub. Confira Conceder acesso ao GitHub Copilot para membros da sua organização.
Considerações ao iniciar uma campanha de segurança e definir um prazo
Como em qualquer outro projeto, é importante definir prazos realistas para evitar que os desenvolvedores sejam desencorajados a participar da campanha de segurança. A menos que sua empresa esteja corrigindo alertas de segurança como parte de uma campanha maior para reduzir a dívida técnica, a maioria dos desenvolvedores não terá tempo alocado para essa tarefa. Você precisa estimar as taxas de correção com base no tempo que os desenvolvedores conseguem encontrar entre as tarefas agendadas. Também é sempre bom verificar os principais prazos da empresa para os quais os desenvolvedores possam estar trabalhando, bem como os feriados nacionais.
Próximas etapas
-
[AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/creating-managing-security-campaigns)