
Este proyecto contiene el código fuente del CERT Basic Fuzzing Framework (BFF) y del CERT Failure Observation Engine (FOE).
Este proyecto contiene el código fuente del CERT Basic Fuzzing Framework (BFF)
BFF para Windows se conocía anteriormente como CERT Failure Observation Engine (FOE).
Dependiendo de tu nivel de dificultad preferido y puntos de experiencia, elige entre las opciones a continuación.
La mayor parte del código de BFF se puede encontrar en el paquete certfuzz src/certfuzz. Para probar el código de certfuzz en una instalación existente de BFF, reemplaza el directorio certfuzz en tu instalación con el directorio certfuzz que se encuentra en este repositorio.
Algunos elementos específicos de plataforma están en src/windows y . BFF para OSX también usa . Consulta y para leer documentos específicos de plataforma, y si te sientes especialmente aventurero.
src/linuxsrc/linuxsrc/linux/READMEsrc/windows/README.txtsrc/linux/INSTALLEn realidad, usamos un sistema de integración continua con algunas herramientas específicas de plataforma junto con el código en el directorio build/ para construir las versiones que se encuentran en los enlaces anteriores. Sin embargo, en este momento, no se espera que el código de construcción funcione en ningún otro lugar que no sea ese entorno. De hecho, el código en la rama master está centrado en svn, por lo que ni siquiera funcionó cuando cambiamos a git. Hemos corregido eso en nuestro sistema de desarrollo interno, pero aún no lo hemos fusionado con el código publicado aquí.
Además, los scripts de construcción modifican algunos archivos y mueven cosas para armar los paquetes de versión y construir instaladores. Sin embargo, los nombres de archivo (pero no necesariamente las ubicaciones) en los directorios src/ generalmente permanecen intactos, por lo que deberías poder averiguar dónde van las cosas si buscas fuera del directorio src/certfuzz. (Como se mencionó en la sección Fácil anterior, src/certfuzz debería ser un reemplazo directo).
Si todo eso parece más un desafío que una advertencia, adelante.
Consulta src/experimental/README.md para conocer algunos callejones sin salida que podrían ser marginalmente útiles.
El CERT Basic Fuzzing Framework (BFF) es una herramienta de prueba de software que encuentra defectos en aplicaciones que se ejecutan en Linux, Mac OS X y Windows.
BFF realiza fuzzing mutacional sobre software que consume entrada de archivos. BFF recopila automáticamente casos de prueba que causan que el software falle de maneras únicas, así como información de depuración asociada con los fallos. El objetivo de BFF es minimizar el esfuerzo requerido para que los proveedores de software y los investigadores de seguridad descubran y analicen eficientemente las vulnerabilidades de seguridad encontradas mediante fuzzing.
El fuzzing mutacional es el acto de tomar datos de entrada bien formados y corromperlos de varias maneras, buscando casos que causen fallos. BFF recopila automáticamente casos de prueba que causan que el software falle de maneras únicas, así como información de depuración asociada con los fallos. El objetivo de BFF es minimizar el esfuerzo requerido para que los proveedores de software y los investigadores de seguridad descubran y analicen eficientemente las vulnerabilidades de seguridad encontradas mediante fuzzing.
Tradicionalmente, el fuzzing ha sido muy efectivo para encontrar vulnerabilidades de seguridad, pero debido a su naturaleza inherentemente estocástica, los resultados pueden depender en gran medida de la configuración inicial del sistema de fuzzing. BFF aplica técnicas de aprendizaje automático y computación evolutiva para minimizar la cantidad de configuración manual requerida para iniciar y completar una campaña de fuzzing efectiva. BFF ajusta sus parámetros de configuración en función de lo que encuentra (o no encuentra) durante el transcurso de una campaña de fuzzing. Al hacerlo, puede aumentar drásticamente tanto la eficacia como la eficiencia de la campaña. Como resultado, no se requiere conocimiento experto para configurar una campaña de fuzzing efectiva, y tanto novatos como expertos pueden comenzar a encontrar y analizar vulnerabilidades muy rápidamente.
Las siguientes son algunas de las características específicas disponibles en BFF:
En el CERT/CC, hemos utilizado la infraestructura de BFF para encontrar una serie de vulnerabilidades críticas en productos como Adobe Reader y Flash Player; Foxit Reader; Apple QuickTime, Preview y Mac OS X; Xpdf; Poppler; FFmpeg; JasPer; Wireshark; el códec de video VMware VMnc; el códec de video Indeo; y muchos otros. Consulta Public Vulnerabilities Discovered Using BFF.
BFF y FOE comenzaron como dos proyectos separados pero relacionados dentro del equipo de Análisis de Vulnerabilidades de CERT/CC. Con el tiempo, convergieron en su arquitectura hasta el punto en que BFF 2.7 y FOE 2.1 compartían gran parte de su código. A partir de BFF 2.8, esta integración está completa y hemos retirado el nombre FOE en favor de BFF.
Las publicaciones del blog sobre BFF y FOE se pueden encontrar en la categoría CERT/CC Vulnerabilities del SEI Blog.