El Top 10 de los ataques a las aplicaciones Web

el

En el mundo globalizado de hoy la mayoría de los negocios se realizan a través de Internet, cosa que hace 3 decadas era casi impensable, de hecho la Internet como la conocemos tiene apenas 25 años y en 1989 solo se pensaba en compartir información, se sacó la Internet del ambiente militar donde había existido desde 1969 y se desarrolló el HTML y por ende la World Wide Web (WWW), (Gracias! Tim) desde 1989 hasta 1995, las páginas de Internet eran en su mayoría páginas con contenido estático, y fue a partir de 1995 que se desarrollaron lenguajes que permitían agregarle elementos dinámicos a las páginas y poder aceptar valores de entrada como parámetros en campos de datos, de esa forma nacieron las aplicaciones Web y tambien nacieron las vulnerabilidades y los ataques a las aplicaciones Web.

Obviamente la tecnología a avanzado a pasos agigantados desde 1995 para acá, así como tambien lo han hecho los ataques a las aplicaciones Web. En Septiembre de 2001 se creó un proyecto que se encargaría de establecer los estadares para desarrollar, probar e implementar la seguridad en aplicaciones Web, este proyecto se llamó OWASP.org.

La gente de OWASP, se encarga de mantener actualizada la lista de las diez amenazas más importantes en el entorno Web y como hacerles frente. Al momento de escribir estas líneas, la versión más actualizada es la del 2013. Sin embargo, las amenazas no son solo 10, son cientos de posibles vulnerabilidades que pueden ser introducidas al momento de desarrollar aplicaciones Web. La mayoría de ellas son cubiertas en otros documentos de la OWASP. Lo importante del Top 10, es que estás son las amenazas que más daño le pueden hacer a los usuarios y/o sistemas soportados por las aplicaciones Web y por ende a las empresas que están detrás de las aplicaciones.

El top 10 de 2013, se puede resumir así:

  1. Inyección: Pueden ser de SQL, del Sistema Operativo o del Directorio Activo (LDAP). Ocurren cuando datos no confiables son enviados al programa como parte de un comando o una consulta. Los datos hostiles del atacante pueden engañar al
    programa y puede terminar en la ejecución de comandos no intencionados o acceder a datos no autorizados.
  2. Pérdida de autenticación y gestión de sesiones: Las funciones de la aplicación relacionadas con la autenticación y gestión de sesiones son frecuentemente implementadas incorrectamente, permitiendo a los atacantes comprometer contraseñas, claves, token de sesiones, o explotar otras fallas de implementación para asumir la identidad de otros usuarios.
  3. Secuencia de comandos en sitios cruzados (XSS): Tambien conocidas como Cross Site Scripting. Las fallas XSS ocurren cada vez que una aplicación toma datos no confiables y los envía al navegador web sin una validación y codificación apropiada. XSS permite a los atacantes ejecutar secuencia de comandos en el navegador de la victima los cuales pueden secuestrar las sesiones de usuario, destruir sitios web, o dirigir al usuario hacia un sitio malicioso.
  4. Referencia directa insegura a objetos: Una referencia directa a objetos ocurre cuando un desarrollador expone una referencia a un objeto de implementación interno, tal como un archivo, directorio, o base de datos. Sin un chequeo de control de acceso u otra protección, los atacantes pueden manipular estas referencias para acceder a datos no autorizados.
  5. Configuración de seguridad incorrecta: Una buena seguridad requiere tener definida e implementada una configuración segura para la aplicación, marcos de trabajo, servidores de aplicación, servidores web, base de datos, y plataformas. Todas estas configuraciones deben ser definidas, implementadas, y mantenidas ya que por lo general no son seguras por defecto. Esto incluye mantener todo el software actualizado, incluidas las librerías de código utilizadas por la aplicación.
  6. Exposición de datos sensibles: Muchas aplicaciones web no protegen adecuadamente datos sensibles tales como números de tarjetas de crédito o credenciales de autenticación. Los atacantes pueden robar o modificar tales datos para llevar a cabo fraudes, robos de identidad u otros delitos. Los datos sensibles requieren de métodos de protección adicionales tales como el cifrado de datos, así como también de precauciones especiales en un intercambio de datos con el navegador.
  7. Ausencia de control de acceso a funciones: La mayoría de aplicaciones web verifican los derechos de acceso a nivel de función antes de hacer visible en la misma interfaz de usuario. A pesar de esto, las aplicaciones necesitan verificar el control de acceso en el servidor cuando se accede a cada función. Si las solicitudes de acceso no se verifican, los atacantes podrán realizar peticiones sin la autorización requerida.
  8. Falsificación de peticiones en Sitios cruzados (CSRF): Tambien conocida como Cross Site Request Forgery, obliga al navegador de una víctima autenticada a enviar una petición HTTP falsa, incluyendo la sesión del usuario y cualquier otra información de autenticación incluida automáticamente a una aplicación web vulnerable, haciendola pasar por una petición válida.
  9. Utilización de componentes con vulnerabilidades conocidas: Algunos componentes tales como las librerías, los frameworks y otros módulos de software casi siempre funcionan con todos los privilegios. Si se ataca un componente vulnerable esto podría facilitar la intrusión en el servidor o una perdida seria de datos. Las aplicaciones que utilicen componentes con vulnerabilidades conocidas debilitan las defensas de la aplicación y permiten ampliar el rango de posibles ataques e impactos.
  10. Redirecciones y reenvios no validados: Las aplicaciones web frecuentemente redirigen y reenvían a los usuarios hacia otras páginas o sitios web, y utilizan datos no confiables para determinar la página de destino. Sin una validación apropiada, los
    atacantes pueden redirigir a las víctimas hacia sitios de phishing o malware, o utilizar reenvíos para acceder páginas no autorizadas.

Hasta aquí la introducción del Top 10 de los ataques Web, en próximas entregas profundizaré un poco más en cada uno de ellos. Espero que haya sido de su agrado.

Te invito a hacer esta página un poco más interactiva. Si tienes alguna sugerencia, escribeme al correo: dabzueta AT gmail DOT com.

Sígueme en Twitter @dabzueta, Si deseas tener pildoras de noticias relacionadas con la seguridad de la información de forma diaria y al momento de producirse. Comparte este articulo en Facebook, Twitter, Google+ o Linkedin.

La lista de las 10 amenazas más relevantes en las aplicaciones Web fue obtenida de la OWASP (https://www.owasp.org/images/5/5f/OWASP_Top_10_-_2013_Final_-_Español.pdf) distribuido bajo la licencia 3.0 de creative commons, algunos parrafos fueron editados y corregidos por mi, para adaptarlos a mi estilo de escritura.

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s