Colocando segurança em Sprints
A adição de informações de segurança a Sprints não tem que ser difícil ou custar muito.
Para construir um aplicativo seguro, você não pode esperar até o fim para “testar a segurança nele”. Para as equipes que seguem métodos Agile↳Agile11 conteúdosO antiágil: quais as práticas que te afastam do AgileGestão Dev & TI · ago 2020Adoção de metodologias ágeis em TI pode fazer a diferença em um mundo de rápidas mudançasGestão Dev & TI · mai 2023Webinar HostGator mostra como usar Metodologias Ágeis para tirar um projeto do papelGestão Dev & TI · mai 2019Ver tudo em Gestão Dev & TI → como Scrum, isso significa que você tem que achar uma maneira de aumentar a segurança em Sprints. Aqui vai como fazê-lo:
Sprint ZeroÉ preciso incluir alguns passos básicos de segurança no Sprint Zero:
- Escolha da plataforma – quando estiver escolhendo seu framework de aplicação e linguagem, tire um tempo para entender as funções de segurança que eles fornecem. Em seguida, dê uma olhada nas bibliotecas de segurança como Apache Shiro (um framework de autenticação, gerenciamento de sessões e de controle de acesso), Google KeyCzar (criptografia), e o OWASP Java Encoder (proteção XSS) para preencher eventuais lacunas.
- Requisitos de privacidade de dados e conformidade – certifique-se de que você compreende os dados que precisam ser protegidos e auditados para fins de conformidade (incluindo PII), e o que você terá de provar aos auditores de conformidade.
- Treinamento de desenvolvimento de segurança – verifique o nível de habilidade da equipe. Preencha, conforme necessário, com treinamento em codificação segura. Se você não puder pagar a formação, confira os seminários gratuitos SAFECode sobre codificação segura.
- Codificando as orientações e as diretrizes de revisão do código – considere onde a segurança se encaixa e dê uma olhada nas diretrizes do CERT de codificação segura em Java.
- Abordagem de teste – planeje o teste unitário de segurança em seu pipeline de integração contínua↳CI/CD23 conteúdosCI/CD Mobile: o caos invisível que separa times comuns de times de alta performanceDev (Back & Front) · abr 2026Lambda: implementando com GitLab CI/CD e Terraform para Integração SFTP, S3 e Databricks em GoDev (Back & Front) · nov 2023Publicando sua aplicação Web Python no WebApp do Azure e configurando o CI/CD da sua aplicaçãoDevSecOps · abr 2019Ver tudo em DevSecOps →. Escolha uma ferramenta de análise estática e conecte-a na Integração Contínua também. Faça planos para testes pen ou outros gates/reviews de segurança mais tarde no desenvolvimento.
- Atribuição de um lead de segurança – alguém da equipe que tenha experiência e treinamento em desenvolvimento seguro (ou quem vai começar o treinamento extra no desenvolvimento seguro) ou alguém da infosec, que atuará como a pessoa chave em avaliações de risco, sessões de modelagem de ameaças de lead, coordenar o teste pen e a digitalização e triagem das vulnerabilidades encontradas, fazer a triagem de novos desenvolvedores até a velocidade.
- Incidente de resposta – pense sobre como a equipe vai ajudar os ops a responderem às falhas e aos incidentes de segurança.
Os primeiros Sprints, nos quais você começa a trabalhar no design e na construção da plataforma, e a ter ideias-chave para interfaces e pontos de integração, é quando o attack surface da aplicação aumenta rapidamente.
Você precisa fazer com que a modelagem de ameaças entenda os riscos de segurança e se certificar de que está lidando com eles corretamente.
Comece com as quatro questões básicas de modelagem de ameaças do Adam Shostack:
- O que você está construindo?
- O que pode dar errado?
- O que você vai fazer sobre isso?
- Você fez um trabalho aceitável em 1-3?
Muitos trabalhos de desenvolvimento são negócios “normais”, oferecendo recursos que são muito parecidos com os outros que você já fez: outra tela, outra chamada de API, outro relatório ou outra tabela. Existem algumas preocupações básicas de segurança que você precisa ter em mente quando estiver fazendo esse trabalho. Certifique-se de que os problemas capturados por seus testes de segurança ou ferramentas de análise estática sejam revisados e corrigidos. Fique atento às revisões de código para o uso adequado dos frameworks e das bibliotecas e para o erro e a manipulação de exceção e codificação defensiva.
Tire um tempo extra quando uma história de segurança vier à tona (um novo recurso de segurança ou uma mudança de requisitos de segurança ou de privacidade), e pense em histórias de abuso sempre que você estiver trabalhando em um recurso que trata de algo importante como dinheiro, dados confidenciais, segredos ou funções de comando e controle.
Trabalho pesadoVocê precisa pensar em segurança a qualquer momento em que estiver fazendo o trabalho pesado: refatoração em larga escala, atualização de código do framework ou canalização de segurança ou plataforma de tempo de execução, introdução de uma nova API ou integração com um novo sistema. Só quando você estiver construindo o primeiro build do app, gaste um tempo extra com a modelagem de ameaças e seja mais cuidadoso em testes e em avaliações.
Sprints de segurançaEm algum ponto mais tarde no desenvolvimento, pode ser necessário executar um Sprint de segurança ou hardening Sprint – para ter o app pronto para o lançamento da produção, ou para lidar com os resultados de um teste pen, de verificação de vulnerabilidade, de auditoria de segurança ou para limpar depois uma violação de segurança.
Isso poderia envolver todos ou apenas alguns da equipe. Poderia incluir rever e corrigir vulnerabilidades encontradas em testes pen ou digitalização. Verificar vulnerabilidades em componentes open source↳Open source71 conteúdosComo o Open Source Está Liberando o Poder da Automação para TodosDev (Back & Front) · out 2025Código aberto: programadores criam software da NASA sem saberDev (Back & Front) · abr 2021N8N: O que é a ferramenta open source que está revolucionando a automação em TI?Dev (Back & Front) · dez 2025Ver tudo em Dev (Back & Front) → e de terceiros, e aplicar patches neles. Trabalhar com ops para revisar e endurecer a configuração de tempo de execução. Atualize e verifique o seu plano de resposta a incidentes, ou melhore a sua revisão de código ou práticas de modelagem de ameaças, ou reveja e melhore os testes de segurança. Ou todos os acima.
Adição de segurança em Sprints – apenas façaA adição de informações de segurança a Sprints não tem que ser difícil ou custar muito. Com esta abordagem simplificada, você terá um longo caminho para a construção de software seguro. E se você quiser ir mais fundo em como a segurança pode se encaixar em Sprints, você pode experimentar o SDL da Microsoft para o Agile.
***
Jim Bird faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: http://swreflections.blogspot.com.br/2015/03/putting-security-into-sprints.html






