Google introduziu o sistema de teste fuzz ClusterFuzzLite

O Google introduziu o projeto ClusterFuzzLite, que permite organizar testes de difusão de código para detecção precoce de vulnerabilidades potenciais durante a operação de sistemas de integração contínua. Atualmente, o ClusterFuzz pode ser usado para automatizar testes fuzz de solicitações pull em GitHub Actions, Google Cloud Build e Prow, mas o suporte para outros sistemas de CI é esperado no futuro. O projeto é baseado na plataforma ClusterFuzz, criada para coordenar o trabalho de fuzzing de clusters de teste, e é distribuído sob a licença Apache 2.0.

Observa-se que depois que o Google introduziu o serviço OSS-Fuzz em 2016, mais de 500 projetos importantes de código aberto foram aceitos no programa de testes contínuos de fuzzing. Com base nos testes realizados, foram eliminadas mais de 6500 vulnerabilidades confirmadas e corrigidos mais de 21 mil erros. ClusterFuzzLite continua a desenvolver mecanismos de teste de difusão com a capacidade de identificar problemas mais cedo na fase de revisão das alterações propostas. O ClusterFuzzLite já foi implementado nos processos de revisão de alterações nos projetos systemd e curl, e possibilitou a identificação de erros perdidos por analisadores estáticos e linters utilizados na fase inicial de verificação de novos códigos.

ClusterFuzzLite oferece suporte à revisão de projetos em C, C++, Java (e outras linguagens baseadas em JVM), Go, Python, Rust e Swift. O teste de difusão é realizado usando o mecanismo LibFuzzer. As ferramentas AddressSanitizer, MemorySanitizer e UBSan (UndefinedBehaviorSanitizer) também podem ser chamadas para identificar erros e anomalias de memória.

Principais recursos do ClusterFuzzLite: verificação rápida das alterações propostas para encontrar erros antes da aceitação do código; download de relatórios sobre condições de acidente; a capacidade de passar para testes de difusão mais avançados para identificar erros mais profundos que não surgiram após a verificação das alterações no código; geração de relatórios de cobertura para avaliar a cobertura do código durante os testes; arquitetura modular que permite selecionar a funcionalidade necessária.

Lembremos que o teste de difusão envolve a geração de um fluxo de todos os tipos de combinações aleatórias de dados de entrada próximos aos dados reais (por exemplo, páginas HTML com parâmetros de tags aleatórios, arquivos ou imagens com títulos anômalos, etc.) e o registro de possíveis falhas no processo de seu processamento. Se uma sequência travar ou não corresponder à resposta esperada, é altamente provável que esse comportamento indique um bug ou vulnerabilidade.

Fonte: opennet.ru

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