Fuzzing puede ser una herramienta valiosa para descubrir vulnerabilidades de día cero en el software. Con la esperanza de fomentar su uso por parte de desarrolladores e investigadores, Google anunció el miércoles que ahora ofrece acceso gratuito a su marco de fuzzing. OSS-Fuzz.
Según Google, se pueden obtener mejoras de seguridad tangibles utilizando el marco para automatizar los aspectos manuales de las pruebas fuzz con la ayuda de modelos de lenguaje grandes (LLM). «Usamos LLM para escribir código específico del proyecto para aumentar la cobertura de fuzzing y encontrar más vulnerabilidades», escribieron en una empresa los miembros del equipo de seguridad de código abierto de Google Dongge Liu y Oliver Chang y los miembros del equipo de seguridad de lenguaje de máquina Jan Nowakowski y Jan Keller. Blog
Hasta ahora, OSS-Fuzz y su cobertura ampliada de fuzzing ofrecida por mejoras generadas por LLM han permitido a Google descubrir dos nuevas vulnerabilidades en cJSON y libplist, a pesar de que ambos proyectos ampliamente utilizados ya habían sido fuzzed durante años, señalaron. Sin el código completamente generado por LLM, estas dos vulnerabilidades podrían haber permanecido sin descubrir y sin corregir indefinidamente, agregaron.
Fuzzing es una prueba automatizada
«Fuzzing existe desde hace décadas y está ganando popularidad gracias a su éxito en la búsqueda de vulnerabilidades previamente desconocidas o de día cero», afirma John McShane, director senior de productos de seguridad de Synopsys Software Integrity Group, un proveedor de una plataforma de seguridad optimizada para DevSecOps. «La infame vulnerabilidad Heartbleed fue descubierta por ingenieros de seguridad que utilizaban Defensics, un producto comercial de fuzzing».
El fuzzing puede atrapar muchos “frutos maduros”, pero también puede exponer algunos elementos de alto impacto, como desbordamientos de buffer, agrega Gisela Hinojosa, jefa de servicios de ciberseguridad en Cobalt Labs, una empresa de pruebas de penetración. «Dado que la fuzzing es una prueba automatizada, no necesita una niñera», afirma. “Simplemente hará lo suyo y realmente no tienes que preocuparte por eso. Es una manera relativamente fácil de encontrar vulnerabilidades”.
El fuzzing no sustituye a las tácticas de seguridad por diseño
Sin embargo, Shane Miller, asesor de la Fundación Rust y miembro principal del Atlantic Council, un grupo de expertos en economía y asuntos internacionales, con sede en Washington, DC, advierte: «Las inversiones en herramientas de prueba dinámicas como la fuzzing no son un sustituto de la seguridad». Son tácticas predeterminadas, como elegir lenguajes de programación seguros para la memoria, pero son una herramienta poderosa para mejorar la seguridad del software”.