Automatización de escaneo de HP Fortify

4

Se me pide que integre la herramienta de auditoría de código HP Fortify en nuestro proceso de desarrollo, pero la principal limitación es que no se debe escanear todo el código cada vez: solo se deben analizar las clases afectadas por el último elemento de la cartera de pedidos.

Estamos utilizando Jenkins y SonarQube, así que eché un vistazo a los complementos disponibles pero no encontré nada que cumpliera con los requisitos: no escanear todo el código cada vez.

¿Sabrías alguna herramienta o configuración de HP Fortify que pueda adaptarse a lo que necesito?

    
pregunta MedAl 18.04.2017 - 15:54
fuente

2 respuestas

1

No se puede hacer con esas herramientas. Tengo el mismo "problema" que usted usando exactamente las mismas herramientas.

De todos modos, desde un punto de vista de seguridad no es un problema. En mi opinión, escanear solo una parte del código podría llevarlo a no detectar ciertos errores. Intentaré explicarlo más tarde. Otra historia es mostrar los nuevos problemas detectados en SonarQube. Eso se puede hacer y creo que es lo que realmente necesitas.

Supongamos que ya tiene un análisis de vulnerabilidad incremental en ejecución. Tal vez usted tiene una vulnerabilidad en una clase que no se detecta porque la clase aún no se usa. Luego, otro tipo de uso de esa clase y la vulnerabilidad de seguridad podría tener lugar, pero si escanea solo la confirmación por compromiso, nunca descubrirá esa vulnerabilidad porque su escáner solo escaneará esa parte del código sin entrar en el "código antiguo ya escaneado" .

Creo que es mejor escanear siempre todo el código, pero solo mostrar los nuevos problemas detectados en SonarQube.

    
respondido por el OscarAkaElvis 21.04.2017 - 10:25
fuente
1

Como han mencionado otros, Fortify y la mayoría de las herramientas de escaneo no solo escanean el delta de archivos modificados. Escanean todo el código base.

Con Fortify, es una herramienta que hace un uso intensivo de recursos por naturaleza. Y si el código base es considerable, necesitará una máquina fuerte para cortarlo rápidamente. Sugiero lo siguiente ...

Suponiendo que tiene acceso a AWS o Azure, gire dos imágenes. Una es una imagen de intensidad de luz media, que contendrá el portal y los informes de Fortify. Éste puede permanecer despierto 24 horas. En segundo lugar, luego gire otra imagen muy fuerte, que solo estará activa durante los escaneos.

Para hacer esto, utilice Jenkins para hacer llamadas a la API para girar la imagen de la máquina de escaneo justo antes de comenzar el escaneo.

Si tiene un buen poder de cómputo, incluso con bases de código grandes, no debería tomar más de un par de horas para escanear.

Una vez que se complete el análisis, enviará los resultados al portal principal / servidor de informes y podrá usar nuevamente las llamadas API para cerrar esa instancia. Esto es para mantener sus costos bajos.

Por último, tenemos que hablar de Fortify vs. Sonarqube. Mi opinión personal es que debes usar ambos. Después de verter los resultados de ambos, Fortify recoge más elementos relacionados con la vulnerabilidad. Sonarqube recoge más problemas relacionados con la sintaxis / lógica, con algunas vulnerabilidades mezcladas.

En mi experiencia, se complementan muy bien.

Espero que esto ayude, si tiene más preguntas, envíeme un PM o pregúntelo aquí.

¡Buena suerte!

    
respondido por el mumbles 21.04.2017 - 12:08
fuente

Lea otras preguntas en las etiquetas