|
Em um cenário em que os ciclos de desenvolvimento de software estão cada vez mais rápidos, com a implementação de práticas de desenvolvimento ágil e DevOps, há menos tempo para testar uma aplicação com segurança, corrigir falhas e vulnerabilidades e entender como defendê-la. É neste momento que se faz necessário que a organização implemente times de segurança da informação (Infosec).
A ideia por trás dos times de infosec é a compreensão da segurança como uma preocupação constante, do desenvolvimento à implementação e manutenção do software. Entretanto, tornar a segurança um objetivo comum é uma tarefa complexa que perpassa a cultura da área de Tecnologia da Informação e o próprio conhecimento dos desenvolvedores sobre o tema, além de afetar as áreas de negócios e os processos das empresas.
Com frequência, a equipe de segurança é tratada como oposta ao desenvolvimento ágil. É ela que identifica os problemas da aplicação, que retorna para correção, indo de encontro à agilidade exigida aos desenvolvedores. Além disso, desenvolvedores normalmente não têm conhecimento na área de segurança, em parte pela sua formação universitária e especialização (segurança da informação ocupa a ementa de somente uma disciplina nos currículos de Engenharia de Software e Ciência da Computação, por exemplo).
Para tornar os softwares mais seguros e ao mesmo tempo atender às necessidades do mercado é importante que os desenvolvedores programem com segurança. Os times de infosec são uma resposta a essa questão.
Cada time é representado por uma cor do círculo cromático. São eles:
Times de Infosec
Red Team
O time vermelho é constituído por “hackers autorizados”. O papel dele é encontrar vulnerabilidades na aplicação que podem ser exploradas para fins maliciosos. Para isso, esse time usa técnicas de ataque com autorização da organização e mapeia as vulnerabilidades encontradas para serem corrigidas.
Blue Team
Enquanto o time vermelho deve atacar a aplicação para expor vulnerabilidades, o time azul tem o papel de defender e antecipar esses ataques. Ele é responsável pela segurança de toda a infraestrutura da organização e tem como funções o mapeamento de riscos, controle de danos, resposta a incidentes e segurança operacional.
Yellow Team
Esse é o time dos desenvolvedores. Suas tarefas envolvem o desempenho do backend, as funcionalidades da aplicação e a experiência do usuário.
Purple Team
O time roxo consiste nas interações entre os times vermelho e azul e tem como objetivo maximizar os resultados do time vermelho e melhorar a capacidade de resposta do time azul. Assim, o time roxo integra os resultados dos testes de segurança à capacidade de defesa da organização.
Orange Team
Fazem parte desse time as interações entre os times vermelho e amarelo. Essas interações são importantes para educar desenvolvedores a programar com segurança. Como as atividades do time vermelho envolvem atacar a aplicação construída pelo time amarelo e expor vulnerabilidades, as interações entre os dois times tendem a ser reativas: os problemas encontrados pelo time vermelho retornam para o amarelo, que busca resolvê-los.
A implementação de um time laranja, no entanto, pressupõe uma atitude mais proativa por parte dos desenvolvedores. Ao aprender com o time vermelho sobre vulnerabilidades que podem ser evitadas a nível de código, menos problemas serão detectados pelos “hackers autorizados” e, consequentemente, menos tempo será gasto pelos dois times.
Green Team
Esse time diz respeito à comunicação entre os times amarelo e azul. O seu objetivo é melhorar as defesas baseadas em código e design da aplicação. Isso acontece através do feedback do time azul em relação a aplicação e do compartilhamento de limitações do software por parte do time amarelo. Essas interações ajudam a identificar vulnerabilidades e montar estratégias de defesa já no início do ciclo de desenvolvimento da aplicação.
White Team
O time branco é responsável por manter os padrões de segurança exigidos por auditores internos e externos (PCI, ISO 27001, entre outros) e pelas políticas e requerimentos do negócio. Esse é um time neutro que organiza os demais, planeja e monitora o seu progresso, além de definir regras de engajamento.
Por que implementar?
Times de segurança da informação são uma forma de organizar procedimentos de segurança e implementá-los no decorrer do ciclo de desenvolvimento de software, ao invés de apenas no final. Além disso, os times ajudam a integrar e educar desenvolvedores a programar com segurança.
A implementação do “círculo cromático da segurança” é um investimento de tempo, conhecimento e retenção de talentos. Afinal, ela envolve uma mudança de cultura no que diz respeito aos papéis do desenvolvimento e segurança no ciclo aplicação. No entanto, a médio e longo prazo, esse investimento traz resultados significativos no que diz respeito ao tempo de produção de aplicações seguras e à reputação da organização.
Vale lembrar, entretanto, que a segurança da informação vai muito além do desenvolvimento de softwares seguros e que deve ser uma preocupação de toda a empresa.
Entre em Contato
Se quiser saber um pouco mais sobre como melhorar a segurança da sua empresa, entre em contato conosco e converse com os nossos especialistas.