Google lançou o Vanir, um analisador estático para identificar vulnerabilidades não corrigidas

A empresa Google apresentou o novo projeto aberto Vanir, que desenvolve um analisador estático para identificar automaticamente patches não aplicados ao código, que eliminam vulnerabilidades. O Vanir utiliza uma base de assinaturas com informações sobre vulnerabilidades conhecidas e patches para corrigir essas falhas. Esta base de dados é mantida pelo Google desde julho de 2020 e abrange 95% das vulnerabilidades em projetos relacionados à plataforma Android, incluindo o núcleo Linux. Atualmente, é suportada a verificação de código-fonte nas linguagens C, C++ e Java. O código do Vanir é escrito em C++ e Python, e é distribuído sob a licença BSD.

O projeto consiste em duas partes — um gerador de assinaturas e um detector de patches ausentes. O gerador cria uma assinatura para identificar a ausência de uma correção com base na descrição da vulnerabilidade no formato OSV e um link para o patch ou commit que corrige a vulnerabilidade. Na sua forma atual, é suportado o processamento de commits nos repositórios googlesource.com e git.codelinaro.org, mas o suporte a outros serviços pode ser facilmente adicionado através da conexão de um manipulador para extração de código.

O detector analisa o código no repositório especificado e identifica a ausência de correções descritas nas assinaturas fornecidas. A implementação é baseada em algoritmos de refinamento automático de assinaturas e análise de múltiplos padrões, propostos em projetos de pesquisa como ReDeBug e VUDDY. Em um PC moderno com CPU de 16 núcleos, a varredura de árvore de código-fonte da plataforma Android pela base de dados OSV, que contém informações sobre mais de 2000 vulnerabilidades, leva de 10 a 20 minutos. O produto final é um relatório com uma lista de vulnerabilidades potencialmente não corrigidas e links para as respectivas posições no código, identificadores CVE e patches. De acordo com estatísticas coletadas ao longo de dois anos de uso do Vanir no Google, a taxa de falsos positivos é de 2,72%.

Google lançou o Vanir, um analisador estático para identificar vulnerabilidades não corrigidas
Google lançou o Vanir, um analisador estático para identificar vulnerabilidades não corrigidas

Vantagens da ferramenta proposta:

  • Capacidade de identificar vulnerabilidades não corrigidas em ramificações externas, modificações e empréstimos de código, não diretamente relacionados ao projeto principal. No contexto do Android, a ferramenta pode ser utilizada para verificar a aplicação de correções nas variantes da plataforma Android desenvolvidas por fabricantes de dispositivos OEM.
  • A execução da verificação baseia-se apenas na análise do código existente, sem a vinculação a metadados, como o número da versão, histórico de commits e SBOM (Software Bill Of Materials).
  • Suporte à geração automática de assinaturas, utilizando informações sobre vulnerabilidades que aparecem em fontes públicas e patches publicados.
  • Desempenho de verificação mais elevado baseado na análise estática do código-fonte em comparação com ferramentas de análise dinâmica e verificação de builds binários.
  • Autossuficiência — a capacidade de implantar infraestrutura em seus próprios sistemas sem recorrer a serviços externos.
  • Disponibilidade de uma base de assinaturas atualizada, acompanhada pela equipe de Segurança do Google Android.
  • Suporte à conexão com sistemas de integração e entrega contínuas (CI/CD). Possibilidade de integração em outros projetos usando o Vanir na forma de bibliotecas em Python.
  • Capacidade de adaptar o sistema para tarefas não relacionadas a vulnerabilidades, por exemplo, para identificar clonagem de código ou uso de código licenciado em outros projetos.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster