Pasar al contenido principal

Open Web Application Security Projects (OWASP)

Descripción

OWASP (acrónimo de Open Web Application Security Project) es una iniciativa de código abierto dedicada a determinar y combatir las causas que hacen que el software sea inseguro.

Alrededor de la Fundación OWASP hay empresas, organizaciones educativas y también miles de personas de todo el mundo. Estos agentes constituyen la que se conoce como comunidad OWASP. Su fin es crear material didáctico (artículos de divulgación, metodologías, ejemplos de buenas prácticas, documentación, manuales, etc.) y también herramientas y tecnologías. Con todos estos recursos, que pueden usarse de forma libre y sin coste, pretenden promover un entorno tecnológico más seguro.

OWASP

Objetivos

Los objetivos que persigue esta iniciativa son:

  • Promover la seguridad de las aplicaciones web.
  • Buscar las causas de la inseguridad en el software.
  • Proporcionar soluciones a las amenazas de las aplicaciones.
  • Ayudar a las empresas a entender la seguridad de las aplicaciones web y desarrollar aplicaciones más seguras.
  • Crear herramientas, documentación y estándares open-source.

Beneficios

Si se siguen las recomendaciones de OWASP, se hace uso de sus herramientas y tecnologías, y en definitiva, si se adopta una metodología de desarrollo seguro, conseguimos la reducción general del riesgo en una organización y el aumento de su confianza. Asimismo, destacamos los siguientes beneficios:

  • Se obtiene un software más seguro, ya que, al haberse considerado la seguridad desde un primer momento, permite detectar y solucionar tempranamente los fallos de seguridad.
  • Se reducen los costes, ya que las modificaciones, el tiempo y la complejidad de la solución de los fallos de seguridad que se detectan son menores.
  • Se identifican causas y evitan que se repitan errores comunes de seguridad, por lo que se ve reducida la probabilidad de vulnerabilidades en el producto final.
  • Se mitiga el impacto de la explotación de vulnerabilidades no detectadas en el ciclo de desarrollo.
  • Se genera conciencia de seguridad en los equipos involucrados en el ciclo de desarrollo.
  • Se dispone de una medición tangible sobre el estado de la seguridad en el software, lo que permite la toma de decisiones informadas relacionadas con la seguridad, así como su conocimiento y registro.

Proyectos

De entre los proyectos desarrollados por la comunidad de OWASP, destacan los siguientes:

  • OWASP Top 10: informe que recoge las vulnerabilidades más comunes dentro de las aplicaciones web y cómo prevenirlas. El más reciente enumera y detalla las siguientes: errores de inyección, autenticación y gestión de sesiones, XSS, control de acceso, error de configuración de seguridad, exposición de datos sensibles, protección insuficiente ante los ataques, CSRF, utilizar componentes con vulnerabilidades conocidas y APIs desprotegidas. En definitiva, crea conciencia sobre los desafíos que enfrentan las organizaciones, lo que garantiza la seguridad de aplicaciones web en un entorno que cambia rápidamente.
  • OWASP Proactive Controls: documento que resume las buenas prácticas que deberían incluirse en cada proyecto de desarrollo de software. La lista de controles, por orden de importancia, es:
  1. Verificar la seguridad desde el inicio y a menudo.
  2. Parametrizar las consultas.
  3. Codificar los datos.
  4. Validar todas las entradas.
  5. Implementar controles de autenticación y de identidad.
  6. Implementar controles de acceso apropiados.
  7. Proteger los datos.
  8. Implementar el registro y la detección de intrusos.
  9. Aprovechar los frameworks y las librerías de seguridad.
  10. Manejo de errores y excepciones.
  • OWASP Application Security Verification Standard (ASVS): estándar para la realización de comprobaciones de seguridad a nivel de aplicación.

Define 3 niveles de riesgo:

  1. Nivel 1: pensado para todo tipo de software.
  2. Nivel 2: pensado para aplicaciones que contienen información sensible que requiere protección.
  3. Nivel 3: pensado para las aplicaciones más críticas – aplicaciones que realizan transacciones de gran valor, contienen información médica sensible o cualquier aplicación que requiere el mayor grado de confianza.

Cada nivel contiene una lista de requisitos que deben ser mapeados en software para cubrir los requerimientos de seguridad necesarios.

Los requerimientos de ASVS fueron desarrollados con los siguientes objetivos en mente:

  1. Utilizar como una métrica: provee a los desarrolladores y gerentes de aplicaciones con una métrica para determinar el nivel de confianza de las mismas.
  2. Utilizar como una guía: provee a los desarrolladores de controles de seguridad con indicaciones sobre qué funcionalidades incluir para cumplimentar con los requerimientos de seguridad
  3. Utilizar durante adquisiciones: provee una base para especificar los requerimientos de seguridad en aplicaciones adquiridas a terceros.
  • OWASP “Cheat Sheet”: conjunto de guías de buenas prácticas, tanto de prevención como de protección, para tener a mano de forma rápida la información de seguridad necesaria para aplicar las técnicas correctas cuando se está ensamblando y programando las rutinas esenciales de las aplicaciones.  Ejemplos: cheat sheet para prevenir ataques de XSS, cheat sheet para prevención de ataques de inyección SQL,  cheat sheet sobre almacenamiento criptográfico, etc.

Herramientas

OWASP también realiza una serie de proyectos con el objetivo de proporcionar herramientas para afianzar la seguridad de las aplicaciones. A continuación, se muestran algunos de estos proyectos junto con una breve descripción de cada uno de ellos:

  • Zed Attack Proxy: herramienta de pentesting web que ayuda a encontrar vulnerabilidades en las aplicaciones.
  • Dependency Check: herramienta que permite analizar todas las dependencias de las aplicaciones y comprobar si existen vulnerabilidades dentro de ellas.
  • Mobile Security Project: herramienta que permite realizar pentesting sobre aplicaciones móviles.
  • SSL advanced forensic tool: herramienta que permite mostrar información sobre SSL y los certificados.
  • WebGoat: aplicación educativa que provee una base de prueba para encontrar fallos de seguridad. Sirve para aprender sobre ataques de XSS, SQL Injection, robo de sesión, inyección XPath, etc.
  • WebScarab: framework para analizar tráfico HTTP/HTTPS, observando el tráfico entre el navegador y el servidor, exponiendo campos ocultos, análisis y recopilación de cookies, etc.

Referencias

https://es.wikipedia.org/wiki/Open_Web_Application_Security_Project

http://www.owasp.org

  • Documentación:

https://owasp.org/www-project-top-ten/

https://owasp.org/www-project-proactive-controls/

https://owasp.org/www-project-application-security-verification-standard/

https://cheatsheetseries.owasp.org/

  • Herramientas

https://owasp.org/www-project-zap/

https://owasp.org/www-project-dependency-check/

https://owasp.org/www-project-mobile-security/

https://owasp.org/www-project-o-saft/

https://owasp.org/www-project-webgoat/