Ferramenta de código aberto da Microsoft ajuda desenvolvedores

A Microsoft abriu o código-fonte OneFuzz, sua própria plataforma interna contínua de fuzzing voltada para o desenvolvedor, permitindo que desenvolvedores em todo o mundo recebam os resultados dos testes de fuzz diretamente de seu sistema de compilação.

Fuzzing é uma técnica de teste de software automatizado que envolve a entrada de dados aleatórios, inesperados, malformados e / ou inválidos em um programa de computador. O objetivo é revelar exceções (por exemplo, travamentos, vazamentos de memória, etc.) e comportamentos inesperados que podem afetar a segurança e o desempenho do programa.

Fuzzing contínuo orientado ao desenvolvedor movido a Azure

O Project OneFuzz é uma plataforma extensível e auto-hospedada Fuzzing-as-A-Service para Azure que agrega vários fuzzers existentes e (por meio da automação) participa da detecção de falhas, rastreamento de cobertura e aproveitamento de entrada.

A ferramenta é usada pelas equipes internas da Microsoft para fortalecer o desenvolvimento de segurança do Windows, Microsoft Edge e outros produtos de software.

“Tradicionalmente, o teste fuzz tem sido uma faca de dois gumes para desenvolvedores: exigido pelo ciclo de vida de desenvolvimento de software, altamente eficaz em encontrar falhas acionáveis, mas muito complicado de controlar, executar e extrair informações”, engenharia de software de segurança principal de segurança da Microsoft o líder Justin Campbell e o diretor sênior de gerenciamento de projetos especiais Mike Walker observou .

“Essa complexidade exigiu equipes de engenharia de segurança dedicadas para construir e operar recursos de teste de difusão, tornando-o muito útil, mas caro. Permitir que os desenvolvedores realizem o teste fuzz muda a descoberta de vulnerabilidades para o início do ciclo de vida de desenvolvimento e, simultaneamente, libera as equipes de engenharia de segurança para buscar trabalho proativo ”.

Os recursos da ferramenta

Como os dois explicaram, o OneFuzz permitirá aos desenvolvedores lançar trabalhos fuzz – variando em tamanho de algumas máquinas virtuais a milhares de núcleos – com uma única linha de comando incorporada ao sistema de construção.

Os recursos da ferramenta incluem:

  • Fluxos de trabalho de difusão combináveis: O código-fonte aberto permite que os usuários integrem seus próprios difusores, troquem a instrumentação e gerenciem as entradas iniciais.
  • Fuzzing de conjunto integrado : Por padrão, os fuzzers trabalham em equipe para compartilhar forças, trocando entradas de interesse entre as tecnologias de fuzzing.
  • Triagem programática e desduplicação de resultados: fornece casos de falha exclusivos que sempre se reproduzem.
  • Depuração ao vivo sob demanda de travamentos encontrados: permite aos usuários convocar uma sessão de depuração ao vivo sob demanda ou a partir de seu sistema de construção.
  • Design transparente que permite a introspecção em todas as fases.
  • Telemetria detalhada: fácil monitoramento de todos os difusões
  • Multi-plataforma por design: o difusão pode ser executado em sistemas operacionais Windows e vários Linux, usando a própria construção de sistema operacional, kernel ou hipervisor aninhado.
  • Retornos de chamada de notificação de falha: atualmente com suporte para itens de trabalho do Azure DevOps e mensagens do Microsoft Teams
  • KPIs de cobertura de código: os usuários podem monitorar seu progresso e motivar os testes usando cobertura de código como métrica principal.

O OneFuzz estará disponível para o resto do mundo em alguns dias (via GitHub ). A Microsoft continuará a atualizá-lo e expandi-lo com contribuições de várias equipes da empresa e agradece contribuições e sugestões da comunidade de código aberto mais ampla.

Fonte: https://www.helpnetsecurity.com/2020/09/16/continuous-developer-driven-fuzzing/