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 Fortify prioriza los problemas más graves y orienta a los desarrolladores sobre cómo deben solucionarlos.

Analizador de código estático Fortify

El Analizador de código estático Fortify dispone de varios analizadores de vulnerabilidades, como Buffer, Contenido, Flujo de control, Flujo de datos, Semántico, Configuración y Estructural. 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

El Analizador de código estático Fortify tiene los siguientes componentes;

  • Asistente de análisis Fortify. Es una herramienta que ofrece opciones para ejecutar scripts después o antes 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.
  • Plugin para IntelliJ y Android Studio. Este plugin proporciona los resultados del análisis dentro del IDE.
  • Plugin para Eclipse. Esta herramienta se integra con Eclipse y muestra los resultados dentro del IDE.
  • Plugin para Bamboo. Es un plugin que recoge los resultados del trabajo de Bamboo que ejecuta un análisis.
  • Plugin Jenkins. Este plugin recoge los resultados del análisis desde el Jenkins Job.

Características de Fortify SCA

Features-of-Fortify-SCA-

#1. Soporta múltiples idiomas

Algunos de los lenguajes compatibles con 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 despliegue flexibles

  • FortifyOn-Prem permite a una organización el control total sobre todos los aspectos de Fortify SCA.
  • FortifyOn Demand permite a los desarrolladores trabajar en un entorno de Software como Servicio.
  • FortifyHosted permite a los desarrolladores disfrutar de los dos mundos (On Demand y On-Prem) a través de un entorno virtual aislado con control total de los datos.

#3. Se integra fácilmente con herramientas 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. La herramienta puede así comprobar el código empujado a tales plataformas en busca de vulnerabilidades y enviar informes.

#4. Alertas en tiempo real

No tiene que esperar a terminar de codificar para realizar las pruebas, ya que Fortify SCA ofrece actualizaciones en tiempo real a medida que codifica. La herramienta tiene analizadores de configuración y estructurales construidos para la velocidad y la eficiencia y le ayuda a producir aplicaciones seguras.

#5. Asistente de auditoría impulsado por aprendizaje automático

La auditoría de un sistema es rápida gracias al 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. De este modo, las organizaciones pueden ahorrar en costes de auditoría, ya que la herramienta genera informes.

#6. Flexibilidad

Los usuarios pueden seleccionar el tipo de escaneado que desean realizar en función de sus necesidades. Por ejemplo, si desean escaneos precisos y detallados, pueden seleccionar la opción de escaneo exhaustivo. Los desarrolladores también pueden seleccionar la opción de escaneado rápido si sólo desean que se detecten las amenazas más importantes.

¿Qué hace Fortify SCA?

What-does-Fortify-SCA-do

Fortify SCA tiene varias funciones en un ecosistema de desarrollo típico. Las siguientes son algunas de las funciones;

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

Las pruebas estáticas de seguridad de aplicaciones (SAST) ayudan a identificar las vulnerabilidades de seguridad en las primeras fases de desarrollo. Afortunadamente, la mayoría de estas vulnerabilidades de seguridad son poco costosas de solucionar.

Este enfoque reduce los riesgos de seguridad en las aplicaciones, ya que las pruebas proporcionan información inmediata sobre los problemas introducidos en el código durante el desarrollo.

Los desarrolladores también aprenden sobre seguridad a través de las pruebas estáticas de seguridad de las aplicaciones, y así pueden empezar a producir software seguro.

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

Encuentra los problemas de seguridad con antelación

Fortify SCA imita a un compilador. Tras un análisis 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 utilizará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 creador de reglas por si desea ampliar las capacidades de análisis estático e incluir reglas personalizadas. Los resultados pueden visualizarse en distintos formatos en función de la tarea y el público.

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

Fortify Software Security Center (SSC) es un repositorio de gestión centralizado que ofrece visibilidad a todo el programa de seguridad de aplicaciones de una organización. A través de SSC, los usuarios pueden auditar, revisar, priorizar y gestionar los esfuerzos de remediación cuando se identifican amenazas a la 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 pruebas 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 realizar Fortify SCA?

What-type-of-code-analysis-can-Fortify-SCA-do

Un análisis Fortify toma prestada la arquitectura de los reinos perniciosos a la hora de realizar análisis de código. Estos son los tipos de análisis que realiza Fortify SCA;

  • Validación y Representación deEntrada- los problemas asociados con la Validación y Representación de Entrada provienen de codificaciones alternativas, representaciones numéricas y metacaracteres. Ejemplos de estos problemas son los «Desbordamientos de búfer», los ataques de «Cross-Site Scripting» y la «Inyección SQL«, que surgen cuando los usuarios confían en las entradas.
  • Abuso de la API. El incumplimiento del final del contrato por parte de quien llama es el tipo más común de abuso de la API.
  • Características de seguridad. Esta prueba diferencia entre la seguridad del software y el 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. Los ordenadores pueden cambiar entre diferentes tareas muy rápidamente. El análisis de tiempo y estado busca defectos derivados de interacciones inesperadas entre hilos, información, procesos y tiempo.
  • Errores. Fortify SCA comprobará si los errores proporcionan demasiada información a los posibles atacantes.
  • Calidad del código. Una mala calidad del código suele dar lugar 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. Se trata del proceso de trazar límites sólidos. Puede significar diferenciar entre datos validados y no validados.

Descargar e instalar Fortify SCA

Antes de iniciar el proceso de instalación, debe

  • Comprobar los requisitos del sistema en la documentación oficial
  • Obtener el archivo de licencia de Fortify. Seleccionar el paquete en la página de descargas de Microfocus. Busque Fortify Static Code Analyzer, cree su cuenta y obtenga el archivo de licencia de Fortify.
download
  • Asegúrese de tener instalado Visual Studio Code u otro editor de código compatible

Cómo instalar en Windows

  • Ejecute el archivo de instalación
Fortify_SCA_y_Apps_<version>_windows_x64.exe

NB: es la versión de lanzamiento del software

  • Haga clic en Siguiente tras aceptar el acuerdo de licencia.
  • Elija dónde instalar el Analizador de código estático Fortify y haga clic en Siguiente .
  • Seleccione los componentes que desea instalar y haga clic en Siguiente.
  • Especifique los usuarios si va a instalar una extensión para Visual Studio 2015 o 2017.
  • Haga clic en Siguiente después de especificar la ruta para el archivo fortify.license.
  • Especifique los ajustes necesarios para actualizar el contenido de seguridad. Puede utilizar el servidor de actualización 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 tras 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 archivo instalador;

Fortify_SCA_y_Apps__linux_x64.run

También puede instalar Fortify SCA utilizando la línea de comandos.

Abra su terminal y ejecute este comando

./Fortify_SCA_and_Apps__linux_x64.run --mode text

Siga todas las indicaciones de la línea de comandos hasta finalizar el proceso de instalación.

Cómo ejecutar un análisis Fortify

How-to-run-a-Fortify-scan

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

  • Diríjase al directorio de instalación y navegue hasta la carpeta bin utilizando la línea de comandos.
  • Escriba scapostinstall. A continuación, escriba s para mostrar la configuración.
  • Configure la configuración regional utilizando estos comandos;

Teclee 2 para seleccionar Configuración.

Escriba 1 para seleccionar General.

Teclee 1 para seleccionar Configuración regional

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

  • Configure las actualizaciones de contenido de seguridad. Escriba 2 para seleccionar Configuración y vuelva a escribir 2 para seleccionar Actualización de Fortify. Ahora puede utilizar el servidor de actualización Fortify Rulepack especificando la URL como https://update.fortify.com.
  • Escriba sourceanalyzer para comprobar si la herramienta está completamente instalada.

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

Recapitulación

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

También puede explorar el Análisis de Composición de Software (SCA) para mejorar la seguridad de su aplicación.