Errores que Persisten Ante el Calor del Fuzzing Continuo

A pesar de los significativos avances en la seguridad de software de código abierto gracias a iniciativas como OSS-Fuzz, las vulnerabilidades tecnológicas siguen siendo un desafío constante. OSS-Fuzz, en colaboración con la Fundación OpenSSF, ha desempeñado un papel crucial al identificar miles de vulnerabilidades a través de un proceso sistemático de fuzzing, analizando más de 1,300 proyectos sin costo para los mantenedores. Sin embargo, esta metodología no es infalible y algunos errores pueden persistir incluso en proyectos maduros.

Recientemente, se han realizado auditorías en varios proyectos populares afiliados a OSS-Fuzz, revelando vulnerabilidades significativas que han permanecido ocultas durante años. Un caso destacado es GStreamer, el marco multimedia del entorno GNOME, donde se descubrieron 29 nuevas vulnerabilidades, muchas de alto riesgo, a pesar de estar bajo fuzzing durante siete años. Su limitada cobertura de código, alrededor del 19%, resalta la necesidad de una supervisión continua y la creación de nuevos fuzzers.

El mismo escenario se presenta en Poppler, la biblioteca de análisis de PDFs en Ubuntu. Aunque tiene 16 generadores de fuzz y aproximadamente un 60% de cobertura de código, fue detectada una vulnerabilidad crítica que permitía la ejecución remota de código. Esto enfatiza la importancia de incluir las dependencias externas en el proceso de fuzzing para minimizar los riesgos.

Por otro lado, Exiv2, que permite la gestión de metadatos en imágenes, también mostró nuevas vulnerabilidades pese a estar en OSS-Fuzz por más de tres años. Esto subraya un patrón común: el enfoque tiende a la decodificación, descuidándose áreas como la codificación.

Estos ejemplos muestran que el fuzzing, aunque efectivo para detectar muchos errores, tiene sus limitaciones. La cobertura de código, la atención a las dependencias externas y la revisión manual son críticos para mejorar la eficacia del fuzzing. Los expertos abogan por una combinación de fuzzing con análisis estático y revisión manual para asegurar una protección robusta y proactiva contra amenazas emergentes.

Scroll al inicio