Skip to main content

Novo guia de mercado da Gartner destaca a importância da análise de composição de software (SCA)

Escrito por

1 de setembro de 2020

0 minutos de leitura

O Gartner Market Guide 2020 para análise de composição de software (SCA) foi publicado, destacando a importância crescente da segurança de software de código aberto segurança de software e apresentando recomendações para o gerenciamento e a mitigação eficazes de riscos.

Segundo o guia, mais de 90% das organizações dependem de software de código aberto. Há vários benefícios que explicam essa dependência, mas, acima de tudo, o código aberto permite que os desenvolvedores sejam mais produtivos e entreguem código com mais rapidez.

Essa dependência traz um volume significativo de riscos de segurança. A Gartner constatou que o principal desafio enfrentado pelas organizações ao usar código aberto são as vulnerabilidades de segurança, introduzidas por dependências diretas ou transitivas de código aberto.

Para superar esse desafio, a Gartner destaca o papel cada vez mais importante que a análise de composição de software (SCA) desempenha para ajudar as equipes de desenvolvimento e segurança a identificar e mitigar problemas com eficiência. Como afirma o guia, “sem a análise de composição de software, os benefícios do OSS no desenvolvimento de aplicações podem ser facilmente superados pelos riscos”.

Vamos analisar mais de perto a análise e as recomendações prescritas pela Gartner no guia.

Recomendações de segurança para software de código aberto

A Gartner recomenda que as organizações adotem as quatro medidas a seguir para gerenciar e mitigar o risco apresentado pelo software de código aberto:

  • Adicionar ferramentas de SCA ao conjunto de testes de segurança de aplicações - As ferramentas de SCA ajudam as organizações a identificar vulnerabilidades de segurança e problemas de licença nos componentes de código aberto utilizados e devem ser definidas como um elemento central da estratégia geral de segurança de aplicações da organização.

  • Proteger a cadeia de suprimentos de software - Hoje, as aplicações são compostas por diferentes blocos de construção obtidos de repositórios internos e externos. Essa cadeia de suprimentos precisa ser testada repetida e automaticamente em busca de problemas de segurança.

  • Estabelecer políticas para aplicação automatizada - as organizações precisam decidir qual nível de risco podem aceitar e aplicar essa decisão em todas as etapas do ciclo de vida de desenvolvimento de software.

  • Dar mais destaque à SCA - a SCA precisa se tornar parte integrante dos fluxos de trabalho de desenvolvimento existentes, com as ferramentas de SCA sendo “o padrão, não a exceção”.

Entenda o papel das ferramentas de SCA

Como mostra a lista de recomendações acima, as ferramentas de SCA são um tema recorrente. O guia da Gartner descreve as principais funções oferecidas por essas ferramentas e explica por que elas são tão importantes para gerenciar e mitigar com sucesso os riscos do software de código aberto.

Identificação de componentes de código aberto

As ferramentas de SCA analisam as aplicações e identificam sua dependência de pacotes de código aberto, seja por dependências diretas ou transitivas. Como a Snyk já demonstrou, 80% das vulnerabilidades são introduzidas por dependências transitivas, por isso essa função é essencial para mitigar riscos com eficiência.

Gerenciamento da conformidade com licenças

As ferramentas de SCA também identificam as diferentes licenças de código aberto utilizadas e, assim, ajudam as organizações a mitigar os riscos jurídicos associados ao software de código aberto. As organizações podem usar ferramentas de SCA para estabelecer políticas de licenciamento e garantir que riscos jurídicos não sejam introduzidos nas primeiras etapas do desenvolvimento.

Vulnerabilidades de segurança

Depois de identificar as diferentes dependências de código aberto utilizadas, as ferramentas de SCA também as comparam com bancos de dados de vulnerabilidades e apontam falhas de segurança nessas dependências. Após a identificação, algumas ferramentas de SCA também fornecem informações para facilitar a correção. A Snyk, por exemplo, oferece recomendações de correção totalmente contextualizadas, além de patches de segurança precisos para ajudar as equipes a corrigir vulnerabilidades em tempo hábil.

Governança e controle

As ferramentas de SCA podem ser usadas para aplicar automaticamente políticas de segurança e licenciamento em todas as etapas do ciclo de vida de desenvolvimento de software. O método mais comum oferecido pelas ferramentas de SCA é integrar testes de segurança de código aberto aos processos de CI/CD para impedir que vulnerabilidades avancem no pipeline de entrega.

Relatórios e análise

As ferramentas de SCA ajudam as organizações a gerar BoMs (listas de materiais), ou seja, listas detalhadas das várias dependências usadas no código e dos locais em que são utilizadas. Esses relatórios podem ser usados para avaliar a exposição a riscos de segurança futuros, compartilhados com outras partes interessadas e servir de apoio à padronização.

Principais critérios para avaliar ferramentas de SCA

Como explica o guia, as ferramentas de SCA não são todas iguais e existem em diversos formatos. Para ajudar as organizações a avaliar as diferentes ferramentas de SCA disponíveis no mercado, a Gartner apresenta recomendações precisas para orientar as decisões.

Suporte a ecossistemas e linguagens

As ferramentas de SCA devem oferecer suporte às principais linguagens de programação e frameworks usados pela organização. Essas necessidades variam de uma organização para outra, mas geralmente é necessário oferecer suporte a Java, JavaScript, Python, Go, .NET, PHP e Ruby.

Dados de segurança abrangentes e aprofundados

Para garantir que as vulnerabilidades sejam identificadas e corrigidas em tempo hábil, as ferramentas de SCA precisam fornecer dados de segurança de qualidade. Elas dependem de bancos de dados de vulnerabilidades para gerar esses dados, mas, como observa a Gartner, é possível ter mais confiança e precisão nas descobertas indo além do simples uso da NVD. O banco de dados de vulnerabilidades da Snyk reúne informações de várias fontes públicas, além de dados da academia, da comunidade e do trabalho da nossa equipe de pesquisa, para oferecer dados precisos, atualizados e abrangentes.

Priorização

As equipes de desenvolvimento e segurança enfrentam um volume enorme de vulnerabilidades, mas dispõem de tempo e recursos limitados. Por isso, precisam definir prioridades. As ferramentas de SCA devem fornecer as informações necessárias para que essas equipes tomem decisões eficazes de priorização. A Gartner destaca a capacidade de priorizar vulnerabilidades alcançáveis no caminho de execução da aplicação como uma função necessária em uma ferramenta de SCA.

Facilidade para desenvolvedores

As ferramentas de SCA que não são adotadas pelos usuários finais não serão muito eficazes. Com a rápida expansão das iniciativas de “shift-left” e DevSecOps no mercado, os desenvolvedores se tornaram os principais usuários das ferramentas de SCA. Para apoiar essas iniciativas, não basta simplesmente entregar aos desenvolvedores uma lista de problemas para que eles resolvam, nem oferecer acesso a uma ferramenta criada para a equipe de segurança. As ferramentas de SCA precisam ser “centradas no desenvolvedor”: devem se integrar perfeitamente aos fluxos de trabalho de desenvolvimento existentes, com o mínimo de atrito.

Correção

Encontrar problemas é uma coisa. Conseguir corrigi-los rapidamente é outra. A Gartner ressalta que as ferramentas de SCA também precisam ajudar as organizações nas etapas de correção. A Snyk, por exemplo, oferece priorização prática e recomendações de correção, como pontuação de prioridade, árvore de dependências completa, correção recomendada e patches precisos. A Snyk também inicia pull requests automatizados para agilizar ainda mais a correção.

Integrações

O ciclo de vida de desenvolvimento de software é complexo. Os desenvolvedores usam diferentes sistemas e plataformas para levar o código do desenvolvimento à produção. De preferência, as organizações devem poder integrar a segurança de código aberto a cada uma dessas etapas. Por isso, as ferramentas de SCA precisam oferecer essas integrações.

Relatórios/BoM

As ferramentas de SCA devem ajudar as organizações a acompanhar, ao longo do tempo, os componentes de código aberto em uso e criar relatórios (também conhecidos como BoMs) com base nessas informações. Como mencionado acima, esses relatórios são usados para avaliar a exposição e fazer o acompanhamento interno, mas também podem ser exigidos por uma licença específica ou por um pedido de compra.

Políticas

A Gartner recomenda o uso de políticas para definir as condições de segurança e jurídicas que são aceitáveis ou inaceitáveis para a organização e, em seguida, aplicar essas políticas automaticamente em diferentes projetos. As ferramentas de SCA devem oferecer suporte a essa função.

Notas finais

O que esperar do futuro da SCA?

Atualmente, a Gartner estima que apenas 40% das organizações usam ferramentas de SCA como parte do conjunto de testes de segurança de aplicações. No entanto, o interesse por essas ferramentas parece estar no auge, com um aumento de quase 40% no número de consultas de usuários finais sobre o tema.

Dada a crescente adoção do código aberto, isso não é surpreendente. O código aberto desempenha um papel fundamental na transformação digital e no ritmo acelerado de inovação que vemos hoje, especialmente durante a COVID-19, e não há motivo para acreditar que essas tendências mudarão tão cedo.

As organizações aproveitam o código aberto para competir em seus respectivos mercados e, ao mesmo tempo, entendem que precisam gerenciar e mitigar os riscos associados. Somente as ferramentas de SCA que atendem aos principais critérios acima ajudarão as organizações a alcançar esse objetivo.

Sobre a Snyk Open Source

Snyk Open Source ajuda organizações como Salesforce, Google e Facebook a aprimorar a segurança de aplicações, permitindo que as equipes de desenvolvimento encontrem, priorizem e corrijam automaticamente vulnerabilidades de segurança e problemas de licença em dependências e contêineres de código aberto, desde as primeiras etapas e ao longo de todo o SDLC. Ao contrário de outras soluções de segurança do mercado, Snyk Open Source é uma ferramenta fácil de usar para desenvolvedores, que se integra perfeitamente aos fluxos de trabalho de desenvolvimento e oferece correção automatizada e informações de segurança práticas para ajudar as organizações a identificar e mitigar riscos com eficiência.

Comece a resolver desafios de capture the flag

Aprenda a resolver desafios de capture the flag assistindo sob demanda ao nosso workshop virtual introdutório.