OWASP ha publicado su proyecto Top 10 correspondiente al año 2013, donde han surgido algunas modificaciones en cuanto a los riesgos de seguridad más críticos de aplicaciones web.
El top 10 de OWASP sobre vulnerabilidades en aplicaciones web se basa en información sobre riegos provenientes de 8 firmas especializadas en seguridad de aplicaciones. Se tienen en cuenta alrededor de 500,000 vulnerabilidades alrededor de cientos de organizaciones y miles de aplicaciones. Asimismo, estas vulnerabilidades son priorizadas de acuerdo al nivel de explotación, detección e impacto estimado.
De acuerdo al ranking, el top 10 de este año quedó de la siguiente manera:
- A1 Injection: Corresponde a las inyección de código, siendo las inyecciones SQL una de las más comunes.
- A2 Broken Authentication and Session Management (anteriormente A3): Corresponde al mal manejo de las sesiones en aquellas aplicaciones que utilizan autenticación.
- A3 Cross-Site Scripting (XSS) (anteriormente A2): Ocurre cuando existe validación pobre de la información ingresada por el atacante.
- A4 Insecure Direct Object References: Puede derivar en un acceso no autorizado a información crítica debido a errores en el diseño o desarrollo.
- A5 Security Misconfiguration (anteriormente A6): Corresponde a configuraciones no adecuadas que pueden impactar en la seguridad de la propia aplicación.
- A6 Sensitive Data Exposure: Se refiere a la protección incorrecta de datos críticos tales como, por ejemplo, números de tarjetas de crédito, contraseñas, entre otros.
- A7 Missing Function Level Access Control: Corresponde a la falta de controles desde el servidor, permitiendo a un posible atacante acceder a funciones a las que no debería.
- A8 Cross-Site Request Forgery (CSRF) (anteriormente A5): Permite a un atacante generar peticiones sobre una aplicación vulnerable a partir de la sesión de la víctima.
- A9 Using Known Vulnerable Components (anteriormente formaba parte de A6): Corresponde a la explotación de librerías, frameworks y otros componentes vulnerables por parte de un atacante con el fin de obtener acceso o combinar con otros ataques.
- A10 Unvalidated Redirects and Forwards: Los atacantes aprovechan el uso de redirecciones de sitios web a otros sitios utilizando información no confiable (untrusted) para redirigir a las víctimas a sitios de phishing o que contienen malware.
En la cima del top 10 se encuentran aquellas vulnerabilidades que son del tipo inyección. Estas vulnerabilidades suelen explotarse por errores en la programación de las consultas. En segundo lugar, y subiendo desde la tercera posición, se encuentran aquellas vulnerabilidades que respectan al manejo de sesiones. En este caso se apunta a errores en el diseño donde los atacantes pueden comprometer tokens y contraseñas o incluso explotar vulnerabilidades dentro de la aplicación.
El caso de XSS sigue permaneciendo dentro de las 3 vulnerabilidades más comunes. Suelen verse ataques web XSS que aprovechan la falta de controles en la validación de los datos ingresados por el usuario.
El resto de las vulnerabilidades que componen el ranking incluyen tanto fallas en el diseño de aplicaciones como también errores netamente de las personas que administran las mismas. Uno de los puntos que vale pena destacar es el referido a las malas configuraciones ubicada en la posición 5. En muchos casos, existen configuraciones inadecuadas por parte de los administradores, o incluso, configuraciones por defecto que no se adecuan al contexto de los sistemas y pueden derivar en el compromiso del sistema si un atacante toma provecho.
Tal como lo afirma OWASP, las vulnerabilidades en los sistemas siguen siendo una problemática y es necesario tratarla con la atención que lo requiere. En muchos casos, detrás de estas vulnerabilidades existe información valiosa y crítica que puede ser utilizada con diversos fines. Desde ESET Latinoamérica, pensando en esta necesidad, contamos con ESET Security Services donde ofrecemos servicios de auditoría de seguridad para aquellas organizaciones que deseen evaluar el estado de su seguridad.
¿Qué lección aprendemos a partir de este informe? Las vulnerabilidades antes expuestas están presentes en muchos sistemas, y si bien ningún sistema es cien por ciento seguro, es necesario tomar las medidas preventivas adecuadas para estar preparados, en otras palabras, la seguridad debe ser gestionada.
Fernando Catoira
Analista de Seguridad