O desafio: automação de um processo lento de revisão de segurança de OSS
A Salesforce é uma empresa de software global que desenvolveu a plataforma líder global de gerenciamento de relacionamento com cliente (CRM). A plataforma permite que as empresas unifiquem dados de marketing, vendas, comércio, serviços e TI para criar uma visão de 360 graus dos clientes. Além disso, a Salesforce cria aplicativos empresariais para automação de marketing, análises e desenvolvimento de aplicativos, entre outras funções.
Como empresa de software inovadora, a Salesforce acredita em retribuir à comunidade na forma de software de código aberto (OSS). No entanto, sempre que um funcionário ou equipe deseja abrir o código de seu trabalho, precisa enviar uma solicitação de OSS que passa por revisão de critérios de segurança, jurídicos e muitos outros. Com cerca de vinte solicitações de OSS por mês, esse processo manual de revisão de relatórios de análises estáticas e correção dos problemas descobertos criava um gargalo na liberação do OSS.
“Como você sabe, revisões manuais são demoradas”, afirmou Amol Deshpande, engenheiro de segurança de produto da Salesforce. “Engenheiros de segurança têm várias responsabilidades. É bastante difícil realizar várias revisões a cada mês, principalmente quando as solicitações têm prazos curtos. Pensamos em automatizar esse processo para possivelmente economizar o tempo dos engenheiros.”
A solução: implementar verificações de segurança do tipo plug-and-play
Quando considerou a otimização do processo de revisão de segurança de OSS, a Salesforce criou uma estrutura de segurança do tipo plug-and-play que usa a Snyk para verificação de segurança e coleta automaticamente os resultados. Cada solicitação de revisão cria um tíquete na plataforma interna de rastreamento de tarefas. Esse tíquete é coletado por um webhook e adicionado a uma fila no RabbitMQ.
Usando sua API avançada, o Snyk pode acessar essa fila, verificar vulnerabilidades nos repositórios de código anexados e enviar relatórios de resultados ao tíquete original. Os resultados da verificação ficam disponíveis diretamente no tíquete para os engenheiros, que não precisam usar nenhuma ferramenta de verificação de segurança. Dessa forma, os engenheiros de segurança podem revisar imediatamente os relatórios para aprovar solicitações ou corrigir problemas em questão de minutos.
“Sempre que um engenheiro acessa o sistema, os relatórios de vulnerabilidade já estão anexados ao tíquete”, explicou Deshpande. “Assim, eles podem examinar o relatório e aprovar a solicitação ou trabalhar com as equipes de engenharia para corrigir as os problemas descobertos. Os engenheiros economizam um tempo considerável, pois não precisam executar verificações nem saber como usar as ferramentas de segurança.”
Verificação de segurança do Snyk Open Source
Ao abrir o código de um software, a verificação de segurança é essencial para reduzir riscos da própria organização. Isso ocorre porque pessoas mal-intencionadas podem analisar o código disponível ao público para atacar aplicativos proprietários que usam o OSS. OSSs amplamente utilizados, como Apache Struts, Tomcat e OpenSSL, já foram comprometidos e o número de vulnerabilidades de OSS continua a crescer. A Salesforce não queria arriscar sua reputação ou se tornar um possível alvo de ataques lançando OSSs com vulnerabilidades.
“O software de código aberto é um dos vetores de ataque mais comuns. Quando uma vulnerabilidade é identificada em um componente de OSS, todos os aplicativos e softwares que usam esse componente também ficam expostos ao risco”, detalhou Deshpande. “Na verdade, o número de vulnerabilidades de OSS dobrou em 2019 em relação ao ano anterior. A ameaça não para de crescer.”
A solução de gerenciamento de segurança de código aberto da Snyk ajuda as organizações a gerenciar esse risco de segurança, detectando vulnerabilidades em código aberto incorporado e no próprio código que pretendem abrir para a comunidade. O Snyk fornece orientações acionáveis para corrigir todos os problemas de segurança descobertos. Além disso, o Snyk ajuda os desenvolvedores a economizar tempo, corrigindo os problemas priorizados por gravidade e possível impacto. Hoje, a Salesforce pode usar os resultados das verificações da Snyk para não só reduzir a exposição interna a ameaças de segurança, mas também para garantir que o público em geral use seus componentes de OSS com confiança.
“Sou um defensor da automação e da adoção da segurança desde o início”, afirmou Deshpande. “Acho que a Snyk é uma das ferramentas mais importantes para expandir os esforços de segurança em uma organização. No futuro, esperamos ampliar nossa implementação com a aprovação automática de solicitações quando os relatórios não indicarem problemas e aumentando a escala da nossa nova estrutura de verificação, baseada na Snyk, para toda a organização, unificando a nossa metodologia de segurança.”
O impacto: economia de centenas de horas de trabalho manual
Com a nova estrutura de verificação de segurança baseada na Snyk, a equipe de segurança de produtos da Salesforce não precisa mais revisar manualmente solicitações de OSS. Antes, cada solicitação poderia levar horas para ser concluída. Agora, os resultados de verificação da Snyk são publicados automaticamente em todos os tíquetes de solicitação de revisão. Assim, os engenheiros de segurança podem realocar cerca de 150 horas de seu tempo para outros projetos de segurança de alto impacto. Isso significa que a Salesforce pode acelerar a liberação de software OSS mais do que nunca, sem comprometer a segurança.
“Antes, cada solicitação poderia levar horas para ser concluída. Agora, os resultados de verificação da Snyk são publicados automaticamente em todos os tíquetes de solicitação de revisão.”