tutorial significado program español dental fortify

program - fortify significado



¿Cómo funciona el software Fortify? (4)

@LaJmOn tiene una muy buena respuesta, pero a un nivel de abstracción completamente diferente, puedo responder la pregunta de otra manera:

  1. Su código fuente se traduce en un modelo intermedio, que está optimizado para el análisis por SCA.

  2. Algunos tipos de código requieren múltiples etapas de traducción. Por ejemplo, un archivo C # debe compilarse primero en un debug .DLL o .EXE, y luego ese archivo binario .NET se desensambla en el lenguaje intermedio de Microsoft (MSIL) mediante la utilidad ildasm.exe del SDK de .NET. Mientras que otros archivos, como un archivo Java o un archivo ASP, se traducen en una sola pasada por el traductor Fortify SCA apropiado para ese idioma.

  3. SCA carga el modelo en la memoria y carga los analizadores. Cada analizador carga reglas y aplica esos roles a las funciones en su modelo de programa, de manera coordinada.

  4. Las coincidencias se escriben en un archivo FPR, con la información de vulnerabilidad, información de seguridad, código fuente, referencia cruzada de la fuente y información de navegación del código, especificación de filtrado de usuarios, cualquier regla personalizada y firmas digitales, todo incluido en el paquete.

Fortify es un SCA utilizado para encontrar las vulnerabilidades de seguridad en el código de software. Solo sentía curiosidad por saber cómo funciona este software internamente. Sé que necesita configurar un conjunto de reglas contra las cuales se ejecutará el código. Pero cómo exactamente es capaz de encontrar las vulnerabilidades en el código.

¿Alguien tiene alguna idea sobre esto?

Gracias por adelantado.


HP Fortify SCA tiene 6 analizadores: flujo de datos, flujo de control, semántico, estructural, configuración y buffer. Cada analizador encuentra diferentes tipos de vulnerabilidades.

Flujo de datos Este analizador detecta vulnerabilidades potenciales que involucran datos contaminados (entrada controlada por el usuario) que se ponen en un uso potencialmente peligroso. El analizador de flujo de datos utiliza un análisis de propagación de la distorsión global e inter-procedimientos para detectar el flujo de datos entre una fuente (sitio de entrada del usuario) y un sumidero (llamada u operación de función peligrosa). Por ejemplo, el analizador de flujo de datos detecta si una cadena de entrada controlada por el usuario de longitud ilimitada se está copiando en un búfer de tamaño estático, y detecta si una cadena controlada por el usuario se está utilizando para construir texto de consulta SQL.

Flujo de control Este analizador detecta secuencias potencialmente peligrosas de operaciones. Al analizar las rutas de flujo de control en un programa, el analizador de flujo de control determina si un conjunto de operaciones se ejecutan en un cierto orden. Por ejemplo, el analizador de flujo de control detecta el tiempo de verificación / tiempo de uso y las variables no inicializadas, y verifica si las utilidades, como los lectores XML, están configuradas correctamente antes de ser utilizadas.

Estructural Esto detecta fallas potencialmente peligrosas en la estructura o definición del programa. Por ejemplo, el analizador estructural detecta la asignación a variables miembro en servlets de Java, identifica el uso de registradores que no se declaran como estáticos finales y marca las instancias de código muerto que nunca se ejecutarán debido a un predicado que siempre es falso.

Semántico Este analizador detecta los usos potencialmente peligrosos de las funciones y las API en el nivel interno del procedimiento. Básicamente un GREP inteligente.

Configuración Este analizador busca errores, puntos débiles y violaciones de políticas en los archivos de configuración de implementación de una aplicación.

Buffer Este analizador detecta vulnerabilidades de desbordamiento de buffer que implican escribir o leer más datos de los que puede contener un buffer.



También un anexo al comentario de @Doug Held anterior ... Comenzando con Fortify 16.20, SCA ahora admite el escaneo del código fuente de .Net C # / ASP / VB directamente, ya no requiere la precompilación.