Proyecto OWASP: Descubre qué es y para qué sirve

Proyecto OWASP: Descubre qué es y para qué sirve

Lorena Fernández

OWASP responde a las siglas Open Web Application Security Project. Es una fundación sin ánimo de lucro con miles de personas que son miembros y trabajan a favor la seguridad del software en general. El proyecto genera todo tipo de documentación, es gratuito permanentemente y cualquier persona interesada puede acceder a él sin problemas. En definitiva, puedes compartir y readaptar la documentación de acuerdo a tus preferencias y necesidades. Siempre y cuando, sea en función del propósito del proyecto.

Uno de los proyectos que más destaca de la fundación es el OWASP Top Ten. Es un documento estandarizado de concienzación acerca del desarrollo de código seguro para todo tipo de software, además de las aplicaciones web. Este tiene como raíz un consenso amplio respecto a los principales riesgos y amenazas de seguridad. Por este motivo, es altamente recomendado implementar las recomendaciones que realiza OWASP Top Ten para minimizar los riesgos y amenazas.

Riesgos que componen el OWASP Top Ten

A continuación, citaremos cada uno de los riesgos para las aplicaciones web y el software en general. Es muy probable que ya hayas oído hablar de los mismos con anterioridad, ya que algunos de ellos son ataques cibernéticos bastante conocidos por sus devastadores efectos. Los enumeramos de acuerdo a lo que indica la documentación original del proyecto.

  1. Inyección. Básicamente, consiste en inserción de código malicioso a un intérprete que forma parte de comando o query. Tengamos en cuenta que los comandos o querys forman parte de las bases de datos. El código malicioso es capaz de ejecutar muchas acciones no deseadas como el acceso a datos sin autorización. Los ataques de tipo inyección SQL o prototocolos de acceso a directorio como LDAP son ampliamente utilizados.
  2. Pérdida de autenticación. Existen ocasiones en que las funciones de autenticación y gestión de sesiones se implementan de manera incorrecta. Los errores son una pasarela para que los cibercriminales realicen acciones maliciosas como la vulneración de contraseñas, claves, tokens de sesiones etc.. También pueden explotar otros fallos que les permiten asumir identidades de otros usuarios de forma temporal o permanente, de acuerdo a los ataques que quieren realizar.
  3. Exposición de datos sensibles. El propósito original de las APIs es facilitar el acceso y la integración de los datos e incluso funcionalidades de los programas con otros. Sin embargo, no todas ellas tienen cuidado respecto a la protección de datos sensibles, especialmente si se trata de datos bancarios, financieros, de salud y otros. La exposición de estos datos es una ayuda extra a los cibercriminales para ejecutar otros ataques, como robo de identidad o fraudes con tarjetas de crédito. He ahí la importancia de la encriptación de los datos siendo almacenados, en tránsito o en el mejor de los casos, de extremo a extremo (End-to-End).
  4. Entidades externas XML. El propósito de esta vulnerabilidad es que el cibercriminal consiga enviar un documento de formato XML manipulado de manera tal que, mediante un «parser XML» (un puente) comience a exponer información confidencial de las aplicaciones que son víctimas. Estos parsers se encuentran disponibles en aplicaciones compatibles con éstos. En definitiva, también pueden causar consumo excesivo de recursos, ejecución de comandos maliciosos y mucho más. Sin embargo, ¿qué es un documento XML? Es un documento de marcado que sirve para representar información estructurada en la web. En consecuencia, las aplicaciones y dispositivos son capaces de almacenar esa información, además de manipularla, visualizarla e imprimirla.
  5. Pérdida de control de acceso. Los cibercriminales pueden explotar fallos y vulnerabilidades de las políticas de restricciones a los usuarios. Tengamos en cuenta que estas restricciones determinan lo que puede hacer un usuario de acuerdo a los roles y permisos que tienen. Al explotar fallos y vulnerabilidades, se obtienen permisos y funcionalidades no autorizadas. Como la visualización de archivos sensibles, modificación de datos de otros usuarios, cambiar los permisos y roles de otros usuarios y mucho más.
  6. Errores de configuración de seguridad. Acostumbra a darse a raíz de configuraciones por defecto inseguras, configuraciones ad hoc incompletas, almacenamiento abierto en la nube, cabeceras HTTP mal configuradas y mensajes de error que contienen información sensible. Aunque los sistemas operativos, frameworks, librerías y aplicaciones estén configurados con seguridad, éstos también deberían actualizarse con parches de seguridad en forma periódica.
  7. Cross-Site Scripting (XSS). Gracias a la falta de validaciones en las aplicaciones en general, esto puede ocurrir y tener consecuencias devastadoras. XSS permite a los cibercriminales la ejecución de scripts en lenguajes como JavaScript en las sesiones de los usuarios para alterar la seguridad de los inicios de sesión en los sitios o redireccionar a dichos usuarios a sitios web maliciosos aunque escriban una URL válida o legítima.
  8. Deserialización insegura. La deserialización es la reconstrucción de un objeto en base a la información recuperada del mismo. Existen unas reglas propias de cierta convención de programación que dicen que se recuperará la información que provenga de objetos serializables. Esto tiene como gran riesgo, la ejecución remota de código malicioso de toda clase, además de realizar ataques, replicaciones de ataques anteriores, inyecciones y escalada de privilegios.
  9. Utilización de componentes con vulnerabilidades conocidas. Existen muchísimas librerías, frameworks y otros módulos de software que cuentan con los mismos privilegios que las propias aplicaciones. Si se explotan componentes vulnerables, entonces existe un gran riesgo de que se den pérdidas de datos o que cibercriminales se apropien de éstos. Por eso es muy importante tener conocimiento respecto a las medidas de seguridad de las APIs que podamos implementar, por ejemplo, para evitar abrir la puerta a un gran número de vulneraciones y ataques.
  10. Recolección de logs y monitorización insuficiente. Este par de acciones de carácter preventivo, de no estar presente en la implementación de nuestras aplicaciones, no solo permite que los cibercriminales ejecuten los ataques si no también, puedan llegar a un nivel alto de persistencia. Es posible que puedan llegar a la instancia de destruir los datos, cosa que puede generar grandes secuelas en el entorno donde nos encontremos.

Uno de los grandes beneficios de contar con un proyecto como este, es la estandarización de los principales riesgos. Esto ayuda a facilitar su identificación y posterior resolución una vez encontrada la medida de mitigación adecuada. También es posible formar parte de OWASP que cuenta con varias ramas alrededor del mundo que buscan reunirse y difundir lo que promueve la fundación a través de una gran variedad de actividades. ¡Te animamos a consultar al capítulo que corresponde a tu país!