Google descobre FALHAS com IA em Códigos Open-Source
21 de Novembro de 2024

O Google revelou que sua ferramenta de fuzzing impulsionada por IA, OSS-Fuzz, foi usada para ajudar a identificar 26 vulnerabilidades em vários repositórios de código aberto, incluindo uma falha de gravidade média na biblioteca criptográfica OpenSSL.

"Essas vulnerabilidades específicas representam um marco para a descoberta automatizada de vulnerabilidades: cada uma foi encontrada com IA, usando alvos de fuzz gerados e aprimorados por IA", disse a equipe de segurança de código aberto do Google em um post no blog compartilhado com o The Hacker News.

A vulnerabilidade do OpenSSL em questão é a CVE-2024-9143 (pontuação CVSS: 4.3), um bug de escrita de memória fora dos limites que pode resultar em um crash de aplicação ou execução remota de código.

A questão foi abordada nas versões do OpenSSL 3.3.3, 3.2.4, 3.1.8, 3.0.16, 1.1.1zb e 1.0.2zl.

O Google, que adicionou a capacidade de aproveitar modelos de linguagem grandes (LLMs) para melhorar a cobertura de fuzzing no OSS-Fuzz em agosto de 2023, disse que a vulnerabilidade provavelmente esteve presente no código-base por duas décadas e que "não teria sido descoberta com os alvos de fuzz existentes escritos por humanos".

Além disso, o gigante da tecnologia observou que o uso da IA para gerar alvos de fuzz melhorou a cobertura de código em 272 projetos C/C++, adicionando mais de 370.000 linhas de novo código.

"Uma razão para que tais bugs pudessem permanecer não descobertos por tanto tempo é que a cobertura de linhas não é uma garantia de que uma função está livre de bugs", disse o Google.

Cobertura de código como métrica não é capaz de medir todos os caminhos e estados de código possíveis – diferentes sinalizações e configurações podem disparar comportamentos diferentes, desenterrando bugs diferentes. Essas descobertas de vulnerabilidades assistidas por IA também são possíveis pelo fato de que os LLMs estão se mostrando hábeis em emular o fluxo de trabalho de fuzzing de um desenvolvedor, permitindo assim mais automação.

O desenvolvimento vem à medida que a empresa revelou no início deste mês que sua estrutura baseada em LLM chamada Big Sleep facilitou a detecção de uma vulnerabilidade zero-day no motor de banco de dados de código aberto SQLite.

Em conjunto, o Google está trabalhando para transicionar seus próprios códigos-fonte para linguagens seguras em termos de memória, como Rust, ao mesmo tempo que implementa mecanismos para abordar vulnerabilidades de segurança de memória espacial – que ocorrem quando é possível para um trecho de código acessar memória fora de seus limites pretendidos – em projetos C++ existentes, incluindo o Chrome.

Isso inclui a migração para Safe Buffers e a ativação de libc++ reforçada, esta última adiciona checagem de limites a estruturas de dados padrão C++ para eliminar uma classe significativa de bugs de segurança espacial.

Foi ainda observado que o overhead incorrido como resultado da incorporação da mudança é mínimo (ou seja, um impacto médio no desempenho de 0.30%).

"O libc++ reforçado, recentemente adicionado por contribuidores de código aberto, introduz um conjunto de verificações de segurança projetadas para capturar vulnerabilidades como acessos fora dos limites em produção", disse o Google.

Embora C++ não se torne totalmente seguro em relação à memória, essas melhorias reduzem o risco [...], levando a software mais confiável e seguro.

Publicidade

Não compre curso de Pentest

Em 14 de janeiro a Solyd irá revolucionar a forma como pentest e hacking deve ser ensinado. Se inscreva para ser o primeiro a saber das novidades. Saiba mais...