¿Qué es Fortify SCA y cómo instalarlo?

Fortify Static Code Analyzer (SCA) analiza el código fuente y señala la causa raíz de las vulnerabilidades de seguridad.

Un análisis de Fortify prioriza los problemas más graves y guía cómo los desarrolladores deben solucionarlos.

Analizador de código estático Fortify

Fortify Static Code Analyzer tiene varios analizadores de vulnerabilidades como Buffer, Content, Control Flow, Dataflow, Semantic, Configuration y Structural. Cada uno de estos analizadores acepta un tipo diferente de regla adaptada para ofrecer la información necesaria para el tipo de análisis realizado.

Fortify Static Code Analyzer tiene los siguientes componentes;

  • Asistente de escaneo de Fortify. Es una herramienta que ofrece opciones para ejecutar scripts antes o después del análisis.
  • Banco de trabajo de auditoría. Es una aplicación basada en GUI que organiza y gestiona los resultados analizados.
  • Editor de reglas personalizadas. Es una herramienta que permite a los desarrolladores crear y editar reglas personalizadas para el análisis.
  • Complemento para IntelliJ y Android Studio. Este complemento proporciona resultados de análisis dentro del IDE.
  • Complemento para Eclipse. Esta herramienta está integrada con Eclipse y muestra los resultados dentro del IDE.
  • Complemento de bambú. Es un complemento que recopila los resultados del trabajo de Bamboo que ejecuta un análisis.
  • Complemento Jenkins. Este complemento recopila resultados de análisis del trabajo de Jenkins.

Características de Fortify SCA

#1. Admite varios idiomas

Algunos de los idiomas admitidos en Fortify SCA son; ABAP/BSP, ActionScript, ASP (con VBScript), COBOL, ColdFusion, Apex, ASP.NET, C# (.NET), C/C++, Classic, VB.NET, VBScript, CFML, Go, HTML, Java (incluido Android ), JavaScript/AJAX, JSP, Kotlin, Visual Basic, MXML (Flex), Objective C/C++, PHP, PL/SQL, Python, Ruby, Swift, T-SQL y XML.

#2. Opciones de implementación flexibles

  • Fortify On-Prem permite a una organización un control total sobre todos los aspectos de Fortify SCA.
  • Fortify On Demand permite a los desarrolladores trabajar en un entorno de software como servicio.
  • Fortify Hosted permite a los desarrolladores disfrutar de ambos mundos (On Demand y On-Prem) a través de un entorno virtual aislado con control total de datos.

#3. Se integra fácilmente con las herramientas de CI/CD

  • Los desarrolladores pueden integrar fácilmente Fortify SCA con los principales IDE, como Visual Studio y Eclipse.
  • Los desarrolladores tienen control sobre varias acciones ya que la herramienta se integra con herramientas de código abierto como Sonatype, WhiteSource, Snyk y BlackDuck.
  • También puede integrar Fortify SCA con repositorios de código remotos como Bitbucket y GitHub. Por lo tanto, la herramienta puede verificar el código enviado a dichas plataformas en busca de vulnerabilidades y enviar informes.

#4. Alertas en tiempo real

No tiene que esperar hasta que haya terminado con la codificación para hacer sus pruebas, ya que Fortify SCA brinda actualizaciones en tiempo real a medida que codifica. La herramienta tiene analizadores estructurales y de configuración creados para brindar velocidad y eficiencia y lo ayuda a producir aplicaciones seguras.

#5. Asistente de auditoría con tecnología de aprendizaje automático

La auditoría de un sistema es rápida con el Asistente de auditoría, que utiliza algoritmos de aprendizaje automático. El asistente identifica todas las vulnerabilidades y las prioriza en función del nivel de confianza. Por lo tanto, las organizaciones pueden ahorrar en costos de auditoría a medida que la herramienta genera informes.

#6. Flexibilidad

Los usuarios pueden seleccionar el tipo de escaneo que desean realizar según sus necesidades. Por ejemplo, si desea escaneos precisos y detallados, puede seleccionar la opción de escaneo completo. Los desarrolladores también pueden seleccionar la opción de escaneo rápido si solo quieren que se detecten las principales amenazas.

¿Qué hace Fortify SCA?

Fortify SCA tiene varias funciones en un ecosistema de desarrollo típico. Los siguientes son algunos de los roles;

Las pruebas estáticas ayudan a crear un mejor código

La prueba de seguridad de aplicaciones estáticas (SAST) ayuda a identificar las vulnerabilidades de seguridad en las primeras etapas de desarrollo. Afortunadamente, la mayoría de estas vulnerabilidades de seguridad son económicas de solucionar.

Este enfoque reduce los riesgos de seguridad en las aplicaciones, ya que las pruebas brindan comentarios inmediatos sobre los problemas introducidos en el código durante el desarrollo.

Los desarrolladores también aprenden sobre seguridad a través de pruebas de seguridad de aplicaciones estáticas y, por lo tanto, pueden comenzar a producir software seguro.

Fortify SCA utiliza una amplia base de conocimientos de reglas de codificación segura y varios algoritmos para analizar el código fuente de una aplicación de software en busca de vulnerabilidades de seguridad. El enfoque analiza cualquier ruta factible que puedan seguir los datos y la ejecución para identificar vulnerabilidades y ofrecer soluciones.

Encuentra problemas de seguridad temprano

Fortify SCA imita a un compilador. Después de un análisis de Fortify, esta herramienta lee los archivos de código fuente y los convierte en una estructura intermedia mejorada para el análisis de seguridad.

Todas las vulnerabilidades de seguridad son fáciles de localizar en el formato intermedio. La herramienta viene con un motor de análisis compuesto por múltiples analizadores especializados que luego usarán reglas de codificación segura para analizar si el código viola alguna regla de prácticas de codificación segura.

Fortify SCA también viene con un generador de reglas si desea expandir las capacidades de análisis estático e incluir reglas personalizadas. Los resultados en tal configuración se pueden ver en diferentes formatos según la tarea y la audiencia.

Fortify Software Security Center (SSC) ayuda a administrar los resultados

Fortify Software Security Center (SSC) es un repositorio de administración centralizado que ofrece visibilidad de todo el programa de seguridad de aplicaciones de una organización. A través de SSC, los usuarios pueden auditar, revisar, priorizar y administrar los esfuerzos de reparación cuando se identifican amenazas de seguridad.

Fortify SSC ofrece un alcance y una imagen precisos de la postura de seguridad de las aplicaciones en una organización. SSC reside en un servidor central pero recibe resultados de diferentes actividades de prueba de seguridad de aplicaciones que van desde análisis en tiempo real, dinámicos hasta estáticos.

¿Qué tipo de análisis de código puede hacer Fortify SCA?

Un escaneo fortificado toma prestado de la arquitectura de los reinos perniciosos cuando se realiza un análisis de código. Estos son los tipos de análisis que hace Fortify SCA;

  • Validación y representación de entrada: los problemas asociados con la validación y representación de entrada provienen de codificaciones alternativas, representaciones numéricas y metacaracteres. Ejemplos de tales problemas son los «desbordamientos de búfer», los ataques de «secuencias de comandos entre sitios» y la «inyección SQL», que surgen cuando los usuarios confían en las entradas.
  • Abuso de API. La persona que llama que no cumple con el final del contrato es el tipo más común de abuso de API.
  • Características de seguridad. Esta prueba diferencia entre software de seguridad y software de seguridad. El análisis se centrará en cuestiones de autenticación, gestión de privilegios, control de acceso, confidencialidad y criptografía.
  • Tiempo y Estado. Las computadoras pueden cambiar entre diferentes tareas muy rápido. El análisis de tiempo y estado busca defectos que surjan de interacciones inesperadas entre hilos, información, procesos y tiempo.
  • Errores. Fortify SCA verificará si los errores brindan demasiada información a los posibles atacantes.
  • Calidad del código. La mala calidad del código generalmente conduce a un comportamiento impredecible. Sin embargo, los atacantes pueden tener la oportunidad de manipular una aplicación en su beneficio si se encuentran con un código mal escrito.
  • Encapsulación. Este es el proceso de trazar límites fuertes. Tal análisis puede significar diferenciar entre datos validados y no validados.

Descargue e instale Fortify SCA

Antes de iniciar el proceso de instalación, debe;

  • Verifique los requisitos del sistema de la documentación oficial
  • Obtenga el archivo de licencia de Fortify. Seleccione su paquete en la página de descargas de Microfocus. Busque Fortify Static Code Analyzer, cree su cuenta y obtenga un archivo de licencia de Fortify.

  • Asegúrese de tener instalado Visual Studio Code u otro editor de código compatible

Cómo instalar en Windows

Fortify_SCA_and_Apps_<version>_windows_x64.exe

NB: es la versión de lanzamiento del software

  • Haga clic en Siguiente después de aceptar el acuerdo de licencia.
  • Elija dónde instalar Fortify Static Code Analyzer y haga clic en Siguiente.
  • Seleccione los componentes que desea instalar y haga clic en Siguiente.
  • Especifique usuarios si está instalando una extensión para Visual Studio 2015 o 2017.
  • Haga clic en Siguiente después de especificar la ruta del archivo fortify.license.
  • Especifique la configuración necesaria para actualizar el contenido de seguridad. Puede usar el servidor de actualización de Fortify Rulepack especificando la URL como https://update.fortify.com. Haga clic en Siguiente.
  • Especifique si desea instalar un código fuente de muestra. Haga clic en Siguiente.
  • Haga clic en Siguiente para instalar Fortify SCA y las aplicaciones.
  • Haga clic en Actualizar contenido de seguridad después de la instalación y luego en Finalizar una vez finalizada la instalación.

Cómo instalar en Linux

Puede seguir los mismos pasos para instalar Fortify SCA en un sistema basado en Linux. Sin embargo, en el primer paso, ejecute esto como el archivo de instalación;

Fortify_SCA_and_Apps__linux_x64.run

Alternativamente, puede instalar Fortify SCA usando la línea de comandos.

Abre tu terminal y ejecuta este comando

./Fortify_SCA_and_Apps__linux_x64.run --mode text

Siga todas las indicaciones como se indica en la línea de comando hasta que finalice el proceso de instalación.

Cómo ejecutar un análisis de Fortify

Una vez que haya terminado con la instalación, es hora de configurar la herramienta para el análisis de seguridad.

  • Dirígete al directorio de instalación y navega a la carpeta bin usando el símbolo del sistema.
  • Escriba scapostinstall. A continuación, puede escribir s para mostrar la configuración.
  • Configure la configuración regional usando estos comandos;

Escriba 2 para seleccionar Configuración.

Escriba 1 para seleccionar General.

Escriba 1 para seleccionar la configuración regional

Para el idioma, escriba English: en para establecer el idioma como inglés.

  • Configurar actualizaciones de contenido de seguridad. Escriba 2 para seleccionar Configuración y luego escriba 2 nuevamente para seleccionar Actualización de Fortify. Ahora puede usar el servidor de actualización de Fortify Rulepack especificando la URL como https://update.fortify.com.
  • Escriba sourceanalyzer para verificar si la herramienta está completamente instalada.

Fortify SCA ahora se ejecutará en segundo plano y verificará todo su código en busca de vulnerabilidades de seguridad.

Terminando

Los casos de sistemas pirateados y datos comprometidos se han vuelto rampantes en esta era de Internet. Afortunadamente, ahora tenemos herramientas como Fortify Static Code Analyzer que pueden detectar amenazas de seguridad a medida que se escribe el código, enviar alertas y brindar recomendaciones sobre cómo manejar dichas amenazas. Fortify SCA puede aumentar la productividad y reducir los costos operativos cuando se usa con otras herramientas.

También puede explorar el análisis de composición de software (SCA) para mejorar la seguridad de su aplicación.