Llegó el OWASP Top 10–2017

OWASP (Open Web Application Security Project, en sus siglas en inglés) no es
más que una comunidad sin fines de lucro, con proyectos abiertos de seguridad para aplicaciones web, que tiene como misión generar conciencia sobre la seguridad de éstas una vez que están expuestas en internet, ayudando a que se puedan implementar medidas que minimicen riesgos.

Actualmente tiene más de 160 proyectos iniciados de código abierto, que pueden ser consultados en el sitio web de OWASP, https://www.owasp.org/

Como es habitual, cada 4 años esta comunidad publica un informe actualizado con las vulnerabilidades más preocupantes y más explotadas por atacantes. Esto lo vienen haciendo desde el 2004, y hace unos meses acaban de hacer público su nuevo documento donde se habla del Top-10 de las peores vulnerabilidades de 2017.

A continuación mostramos un resumen de la clasificación de estas vulnerabilidades y la descripción de cada una:

Top 10 vulnerabilidades 2017

A1:2017-Injection

Dentro de esta categoría se engloban las vulnerabilidades que permiten la inyección de código en herramientas como SQL, NoSQL, OS o LDAP, lo que permite a los servidores interpretar una cadena como si fuese código, pudiendo acceder a la base de datos sin autorización.

A2:2017-Broken Authentication

Fallos en las implementaciones de inicio o gestión de sesión que permite a los atacantes hacerse con contraseñas, claves o cualquier otra información para autenticarse en un sistema, temporalmente o de forma permanente.

A3:2017-Sensitive Data Exposure

Debido a fallos en la implementación de distintas APIs, muchas veces no se protege correctamente la información sensible, lo que permite a piratas informáticos hacerse, por ejemplo, con datos personales, bancarios o de salud de los usuarios.

A4:2017-XML External Entities (XXE)

Procesadores XLM mal configurados pueden procesar ciertas referencias como si no se tratasen de entradas XML, lo que puede permitir revelar ficheros y recursos ocultos, e incluso ejecutar código o causar un ataque DoS.

A5:2017-Broken Access Control

Errores en la configuración de los sistemas de control de acceso, pueden permitir a un atacante acceder a recursos y archivos para los que no debería tener permiso.

A6:2017-Security Misconfiguration

Aquí se engloba todo tipo de fallos relacionados con la configuración de todo tipo de sistemas de seguridad, desde las conexiones HTTPS hasta las aplicaciones de seguridad de cualquier sistema o servidor.

A7:2017-Cross-Site Scripting (XSS)

Todo tipo de ataques XSS que se originan cuando una web incluye datos no validados para ejecutar algún script peligroso desde una web que supuestamente es de confianza, permitiendo así que la web en cuestión ejecute código en el equipo de la víctima.

A8:2017-Insecure Deserialization

Fallos en la serialización que pueden permitir la ejecución de código directamente en la memoria.

A9:2017-Using Components with Known Vulnerabilities

Como su nombre indica, en esta categoría se recogen todos los usos de librerías, frameworks y otros recursos de software que tienen vulnerabilidades, por lo que al utilizarlos en una plataforma o un proyecto, automáticamente se vuelve vulnerable, quedando en peligro a través de estos recursos.

A10:2017-Insufficient Logging & Monitoring

Debido a la falta de monitorización, la mayoría de las veces se tarda hasta 200 días en detectar una vulnerabilidad en un software o una plataforma web, tiempo que se podría reducir notablemente tan solo configurando mayores controles, mejorando la monitorización y con más registros a estas plataformas.

Ahora veamos una comparación con del top 10 de vulnerabilidades 2013 Vs 2017

Top 10 vulnerabilidades 2013 Vs 2017

Hay vulnerabilidades que se siguen repitiendo en estos top 10 de vulnerabilidades, sin embargo vemos que en este 2017 aparecen algunas nuevas e interesantes vulnerabilidades que comienzan a tener gran relevancia como es el caso de Insufficient Logging & Monitoring.

La importancia de poder detectar a tiempo una vulnerabilidad en nuestro sistema o software, toma posición como una medida notable para reducir posibles ataques. El hecho de poder corregir o parchear una vulnerabilidad en el menor tiempo posible nos garantiza poder minimizar los riesgos a los que están expuestas nuestras aplicaciones en internet.

La problemática de que para poder detectar o corregir una vulnerabilidad se tarde hasta 200 días, es un claro ejemplo de que los atacantes siguen estando un paso adelante.

Esta problemática se repite constantemente en muchas empresas y se podrían mencionar muchos factores del porqué pasa esto. Sin embargo es importante destacar que todo lo relacionado al manejo de vulnerabilidades es una de las áreas más complicadas en el mundo de la seguridad, y esto se debe a la forma en que se tratan las vulnerabilidades en una empresa. Hoy en día ese trato es cada vez más sugestivo y menos objetivo.

Debemos enfocar los esfuerzos en minimizar el tiempo desde que una vulnerabilidad de un vendor o producto que estemos utilizando es reportada, hasta que es verificada y parcheada en nuestros sistemas.

Para esto es esencial contar con fuentes confiables, donde la información esté lo más clara y centralizada posible, para facilitar el trabajo a los equipos encargados de las correcciones.