Webprogramo / Blog / Wordpress / Owasp – Open Web Application Security

Owasp – Open Web Application Security

Jose Daniel Muñoz

10 enero, 2017

Webprogramo / Blog / Wordpress / Owasp – Open Web Application Security
SHARE! and the author will get a Yummy Cookie :
Share on FacebookTweet about this on Twitter

Owasp o por sus siglas en inglés: (Proyecto Open Web Application Security) es una organización sin ánimo de lucro que se dedica a proporcionar información imparcial y práctica sobre la seguridad de las aplicaciones web. A pesar de que la comunidad apoya el uso informado de tecnologías de seguridad, OWASP no está afiliada a ninguna compañía de tecnología, lo que les permite brindar información de alta calidad y sin riesgos.

 

Ahora bien, ¿qué es el owasp top 10?

 

Owasp top 10 representa un amplio consenso sobre los fallos de seguridad más críticos en aplicaciones web; este top 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.

Los errores en esta lista se producen con frecuencia en las aplicaciones web y a menudo son fáciles de encontrar y de explotar. Estos errores son peligrosos porque con frecuencia permiten a los atacantes tomar completamente aplicaciónes web, robar datos importantes o hacer que un sitio dejen de funcionar.

Muchas organizaciones tienen dificultades para implementar un programa de seguridad en sus aplicaciones web ya que simplemente no saben por dónde empezar.

El establecimiento de políticas basadas en la eliminación de owasp top 10 es un excelente punto de partida, puesto que estas vulnerabilidades son ampliamente aceptadas como las más propensas a ser explotadas; conocerlas y solucionarlas reducirá en gran medida el riesgo de nuestras aplicaciones web.

 

Así que vamos a reflexionar sobre el Open Web Application Security Project Top 10. Esta será una descripción de lo que significa cada riesgo de seguridad:

 

1) Injection

En las circunstancias adecuadas, una persona con conocimientos puede inyectar una pequeña porción de código para engañar a una aplicación en la realización de acciones no intencionadas. El ataque de inyección más común y conocido es una inyección de SQL, donde un atacante inserta una instrucción SQL en una aplicación, por ejemplo: volar el contenido de bases de datos sobre el atacante. OWASP le recomienda revisar sus peticiones de entrada para determinar su confiabilidad y mantener datos confiables separados de los sistemas que ejecutan la aplicación.

 

2) Pérdida de autenticación y gestión de sesiones

Usted tal vez pueda conocer los datos de usuario de personas que acceden a sus sistema, pero… ¿ se puede comprobar quién está detrás del teclado así sea la persona dueña de esos datos?.

Los atacantes informáticos pueden secuestrar las identidades de usuarios y ocultarse detrás de un identificador de usuario real para conseguir un fácil acceso a datos y programas. Implementar fuertes controles en la autentificación y gestión de sesiones y asegurarse de que sus usuarios son quienes dicen ser puede ser un punto en contra para  accesos forzados a nuestro sistema.

 

3) Secuencia de comandos en sitios cruzados XSS

Es una vulnerabilidad que permite inyectar código malicioso al código fuente de la página para su posterior ejecución en script, evitando la medidas de control dados por el administrador del sitio. Estos ataques son dirigidos los sitios web que muestran de forma dinámica el contenido de los usuarios sin verificar ni codificar la información ingresada; de esta forma, si el contenido por el usuario no se verifica, es posible mostrar código html arbitrario en una página web para cambiar su apariencia, contenido y comportamiento, lo que resulta en la difusión de datos confidenciales o la propagación de malware. Una de las soluciones consiste en adjuntar un token no predecible y cambiante a cada petición, es importante que el estado de este vaya asociado con la sesión del usuario, de otra manera un atacante puede adjuntar su propio token válido y emplearlo en su beneficio. Adicionalmente al adjuntar a la sesión del usuario es importante limitar el periodo durante el cual será válido.

 

4) Referencia directa insegura a objetos

La mayoría de los registros de usuarios de un sitio web se almacenan con base a un valor clave que los identifica, por ejemplo un nombre de usuario o un correo electrónico. Cuando un usuario introduce su clase, el sistema obtiene la información correspondiente y la presenta al usuario. Los riesgos vienen cuando la autentificación no se ejecuta correctamente y con esto los usuarios maliciosos pueden ser capaces de obtener acceso a datos no autorizados para él, por eso OWASP recomienda asegurar sus canales de autorización mediante la implementación de controles de acceso para cada objeto accesible para el usuario (por ejemplo, archivos, páginas web y otros datos).

 

5) Configuración de seguridad incorrecta

cuando los procesos y prácticas de seguridad no se siguen o se ejecutan correctamente, la seguridad y errores de configuración pueden ser fácilmente utilizados por los atacantes para detectar áreas débiles que les permitan acceder a datos privilegiados. Esto puede ocurrir a cualquier nivel y en cualquier parte de una aplicación. Hay miles de maneras en las que puede ser vulnerable a una mala configuración de software, así que asegúrese de leer este informe de la owasp.

 

6) Exposición de datos sensibles

La visualización de datos no deseados es un problema serio para cualquier persona que opere una aplicación web, puesto que los datos del usuario sin cifrar almacenados del el servidor pueden ser vulnerables a un ataque de SQL injection.

 

7) Ausencia de control de acceso a las funciones

Esto se produce cuando un usuario de un nivel de acceso inferior se le permite el acceso inadvertidamente a una parte de un sitio web restringido al acceso de un más alto nivel. Aunque puede ser difícil de evitar problemas de seguridad en los sistemas de control de acceso, OWASP apoya varios métodos para asegurar sus aplicaciones incluyendo el establecimiento de reglas de denegación por defecto para permitir únicamente el acceso de función a los usuarios conocidos y confiables.

 

8) Falsificación de peticiones en sitios cruzados CSRF

Un ataque CSRF implica el envío de una solicitud a una aplicación web vulnerable usando las credenciales de un usuario de confianza; Básicamente un atacante usará CSRF para engañar a una víctima y acceder a un sitio web o hacer clic en un enlace URL que contenga peticiones maliciosas o no autorizadas. Para reducir el riesgo de falsificación OWASP sugiere que se incluya un único token oculto en cada petición web.

 

9) Uso de componentes con vulnerabilidades conocidas

Emplear prácticas de desarrollo de código abierto que impulsan a la innovación y reducir los costes de desarrollo. A pesar de los beneficios del software de código abierto, the open source survey encontró que aún siguen existiendo problemas importantes en las prácticas de gestión y seguridad.

Es fundamental que las organizaciones tengan en cuenta el coste de los errores de seguridad si se utilizan componentes de terceros.

 

10) Redirecciones y reenvíos no válidos

Las redirecciones no válidas es un tipo de vulnerabilidad comúnmente explotada. Las aplicaciones web frecuentemente redirigen y reenvían a los usuarios a otras páginas y sitios web, sin una validación adecuada los atacantes pueden redirigir las víctimas a sitios maliciosos; además pueden alterar las rutinas de reenvío automático para obtener acceso a información sensible.

Todas estas vulnerabilidades hay que tomarlas muy en cuenta  a la hora de nuestros desarrollos debido a que una vulnerabilidad puede dar paso a otra. Es importante que usted tenga una comprensión de algunas de estas debilidades en la seguridad de sus aplicaciones y esté tomando medidas para mejorar estos riesgos.

Si quieres conocer más sobre el tema en el sitio de owasp hay mucha más información que te puede ser de gran ayuda.