Google anuncia esquema de vulnerabilidade unificado para código aberto
Baseado nas tecnologias OSV e no projeto OSS-Fuzz, programa oferece maneira de medir os erros de segurança em código aberto
O Google lançou uma nova maneira de fortalecer a segurança de código aberto, introduzindo um esquema de troca de vulnerabilidade para descrever vulnerabilidades em ecossistemas de código aberto. O objetivo da gigante de tecnologia é que o usuário possa medir os erros de segurança em programas de software de código aberto, de acordo com informações do site ZDNet.
Para agregar várias informações de vários bancos de dados é preciso lidar com cada um deles completamente separados ou, no mínimo, deve-se criar analisadores para cada formato de banco de dados para mesclar seus dados. Esse processo torna o rastreamento sistemático de dependências e colaboração entre bancos de dados de vulnerabilidade muito mais difícil.
Visto isso, em fevereiro, a gigante de tecnologia lançou o banco de dados Open Source Vulnerabilities (OSV) com o objetivo de automatizar e melhorar a triagem de vulnerabilidade para desenvolvedores e usuários de software livre. Este esforço inicial, disse o Google, foi iniciado com um conjunto de dados de algumas milhares de vulnerabilidades do projeto OSS-Fuzz.
Agora, baseado no trabalho já realizado no banco de dados OSV e no conjunto de dados OSS-Fuzz de vulnerabilidades de segurança, a equipe de segurança de código aberto do Google, a equipe Go e a comunidade mais ampla de código aberto criaram um esquema simples de troca de vulnerabilidades. Enquanto trabalham no esquema, eles podem comunicar dados precisos de vulnerabilidade para centenas de projetos críticos de código aberto.
“A implementação de OSV para comunicar dados precisos de vulnerabilidade para centenas de projetos críticos de código aberto provou o sucesso e a utilidade do formato e gerou feedback para nos ajudar a melhorar o projeto; por exemplo, eliminamos o requisito de chave da Cloud API, tornando o banco de dados ainda mais fácil de acessar por mais usuários. A resposta da comunidade também mostrou que havia amplo interesse em estender ainda mais os esforços”, escreveram no blog da empresa, Oliver Chang, da equipe de segurança de código aberto do Google, e Russ Cox, da equipe Go.
A empresa anunciou um novo marco na expansão do OSV que une e agrega quatro bancos de dados de vulnerabilidade importantes – Go , Rust, Python e DWF -, oferecendo aos desenvolvedores de software uma maneira melhor de rastrear e corrigir os problemas de segurança que os afetam.
“Este banco de dados de vulnerabilidade compartilhada e expandida marca um passo importante para a criação de um ambiente de código aberto mais seguro para todos os usuários”, escreveram.
Este novo esquema de vulnerabilidade visa resolver alguns problemas importantes com o gerenciamento de vulnerabilidades em código aberto, segundo a postagem da empresa.
A equipe descobriu que não havia formato padrão existente que:
- Força a especificação de versão que corresponde precisamente aos esquemas de nomenclatura e controle de versão usados em ecossistemas de pacotes de código aberto reais. Por exemplo, combinar uma vulnerabilidade como CVE a um nome de pacote e conjunto de versões em um gerenciador de pacotes é difícil de fazer de forma automatizada usando mecanismos existentes, como CPEs .
- Pode ser usado para descrever vulnerabilidades em qualquer ecossistema de código aberto, embora não exija uma lógica dependente do ecossistema para processá-las.
- É fácil de usar por sistemas automatizados e humanos.
“Com este esquema, esperamos definir um formato que todos os bancos de dados de vulnerabilidade possam exportar. Um formato unificado significa que bancos de dados de vulnerabilidade, usuários de código aberto e pesquisadores de segurança podem facilmente compartilhar ferramentas e consumir vulnerabilidades em todo o código aberto. Isso significa uma visão mais completa das vulnerabilidades em código aberto para todos, bem como tempos de detecção e correção mais rápidos resultantes de uma automação mais fácil”, escreveram Cox e Chang.
A especificação do esquema de vulnerabilidade passou por várias iterações e a equipe ainda solicita mais comentários conforme ela se aproxima da finalização. Vários bancos de dados públicos de vulnerabilidade hoje já estão exportando este formato, com mais em desenvolvimento:
- Banco de dados de vulnerabilidade Go para pacotes Go
- Banco de dados de consultoria de ferrugem para pacotes de carga
- Banco de dados de consultoria Python para pacotes PyPI
- Banco de dados DWF para vulnerabilidades no kernel Linux e outros softwares populares
- Banco de dados OSS-Fuzz para vulnerabilidades no software C/C++ encontrado por OSS-Fuzz
O serviço OSV também agregou todos esses bancos de dados de vulnerabilidade, que podem ser vistos em nossa UI da web. Eles também podem ser consultados com um único comando por meio das mesmas APIs existentes.
Além da automação existente do OSV, o Google e sua equipe também construíram mais ferramentas de automação para manutenção do banco de dados de vulnerabilidade e usaram essas ferramentas para inicializar o banco de dados de consultoria Python da comunidade.
“Essa automação pega os feeds existentes, combina-os com precisão aos pacotes e gera entradas contendo intervalos de versão validados e precisos com o mínimo de intervenção humana. Planejamos estender esse conjunto de ferramentas a outros ecossistemas para os quais não há banco de dados de vulnerabilidade existente ou pouco suporte para manutenção contínua do banco de dados”, escreveram.
(Com informações de ZDNet)