miércoles , 18 septiembre 2024
owasp
owasp

OWASP (Proyecto de codigo abierto de seguridad en aplicaciones Web)

OWASP (Proyecto de codigo abierto de seguridad en aplicaciones Web)

En la pagina web del proyecto nos indican que «Es un proyecto de codigo abierto de seguridad en aplicaciones Web (OWASP por sus siglas en inglés), es una comunidad abierta dedicada a habilitar a las organizaciones para desarrollar, comprar y mantener aplicaciones confiables.

Todas la herramientas, documentos, foros y capítulos de OWASP son gratuitos y abierto a cualquiera interesado en mejorar la seguridad de aplicaciones.

Abogamos por resolver la seguridad de aplicaciones como un problema de gente, procesos y tecnología porque las soluciones más efectivas incluyen mejoras en todas estas áreas. Nos puede encontrar en www.owasp.org»

owasp
owasp

Top 10 vulnerabilidades más comunes

OWASP, cada cierto tiempo, realiza un informe recogiendo las vulnerabilidades más comunes dentro de las aplicaciones web. Con este informe, podremos estar al tanto de dichas vulnerabilidades y podremos emplearlo para comprobar si nuestra aplicación tiene alguna de las que aparecen en dicho informe. También, ofrecen herramientas de detección y consejos sobre medidas a tomar para solucionar dicha vulnerabilidad.

  1. Inyección: El ataque se produce cuando datos no confiables son enviados a un intérprete (ya sea del sistema operativo, de una base de datos o cualquier intérprete) como parte de un comando o consulta. Los datos hostiles introducidos por el atacante pueden engañar al intérprete haciendo que se ejecuten comandos no intencionados o accediendo a información sobre la que no se está autorizado. Uno de los ejemplos más significativos de este tipo de ataque es SQL Injection.
  2. Pérdida de autenticación y gestión de sesiones: El ataque se produce cuando los mecanismos de la aplicación relacionados con la autenticación, autorización y control de sesiones son, frecuentemente, implementados de forma incorrecta o su configuración no se ha realizado de forma correcta. Esto provoca que un usuario malicioso pueda obtener las credenciales de un usuario, el identificador de la sesión o, incluso, el identificador de acceso y hacerse pasar por dicho usuario accediendo a todos sus datos. Uno de los ejemplos puede ser la gestión de la sesión mediante la propia página.
  3. Secuencia de comandos en sitios cruzados (XSS): El ataque ocurre cuando se obtienen datos no confiables y se envían directamente al navegador web. Esto provoca que se puedan ejecutar comandos no deseados en el navegador del usuario. Estos comandos pueden obtener desde las credenciales de acceso del usuario como instalar ciertos programas maliciosos.
  4. Referencia directa insegura a objetos: El ataque ocurre cuando no se controlan los accesos a recursos sobre los que un usuario no debería tener acceso. En las aplicaciones, la mayoría de las veces, existen distintos usuarios y cada usuario tiene una serie de recursos sobre los que tiene acceso y otros sobre los que no debería tener acceso. Un ejemplo podría ser el acceso a una tabla de base de datos sobre la que un determinado usuario no debería tener acceso (una tabla de gestión sobre la que sólo el administrador debería tener acceso).
  5. Configuración de seguridad incorrecta: El ataque ocurre cuando se han realizado malas configuraciones en las aplicaciones, en los servidores de las aplicaciones, en las bases de datos o en la configuración del propio sistema operativo. Es importante tener todo el software bien actualizado con la última versión disponible (esperando a que no haya vulnerabilidades de día 0 😉 ) y que todas las librerías o frameworks que use la aplicación también estén actualizadas ya que muchos cambios que se realizan en las versiones tienen que ver con aspectos de seguridad.
  6. Exposición de datos sensibles: El ataque ocurre cuando se puede acceder de forma fácil a datos de carácter sensible almacenados en la aplicación. Cuando, por ejemplo, se almacenan las credenciales de los usuarios sin codificar o si la comunicación del servidor no es segura a la hora de realizar un pago con un tarjeta de crédito.
  7. Ausencia de control de acceso a funciones: El ataque ocurre cuando se acceden a funciones del servidor sobre las que un usuario no debería tener permiso. Cuando, por ejemplo, el servicio de listado de usuario sólo debería estar disponible por la aplicación pero cualquier usuario puede también acceder a esta información.
  8. Falsificación de peticiones en sitios cruzados: El ocurre cuando se realizan peticiones HTTP falsificadas del servidor de la víctima a una aplicación web vulnerable.
  9. Utilización de componentes con vulnerabilidades conocidas: El ataque ocurre cuando se emplean librerías o frameworks que contienen vulnerabilidades. Es por esto que es importante actualizar estos componentes o revisar el histórico de revisiones para comprobar las mejoras de seguridad implementadas.
  10. Redirecciones y reenvíos validados: El ataque ocurre cuando, al redireccionar al usuario a otra página, no se comprueba que el destino sea válido. Es por esto que se puede redirigir a un usuario a una página que contenga contenido malicioso para robar las credenciales de dicho usuario.

Una vez se han visto los 10 ataques más comunes, es importante destacar que casi siempre se usan ataques combinados para aprovecharse de todas las vulnerabilidades. Se puede hacer un ataque de SQL Injection para acceder a una tabla sobre la que el usuario no debería tener permiso para tener acceso a credenciales no codificadas de los usuarios del sistema. Por lo que es importante centrarse en todas y cada una de estas vulnerabilidades.

4. Herramientas

OWASP también realiza una serie de proyectos con el objetivo de darnos herramientas para afianzar la seguridad de nuestras aplicaciones. Estos proyectos se pueden acceder desde el siguiente enlace.

A continuación, se muestran algunos de estos proyectos junto con una breve descripción de cada uno de ellos podras acceder a la lista de proyectos dando CLIC AQUI

  • Zed Attack Proxy: es una herramienta de pentesting que nos ayuda a encontrar vulnerabilidades en nuestras aplicaciones. Es recomendable el uso por gente con cierta experiencia en términos de seguridad.
  • OWTF: es una herramienta de pentesting que es, quizás, un poco más sencilla que la herramienta anterior.
  • Dependency Check: es una herramienta que nos permite analizar todas las dependencias de nuestra aplicación y comprobar si existen vulnerabilidades dentro de ellas.
  • Mobile Security Project: es una herramienta que nos permite realizar pentesting sobre aplicaciones móviles.
  • SSL advanced forensic tool: es una herramienta que nos permite mostrar información sobre SSL y los certificados.

Si desea consultar la pagina del proyecto da clic AQUI

En nuestro catalogo de curso contamos con un curso de programación web segura.
Si gusta recibir información sobre nuestro curso, no dudes en comunicarte por email: capacitacion@clibre.mx
Por teléfono: (55)7703-4964

Acerca de Isaac Lemus

15 años de experiencia como consultor en implementación de soluciones en open source (software libre). En la actualidad estoy a cargo de la gestión de proyectos para la capacitación y servicios de implementación open source de la empresa Conocimiento Libre.

Compruebe también

Warp, la terminal inteligente que te ayuda a trabajar mejor con Linux

Linux es un sistema operativo de código abierto que ofrece una gran flexibilidad, seguridad y …