This post is also available in: English (Inglês) 简体中文 (Chinês (Simplificado)) 繁體中文 (Chinês (Tradicional)) 日本語 (Japonês) 한국어 (Coreano)
Desde o começo da computação moderna, a segurança se separou muito do desenvolvimento de software. Pesquisas recentes sobre vulnerabilidade confirmam essa teoria. Consideremos que nos últimos cinco anos, de todas as vulnerabilidades publicadas, 76% vieram de aplicativos. Dada essa mudança radical no foco dos invasores, este é o momento para integrar a segurança e o desenvolvimento. A melhor forma de fazer isso é implementando uma estratégia de segurança "shift-left".
Como definir a segurança "shift-left"
Em termos gerais, segurança “shift left” é colocar a segurança no ponto mais inicial possível do processo de desenvolvimento. Os CI/CD modernos geralmente envolvem um processo de oito etapas, conforme mostrado na Figura 1 a seguir. Pense que a segurança "shift-left" é boa para reduzir os riscos cibernéticos e os custos também. O System Sciences Institute da IBM observou que resolver problemas de segurança durante o desenvolvimento é seis vezes mais barato do que durante a implementação. O mesmo estudo também observou que resolver problemas de segurança durante os testes pode ser 15 vezes mais oneroso.
Intencionalmente incorporar a segurança em cada uma dessas etapas começa com estratégias claramente definidas.
Figura 1: IC/DC
Etapa 1: defina sua estratégia de segurança "shift-left"
O primeiro passo de toda jornada é definir onde se pretende chegar. Se trata de passar a ideia mais realista possível para sua equipe, para que ela saiba como é o sucesso. Os principais itens a serem incluídos nesse documento são a visão, propriedade/responsabilidade, eventos importantes e métricas. Espere que o documento de estratégias amadureça com o tempo e não gaste muito tempo tentando aperfeiçoá-lo. A iteração com o tempo é essencial.
Etapa 2: compreenda onde e como o software é criado na sua organização
Talvez um dos aspectos mais desafiadores da segurança "shift-left" é conhecer como e onde o software é criado na sua organização. Dependendo do tamanho da sua empresa, isso pode variar entre simples a extremamente desafiador.
O objetivo dessa etapa é olhar primeiro para a organização como um todo e documentar o fluxo completo do software na sua empresa. Empresas de médio a grande porte querem começar na escala macro e então levar para unidades de negócios individuais. É muito provável que cada unidade de negócios tenha seu próprio processo e suas próprias ferramentas de desenvolvimento de software. Os principais itens para identificar essa fase incluem quem está desenvolvendo o código (pessoas), como eles circulam pelos laptops de desenvolvimento para a produção (processo) e quais sistemas eles estão usando para possibilitar o processo (tecnologia). Isso também pode ser visto como a cadeia de ferramentas CI/CD. Sem dúvida, grande parte do desenvolvimento do seu software está sendo feito na nuvem pública.
Etapa 3: como identificar e implementar protetores de qualidade da segurança
Garantia de qualidade sempre fez parte do ciclo de vida do desenvolvimento de software. Contudo, historicamente, a qualidade do software não incluía segurança. Isso tem que mudar, e o trabalho feito nas etapas anteriores vão lhe preparar para isso. Cada etapa do processo de desenvolvimento de software é uma oportunidade de dar feedback e procurar os problemas de segurança. As equipes de segurança mais eficientes começam pequenas. Elas dão às equipes de desenvolvimento ferramentas simples e eficazes que se tornam parte da rotina diária de desenvolvimento. Uma dessas ferramentas foi recentemente disponibilizada de forma aberta pela Palo Alto Networks, o que significa que ela pode ser usada gratuitamente.
Etapa 4: avaliar e treinar continuamente equipes de desenvolvimento na codificação da segurança
Parte da sua jornada rumo à segurança "shift-left" é garantir que, antes de mais nada, as pessoas que fazem a grande parte da codificação criem códigos de segurança. Isso é difícil se você não tiver uma métrica objetiva de como está a qualificação deles hoje e um plano para a melhorar continuamente com o passar do tempo. Uma pesquisa considerou esses dados e concluiu que 19% dos desenvolvedores disseram que não estão familiarizados com o OWASP Top 10 e disseram que essa é uma área que não deveria ser negligenciada. Para ressaltar esse ponto, uma pesquisa publicada recentemente pelo provedor de serviços de DevOps GitLab estimou que 70% dos programadores escrevem códigos de segurança, mas apenas 25% deles acham que as práticas de segurança da empresa em que trabalham são "boas".
Como é a segurança "shift-left"
Vamos analisar dois cenários em que simplificamos o desenvolvimento nas etapas de construção, implementação e execução. No primeiro cenário, o desenvolvimento começa sem segurança. A qualidade do software só é verificada na hora da execução. Isso geralmente resulta em conversas difíceis entre a segurança e o desenvolvimento quando vulnerabilidades são encontradas.
Entretanto, no segundo cenário, as equipes de segurança investiram tempo para compreender o processo de desenvolvimento na sua organização. Elas também consideraram o tempo para incorporar os processos de segurança e as ferramentas no pipeline de CI/CD, o que resultou em protetores automatizados para qualidade da segurança.
Conclusão
Usar as quatro etapas acima colocarão sua organização em um caminho certeiro rumo não apenas à segurança "shift left", mas também para tornar a segurança um sinônimo de desenvolvimento. Na medida que sua organização caminha rumo ao "shift-left" como parte de sua jornada para a nuvem, é importante que os controles de segurança sejam automatizados e executados por APIs. O Prisma da Palo Alto Networks permite que as equipes de segurança façam exatamente isso ao proteger as DevOps e o seu pipeline CI/CD.