marzo 28, 2024

Detectar y corregir automáticamente vulnerabilidades de validación de entrada en aplicaciones Web.

0
Voiced by Amazon Polly
Comparte en redes sociales

Con la herramienta WAP (web application protection) es posible detectar y corregir automáticamente vulnerabilidades de validación de entrada en aplicaciones Web escritas en lenguaje PHP (versión 4.0 o superior). WAP es una herramienta de análisis estático para: detectar vulnerabilidades, seguimiento de las entradas de los usuarios maliciosos y comprobar si llegan las llamadas de funciones sensibles. Cuenta con una baja tasa de falsos positivos porque se ha implementado un módulo de minería de datos para predecir los falsos positivos cuando se detecta vulnerabilidades.


WAP analiza semánticamente el código fuente. Más precisamente, realiza el análisis del flujo de datos para detectar las vulnerabilidades de validación de entrada. El objetivo del análisis es rastrear registros maliciosos insertados por los puntos de entrada ($ _GET y $ _POST) y verificar funciones de PHP que pueden ser explotadas por alguna entrada maliciosa. Después de la detección, la herramienta utiliza la minería de datos para confirmar si las vulnerabilidades son reales o falsas. Al final, las vulnerabilidades reales se corrigen con la inserción de las correcciones en el código fuente.

WAP detecta las siguientes vulnerabilidades:

  • Inyección SQL en MySQL, PostgreSQL y DB2 DBMS.
  • Cross-site scripting (XSS).
  • La inclusión de archivos remotos (RFI).
  • Inclusión de archivos locales (LFI).
  • Salto de directorio o camino transversal (DT / PT).
  • Divulgación de Código Fuente (SCD).
  • Inyección de comandos del sistema operativo (OSCI).
  • Inyección de código PHP.

WAP está escrito en lenguaje Java y está constituido por tres módulos:

Analizador de Código: compuesto por el generador de árboles y analizador de flujo de datos. Integra un analizador léxico y un analizador sintáctico, basado en una gramática de árbol escrita en el lenguaje PHP. El generador de árbol utiliza el analizador léxico y el analizador sintáctico para construir el AST (Abstract Sintatic Árbol) de cada archivo PHP. El analizador de flujo de datos navega a través del AST para detectar potenciales vulnerabilidades.

Detección de falsos positivos: compuesto por un modulo supervisor entrenado con casos clasificados como vulnerabilidades almacenadas y los falsos positivos del algoritmo de aprendizaje automático de regresión logística. Para cada posible vulnerabilidad detectada por analizador de código, este módulo recoge la presencia de los atributos que definen un falso positivo. A continuación, el algoritmo de regresión logística los recibe y clasifica la instancia como un falso positivo o no.

Código corrector: Cada vulnerabilidad detectada se elimina mediante la corrección de su código fuente. Este módulo aplica una solución para cada tipo de vulnerabilidad y señaliza los lugares en el código fuente donde se insertará el punto de referencia. A continuación, el código se corrige con la inserción de las revisiones y se crean nuevos archivos.

Más información y descarga de WAP:
http://sourceforge.net/projects/awap/

Deja un comentario