Antes de escribir una sola línea de código seguro, conviene saber quién nos puede ayudar a hacerlo bien. En el mundo de la seguridad de aplicaciones web, ese "quién" tiene un nombre que aparece una y otra vez: OWASP. En esta lección vas a entender qué es OWASP, qué problema resuelve, qué tipos de recursos pone a tu disposición y cómo organiza su trabajo. Todo ello es la base sobre la que se construye el resto del curso, así que merece la pena asentarlo bien.
Para que no sea teoría abstracta, presentaremos también a BazarNube, el marketplace ficticio que nos acompañará durante todo el curso, y veremos por qué su equipo de desarrollo decide empezar a mirar hacia OWASP.
Contenido
- Qué es OWASP (definición y naturaleza jurídica)
- Qué problema resuelve OWASP
- Tipos de recursos que ofrece OWASP
- El modelo de trabajo por proyectos (flagship, production, lab)
- Los capítulos locales y la comunidad
- Caso práctico: BazarNube descubre OWASP
- Qué es OWASP
OWASP son las siglas de Open Worldwide Application Security Project (antiguamente Open Web Application Security Project). Es una comunidad abierta y sin ánimo de lucro dedicada a mejorar la seguridad del software, con un foco histórico en las aplicaciones web.
Desglosemos las tres ideas clave de esa definición:
- Comunidad abierta: cualquier persona puede participar, proponer, revisar y usar sus materiales. No hace falta pagar una cuota ni pertenecer a una empresa concreta. La mayor parte de su contenido se publica bajo licencias libres (como Creative Commons), lo que permite copiarlo, adaptarlo y distribuirlo.
- Sin ánimo de lucro: OWASP se sostiene sobre una fundación registrada como organización 501(c)(3) en Estados Unidos (y también existe una fundación en Europa). Esa figura jurídica corresponde a entidades benéficas y educativas exentas de impuestos; en la práctica significa que OWASP no vende un producto ni trabaja para maximizar beneficios, sino para cumplir una misión de interés público.
- Neutralidad de proveedor (vendor-neutral): OWASP no vende herramientas comerciales ni recomienda a un fabricante sobre otro. Esto es fundamental para su credibilidad: cuando OWASP dice que algo es un riesgo, no hay un interés comercial detrás.
Aclaración de siglas. Verás OWASP escrito a veces como "Open Web..." y otras como "Open Worldwide...". En 2023 la organización actualizó su nombre para reflejar que la seguridad del software va más allá de la web (APIs, móviles, contenedores...), pero las siglas y la misión no cambiaron.
- Qué problema resuelve OWASP
Imagina que eres desarrollador y te piden que una aplicación sea "segura". ¿Segura frente a qué? ¿Cómo sabes si lo has conseguido? ¿Con qué la comparas? Aquí es donde aparece el problema que OWASP ayuda a resolver.
La seguridad del software sufre históricamente de tres carencias:
| Problema | Descripción | Cómo lo aborda OWASP |
|---|---|---|
| Falta de conocimiento común | Cada equipo reinventa qué significa "seguro" y comete los mismos errores que otros ya cometieron. | Documenta los riesgos y las buenas prácticas de forma pública y consensuada. |
| Falta de un lenguaje compartido | Desarrolladores, auditores y gestores usan términos distintos y no se entienden. | Ofrece taxonomías y estándares (como el Top Ten o ASVS) que sirven de vocabulario común. |
| Falta de herramientas accesibles | Las herramientas de seguridad eran caras o cerradas. | Publica herramientas libres y gratuitas para probar y proteger aplicaciones. |
En una frase: OWASP convierte el conocimiento disperso de miles de profesionales en recursos abiertos, reutilizables y comparables, para que cada equipo no tenga que aprender la seguridad a base de sufrir sus propios incidentes.
- Tipos de recursos que ofrece OWASP
OWASP no es una sola cosa; es un paraguas bajo el que conviven muchos recursos de naturaleza muy distinta. Conviene clasificarlos para no perderse. En el módulo 2 entraremos en el detalle de los proyectos concretos; aquí solo queremos que reconozcas las categorías.
- Documentación y guías: textos que describen riesgos y buenas prácticas. El ejemplo más famoso es el OWASP Top Ten, una lista de los diez riesgos más críticos en aplicaciones web. Aquí entran también las Cheat Sheets (fichas prácticas) y guías de pruebas.
- Estándares: documentos que definen requisitos verificables. El más conocido es ASVS (Application Security Verification Standard), que veremos en el módulo 4. Un estándar te permite responder "sí/no" a "¿cumple la aplicación este requisito?".
- Herramientas de software: programas para encontrar o mitigar vulnerabilidades. El más conocido es ZAP (un proxy de intercepción para probar aplicaciones), tratado en el módulo 6.
- Modelos y marcos de madurez: como SAMM (módulo 5), que ayuda a una organización a evaluar y mejorar cómo hace seguridad a lo largo del tiempo.
- Capítulos locales y eventos: la parte humana y presencial de la comunidad, que veremos en el apartado 5.
El siguiente diagrama resume el ecosistema. Fíjate en que todo cuelga de la Fundación OWASP, pero cada rama tiene una función diferente:
graph TD
A[Fundacion OWASP<br/>sin animo de lucro] --> B[Documentacion y guias<br/>ej. Top Ten, Cheat Sheets]
A --> C[Estandares<br/>ej. ASVS]
A --> D[Herramientas<br/>ej. ZAP]
A --> E[Modelos de madurez<br/>ej. SAMM]
A --> F[Capitulos locales<br/>y eventos AppSec]
La idea que debes retener: cuando alguien dice "usa OWASP", tienes que preguntar "¿qué recurso de OWASP?", porque una guía, un estándar y una herramienta se usan de formas muy distintas.
- El modelo de trabajo por proyectos
Todo el material de OWASP se organiza en proyectos. Un proyecto es una iniciativa concreta con sus responsables, su repositorio y su documentación (por ejemplo, "OWASP Top Ten" es un proyecto, y "OWASP ZAP" es otro).
Para orientar al usuario sobre cuánto puede fiarse de cada proyecto, OWASP los clasifica por nivel de madurez. Aunque las etiquetas exactas han ido evolucionando, el modelo clásico distingue tres niveles:
| Nivel | Qué significa | Cómo usarlo |
|---|---|---|
| Flagship (insignia) | Proyectos estratégicos, maduros, ampliamente adoptados y con soporte activo de la comunidad. | Puedes apoyarte en ellos con confianza en producción. |
| Production (producción) | Proyectos estables y útiles, con una base de usuarios sólida, aunque no tan centrales como los flagship. | Adecuados para uso real, revisando su actividad reciente. |
| Lab / Incubator (laboratorio) | Proyectos jóvenes o experimentales, en desarrollo. | Útiles para explorar, pero con cautela: pueden cambiar o abandonarse. |
Esta clasificación es una brújula muy práctica. Cuando evalúes si adoptar un recurso de OWASP, mirar su nivel de madurez te dice de un vistazo si es una apuesta segura (flagship) o algo aún verde (lab).
Consejo. Proyectos como el Top Ten, ASVS, ZAP y SAMM —los que estudiaremos en este curso— son flagship. No es casualidad: son los que la industria usa de forma masiva.
- Los capítulos locales y la comunidad
Más allá de la documentación, OWASP es también gente. Se organiza en capítulos locales (chapters): grupos por ciudad o región (por ejemplo, un capítulo de Barcelona, otro de Madrid...) que celebran charlas y encuentros, normalmente gratuitos y abiertos.
Además, OWASP organiza conferencias globales conocidas como AppSec (por Application Security), donde profesionales de todo el mundo comparten investigaciones y experiencias. Profundizaremos en capítulos y eventos en la lección 01-02.
La idea de fondo es que OWASP funciona gracias a voluntarios: personas que dedican su tiempo a escribir guías, mantener herramientas y dinamizar la comunidad. Por eso su valor no es solo el material que descargas, sino la red de profesionales que hay detrás.
- Caso práctico: BazarNube descubre OWASP
Vamos a aterrizar todo lo anterior en el caso que nos acompañará durante el curso.
BazarNube es una startup que ha lanzado un marketplace de comercio electrónico: una tienda online donde múltiples vendedores publican productos y los clientes compran y pagan. Su arquitectura, muy típica de una startup moderna, es la siguiente:
graph LR
U[Cliente<br/>navegador] --> F[Frontend React<br/>SPA]
F --> API[API backend<br/>Node.js + Express]
API --> DB[(PostgreSQL)]
API --> LEG[Modulo legacy<br/>facturacion/pedidos<br/>Java + Spring Boot]
LEG --> DB
- Frontend: una SPA (aplicación de página única) en React.
- Backend: una API en Node.js + Express.
- Módulo legacy: la facturación y los pedidos siguen en un componente antiguo en Java + Spring Boot heredado de la primera versión.
- Base de datos: PostgreSQL.
- Despliegue: todo en contenedores Docker en la nube.
El equipo es pequeño: Lucía (backend lead), Marc (frontend) y una SRE que gestiona la infraestructura. Tú te incorporas como ingeniero AppSec (seguridad de aplicaciones).
¿Qué ha pasado para que te contraten? Durante una ronda de inversión, un cliente potencial preguntó: "¿Cómo protegéis los datos de pago de vuestros usuarios?" Nadie supo dar una respuesta estructurada. Lucía propuso "hacer las cosas bien en seguridad", pero se toparon con las tres carencias que vimos en el apartado 2: no tenían un conocimiento común, ni un lenguaje compartido, ni herramientas.
Buscando soluciones, el equipo encontró OWASP y comprendió que resolvía justo eso:
- Podían empezar por una guía de riesgos (el Top Ten) para saber "de qué protegerse".
- Podían adoptar un estándar (ASVS) para tener requisitos concretos que verificar.
- Podían usar una herramienta (ZAP) para probar la aplicación sin pagar licencias.
- Y todo con la tranquilidad de que son proyectos flagship, maduros y neutrales.
A lo largo del curso, tú ayudarás a BazarNube a construir un backlog de hallazgos de seguridad y un modelo de amenazas. Pero el primer paso es el que acabas de dar: saber qué es OWASP y qué te ofrece.
Errores Comunes y Consejos
- Creer que "OWASP" es una sola cosa. OWASP es un paraguas de muchos proyectos. Decir "aplica OWASP" sin especificar el recurso es tan ambiguo como decir "usa internet". Concreta siempre: ¿el Top Ten? ¿ASVS? ¿ZAP?
- Confundir el Top Ten con "todo OWASP". El Top Ten es su recurso más famoso, pero es solo una lista de concienciación. Reducir OWASP al Top Ten deja fuera estándares y herramientas mucho más potentes.
- Ignorar el nivel de madurez de un proyecto. No todos los proyectos de OWASP tienen el mismo respaldo. Antes de adoptar uno, comprueba si es flagship, production o lab.
- Pensar que OWASP certifica productos. OWASP es neutral y no avala herramientas comerciales. Si un producto dice "certificado por OWASP", desconfía: OWASP no otorga sellos comerciales.
- Consejo: guarda como marcadores el sitio oficial (owasp.org) y el proyecto Top Ten. Serán tu punto de entrada constante.
Ejercicios
Ejercicio 1. Clasifica cada uno de los siguientes recursos de OWASP según su tipo (documentación/guía, estándar, herramienta o modelo de madurez): (a) OWASP Top Ten, (b) OWASP ASVS, (c) OWASP ZAP, (d) OWASP SAMM.
Ejercicio 2. El equipo de BazarNube encuentra dos proyectos de OWASP que le vendrían bien. El proyecto A está etiquetado como flagship y el proyecto B como lab/incubator. Van a usar uno en su pipeline de producción desde ya. ¿Cuál elegirías como base principal y por qué? ¿Qué precaución tomarías con el otro?
Ejercicio 3. Explica con tus palabras, en 3-4 líneas, por qué la neutralidad de proveedor y el carácter sin ánimo de lucro (501c3) de OWASP aumentan la confianza que puedes depositar en sus recomendaciones.
Soluciones
Solución 1.
- (a) OWASP Top Ten → documentación/guía (lista de concienciación de riesgos).
- (b) OWASP ASVS → estándar (requisitos verificables).
- (c) OWASP ZAP → herramienta (software de pruebas de seguridad).
- (d) OWASP SAMM → modelo de madurez (marco para evaluar y mejorar la seguridad de una organización).
Solución 2. Elegiría el proyecto A (flagship) como base principal, porque es maduro, ampliamente adoptado y tiene soporte activo de la comunidad, lo que reduce el riesgo de que quede abandonado o cambie de forma disruptiva justo cuando dependes de él en producción. Con el proyecto B (lab) conviene tener cautela: puedo explorarlo y hacer pruebas, pero no lo pondría como pieza crítica en producción hasta que madure, y me mantendría atento a su actividad.
Solución 3. Al ser neutral de proveedor, OWASP no gana dinero recomendándote una herramienta concreta, así que sus consejos no están sesgados por un interés comercial. Al ser una entidad sin ánimo de lucro (501c3), su objetivo declarado es el interés público (educar y mejorar la seguridad), no vender. Ambas cosas hacen que sus recomendaciones sean más creíbles e independientes que las de un fabricante que quiere venderte su producto.
Conclusión
En esta lección has aprendido que OWASP es una comunidad abierta y sin ánimo de lucro (fundación 501c3) que resuelve un problema muy real: la falta de conocimiento común, lenguaje compartido y herramientas accesibles en la seguridad del software. Has visto que ofrece cinco tipos de recursos —documentación, estándares, herramientas, modelos de madurez y comunidad—, que organiza su trabajo en proyectos clasificados por madurez (flagship, production, lab) y que su valor descansa en miles de voluntarios y capítulos locales. Y has conocido a BazarNube, la startup cuyo equipo (Lucía, Marc y la SRE, contigo como ingeniero AppSec) empieza este viaje.
En la siguiente lección, 01-02 Historia y Misión de OWASP, retrocederemos a 2001 para entender de dónde viene esta organización, cuál es su misión —"hacer visible la seguridad del software"— y cómo sus principios de apertura y neutralidad encajan con una startup como BazarNube.
Curso de OWASP: Directrices y Estándares para la Seguridad en Aplicaciones Web
Módulo 1: Introducción a OWASP
Módulo 2: Principales Proyectos de OWASP
- OWASP Top Ten
- OWASP ASVS (Application Security Verification Standard)
- OWASP SAMM (Software Assurance Maturity Model)
- OWASP ZAP (Zed Attack Proxy)
- Otros Proyectos Clave: WSTG, Cheat Sheets y Dependency-Check
Módulo 3: OWASP Top Ten 2021 en Profundidad
- A01:2021 – Pérdida de Control de Acceso
- A02:2021 – Fallos Criptográficos y Exposición de Datos Sensibles
- A03:2021 – Inyección
- Cross-Site Scripting (XSS) en Profundidad
- A04:2021 – Diseño Inseguro
- A05:2021 – Configuración de Seguridad Incorrecta
- Entidades Externas XML (XXE)
- A06:2021 – Componentes Vulnerables y Desactualizados
- A07:2021 – Fallos de Identificación y Autenticación
- A08:2021 – Fallos de Integridad de Software y Datos (Deserialización Insegura)
- A09:2021 – Fallos de Registro y Monitorización
- A10:2021 – Server-Side Request Forgery (SSRF)
Módulo 4: OWASP ASVS (Application Security Verification Standard)
- Introducción a ASVS
- Niveles de Verificación
- Requisitos de Seguridad
- Implementación de ASVS en Proyectos
Módulo 5: OWASP SAMM (Software Assurance Maturity Model)
Módulo 6: OWASP ZAP (Zed Attack Proxy)
- Introducción a ZAP
- Instalación y Configuración
- Escaneo de Vulnerabilidades
- Automatización de Pruebas de Seguridad
Módulo 7: Buenas Prácticas y Recomendaciones
- Ciclo de Vida de Desarrollo Seguro (SDLC)
- Modelado de Amenazas (Threat Modeling)
- Integración de Seguridad en DevOps (DevSecOps)
- Capacitación y Concienciación en Seguridad
- Herramientas y Recursos Adicionales
Módulo 8: Ejercicios Prácticos y Casos de Estudio
- Ejercicio 1: Identificación de Vulnerabilidades
- Ejercicio 2: Implementación de Controles de Seguridad
- Caso de Estudio 1: Análisis de un Incidente de Seguridad
- Caso de Estudio 2: Mejora de la Seguridad en una Aplicación Web
