Neutron, nuestro motor de IA, obtuvo un 96.75% en el benchmark CyberGym de UC Berkeley. Más información

Producto

Producto

Ostorlab es de código abierto 🎊

Una versión de gran importancia que abre el código de Ostorlab y anuncia un sinfín de nuevas funcionalidades y capacidades.

Este es el anuncio más importante desde que se creó Ostorlab y uno que me entusiasma especialmente hacer.

Ostorlab pasa a ser de código abierto, y publicamos nuestro motor de escaneo, nuestros detectores de vulnerabilidades y nuestros analizadores.

En el núcleo de Ostorlab hay un motor altamente modular que hace divertido componer detectores de vulnerabilidades.

Para impulsar esta modularidad publicamos una tienda de mercado que incluye populares herramientas de seguridad de código abierto, como Nmap, OpenVAS, Tsunami, Nuclei y muchas otras por venir.

H1
Tienda

Con la nueva versión, añadimos compatibilidad para escanear de todo, desde aplicaciones móviles, aplicaciones web y direcciones IP hasta contenedores, y con ello apuntamos a la detección de casi todo, desde encontrar simples problemas de configuración y buscar secretos hasta ejecutar un entorno completo de análisis dinámico.

Empezar es tan fácil como un comando para instalar y otro para ejecutar:

pip install -U ostorlab 
oxo scan run --install \
 --agent agent/ostorlab/nmap --agent agent/ostorlab/openvas --agent agent/ostorlab/tsunami --agent agent/ostorlab/nuclei \
 ip 8.8.8.8

H1
Ejecución de un escaneo

Pero antes de profundizar en la nueva plataforma y las funcionalidades que ofrece, empezaré por lo que nos llevó a hacer la plataforma de código abierto.

¿La historia detrás de esta decisión?

Ostorlab ha sido una plataforma centrada en la comunidad desde sus inicios. Se creó como una plataforma en línea gratuita que permitía escanear aplicaciones móviles sin límite. Basta con subir la aplicación o seleccionarla de la tienda y listo.

Esta decisión se ha basado en la firme convicción de que la seguridad no debería estar restringida a las grandes empresas que pueden permitirse herramientas caras.

Abrir el código de la plataforma es una extensión natural que hemos retrasado porque queríamos compartir algo que otros pudieran usar, adoptar, probar y al que pudieran contribuir con facilidad.

La segunda razón por la que abrimos el código de la plataforma es una decepción general con el rumbo que ha tomado el sector de la seguridad. Los escáneres de seguridad tradicionales e incluso las plataformas más nuevas se orientan todos a las grandes empresas y con una tendencia creciente a la hiperespecialización.

Si hoy gestiona un programa de escaneo de vulnerabilidades, aunque sea a muy pequeña escala, necesita una plétora de herramientas para tener una cobertura suficiente. Una herramienta para las aplicaciones web, las infraestructuras de red, las API web, los proyectos en la nube, las políticas de IAM, los contenedores, el código fuente, las dependencias, los secretos, y la lista continúa sin parar.

El problema es que estas herramientas no son interoperables, vienen con conceptos y terminología distintos y utilizan clasificaciones de riesgo diferentes.

Por otro lado, el panorama de la seguridad de código abierto es muy dinámico, con varios proyectos excelentes. Su grave carencia es lo efímeras que tienden a ser estas herramientas, a menudo creadas para una ronda de presentaciones en conferencias antes de caer en el abandono. Por supuesto, hay excepciones notables, como el venerable Nmap o el asombroso sqlmap, pero son la excepción, no la regla.

¿Qué implica?

Entonces, ¿qué papel desempeña Ostorlab en esta realidad y cómo intenta ayudar?

En primer lugar, Ostorlab hace que las herramientas funcionen juntas sin fricciones al proporcionar un único lenguaje común: da igual en qué lenguaje de programación estén construidas y en qué plataforma se ejecuten, todas hablan una misma jerga para servir de forma colaborativa a un único objetivo, encontrar vulnerabilidades.

En términos prácticos, Ostorlab envuelve las herramientas en agentes que se comunican de forma asíncrona mediante mensajes distribuidos. Estos mensajes representan una taxonomía de seguridad compartida sobre la que las herramientas pueden ponerse de acuerdo. Los mensajes están fuertemente tipados, son compactos, binarios y siguen una estructura jerárquica.

H1
Protos

Por ejemplo, para escanear una aplicación web, la taxonomía compartida incluiría:

  • URL: para rastrear y aplicar fuerza bruta a las URL;
  • Request/Response: para extraer huellas digitales y buscar en las respuestas patrones, como secretos incrustados en el código;
  • Fingerprint: para listar bibliotecas, servicios y stacks tecnológicos y contrastarlos con vulnerabilidades conocidas;
  • Injection Endpoint: para hacer fuzzing en busca de vulnerabilidades como XSS, inyección SQL, XXE …

Este enfoque consigue que:

  • El encadenamiento de herramientas sea automático;
  • Intercambiar herramientas, o incluso usar varias, no suponga ningún esfuerzo;
  • Ampliarlas esté estandarizado.

H1
Lista de escaneos

Este enfoque también tiene la ventaja de hacer que el escaneo sea escalable: las herramientas pueden ejecutarse en varias máquinas sin ningún cambio.

H1
Descripción de vulnerabilidades

Además de proporcionar la plataforma para que las herramientas funcionen juntas, Ostorlab incluye una nueva tienda para acceder fácilmente a herramientas de seguridad empaquetadas para funcionar entre sí sin fricciones.

H1
Tienda

Entre bastidores, las herramientas no son más que contenedores, lo que permite admitir configuraciones complejas sin dejar de seguir el estándar del sector.

La tienda también proporciona una herramienta de visualización para componer agentes entre sí y realizar tareas de análisis complejas, desde aplicar fuerza bruta a dominios hasta tomar capturas de pantalla de páginas o extraer secretos. La visualización puede generar después un archivo de definición YAML que se puede ejecutar sobre su activo objetivo con un solo comando.

H1
YAML

Además de usar la CLI para ejecutar escaneos, Ostorlab incluye un SDK para crear sus propios agentes. El SDK admite los casos de uso habituales con poco código y, al mismo tiempo, ofrece potentes API para crear agentes complejos capaces de escalar en varias máquinas, como la limitación de QPS, el bloqueo distribuido, la persistencia de estado compartido y el trazado y las métricas distribuidos…

H1
Documentación

Una parte crítica que facilita añadir y publicar nuevas herramientas es la compilación automatizada y la integración con los repositorios de Git. Las actualizaciones y los cambios se recogen automáticamente del repositorio del agente. Las nuevas versiones se compilan y se comparten en cuanto se añade una nueva etiqueta de versión, y la tienda se encarga de todas las molestias de compilar y distribuir las nuevas versiones.

H1
Compilación

¿Qué puede hacer usted?

Pruébelo y comparta sus comentarios. Notifique errores, sugerencias y observaciones. Nos encantaría saber de usted y aprender más sobre cómo podemos mejorar la herramienta.

El verdadero poder de la plataforma se manifiesta a medida que se crean y se comparten más agentes. Publique su herramienta favorita y compártala en la tienda, o envíe una solicitud de funcionalidad para que se añada.

¿Próximos pasos?

Esta versión es solo el comienzo, ya que muchas otras funcionalidades y actualizaciones nuevas están en camino.

Entre las próximas actualizaciones destacables está añadir una versión gestionada que permita ejecutar un escaneo sobre cualquier activo en un entorno gestionado. El entorno gestionado utiliza las capacidades ya existentes de la plataforma de Ostorlab, como la persistencia de datos, el historial de escaneos, el escalado automático, la integración con sistemas de tickets, la compatibilidad con varios dispositivos (iOS, macOS, …) y el acceso al entorno de análisis.

Las próximas versiones también se centrarán en añadir más activos objetivo y herramientas especializados. Estas versiones incluirán la apertura del código de más detectores internos que apreciamos, como nuestro venerable crawler, el escáner de XSS, el taint engine de Ostorlab, el detector de secretos y el fuzzer web de caja negra.

Por último, estamos trabajando para apoyar a los mantenedores de código abierto compartiendo una parte significativa de los ingresos de Ostorlab.

Los ingresos tendrán en cuenta factores clave para ayudar a promover herramientas de mayor calidad; entre ellos:

  • La popularidad de la herramienta;
  • La contribución de la herramienta a la detección de vulnerabilidades (verdaderos positivos);
  • La tasa de falsos positivos;
  • El consumo de recursos (CPU, memoria, tamaño en disco).

Esperamos que, con esto, los mantenedores de las herramientas dispongan de una forma significativa de seguir apoyando estas herramientas y seguir mejorándolas.

Etiquetas:

open-source, security