4.- Análisis de Vulnerabilidades con JAKE

--

Cuando te encargan desarrollar una aplicación segura, es importante integrar la seguridad en el ciclo de vida del desarrollo de software. Sin embargo, eso no garantiza que tu aplicación esté libre de vulnerabilidades cuando llegue el momento de implementarla.

Realizar un análisis de vulnerabilidades puede ayudarte a identificar las vulnerabilidades que se esconden dentro de tu aplicación antes de que se ponga en funcionamiento.

Un análisis de vulnerabilidades implica una revisión sistemática y exhaustiva de posibles debilidades o vulnerabilidades conocidas en un sistema o aplicación. Revelar estas vulnerabilidades es el primer paso para remediar el problema y desarrollar un sistema seguro.

Antes de comenzar el laboratorio, hay un poco de preparación que debes hacer. En los siguientes pasos, descargarás e instalarás un escáner de vulnerabilidades junto con una aplicación web de muestra para realizar pruebas.

Para este laboratorio, las aplicaciones que usarás son:
• Jake, un escáner de vulnerabilidades desarrollado por la comunidad de Sonatype Nexus.
• Hit Counter (un ejemplo de aplicación web)
Ambas aplicaciones están disponibles como imágenes de Docker.

Usaremos JAKE:
Jake es una herramienta de código abierto creada por la comunidad y está diseñada para verificar entornos de Python en busca de vulnerabilidades. Aunque Jake no es creado ni respaldado por Sonatype, utiliza el Sonatype OSS Index.

Usaremos Hit Counter como la aplicación para analizar vulnerabilidades:
Hit Counter es una aplicación Python Flask. No ha sido actualizada en un tiempo, lo que la convierte en una buena aplicación para comprobar vulnerabilidades de seguridad.

Paso 1: Instalar Jake tool:

sudo apt-get update && sudo apt-get install -y python3-venv
python3 -m venv venv
source venv/bin/activate
which python
pip install jake
jake

Paso 2: código a escanear:

git clone https://github.com/ibm-developer-skills-network/ycuer-flask-hitcounter.git
cd ycuer-flask-hitcounter
pip install -r requirements.txt

Paso 3: ejecutar el escáner en el código de prueba (en el directorio código fuente)

jake ddt

Paso 4: interpretar resultados:

El escaneo recopiló información sobre 58 paquetes que esta aplicación utiliza directa o indirectamente y descubrió varias vulnerabilidades.

Luego proporcionó detalles sobre las 7 vulnerabilidades, incluyendo el nombre del paquete vulnerable, detalles sobre la vulnerabilidad, incluyendo URLs para investigar más a fondo en qué consiste la vulnerabilidad y cómo se puede remediar.

Segunda Parte: Tests de Seguridad y Estrategias de Mitigación

Lab 1: Usando Análisis Estático
Lab 2: Usando Análisis Dinámico
Lab 3: Evaluando el Análisis de Vulnerabilidades
Lab 4: Evaluando “Software Component Analysis (SCA)”

Tercera Parte: OWASP Top 10 vulnerabilidades

Lab 5: Comprendiendo SQL Injections
Lab 6: Cross Site Scripting XSS
Lab 7: Guardando Secretos de forma Segura

Cuarta Parte: Mejores Prácticas

Lab 8: Code Practices
Lab 9: Secure Development Environment

--

--

Fernando Muinos
Cibersecurity, Malware and Secure Development

Founder Hubots.ai. Innovative startup dedicated to providing advanced applications and services that help companies increase their productivity by AGI.