OWASP A03:2021-Injection como Referente para el Desarrollo Seguro de Aplicaciones Web

Por: Dulce Lucía Alvizures Osorio, Josué Itamar Morataya Arizandieta, Jhoan Sebastian Samayoa Mayen y Kevin Rolando Guerra Pérez.

Email: josueitmar@gmail.com

OWASP A03:2021-Injection como Referente para el Desarrollo Seguro de Aplicaciones Web.

Resumen: La implementación de prácticas de desarrollo seguro en servicios y aplicaciones web, debe realizarse de manera eficiente en cada una de las organizaciones que cuente con áreas de desarrollo de software o al ser contratista de este tipo de servicios. La importancia del desarrollo seguro de aplicativos web, se intensifica con el hecho de que los servicios web están disponibles a nivel mundial y los atacantes de este tipo de servicios se encuentran al acecho para aprovecharse de vulnerabilidades causadas por controles de seguridad deficientes. En el ciclo de desarrollo de software, es necesario considerar una metodología de desarrollo seguro desde la fase de planificación, y no posteriormente, ya que puede representar graves riesgos para la información procesada, lo cual se traduce en costos elevados para la organización. Existe variedad de metodologías y marcos de referencia para el desarrollo seguro, no obstante en presente estudio se enfoca en el desarrollo de aplicaciones web, por lo que se hará uso del marco de referencia propuesto por OWASP (Open Web Application Security Project), el cual propone un enfoque basado en diez de las vulnerabilidades más comunes que afectan a aplicaciones web, y son mejor conocidas como OWASP TOP 10, esta lista de vulnerabilidades es administrada por una comunidad de profesionales en seguridad y desarrollo web, por lo que es un marco de referencia sólido y actualizado constantemente. Pese a que las vulnerabilidades listadas en OWASP TOP 10 son relevantes, el análisis del presente documento se enfocará en el riesgo más frecuente y de mayor impacto en aplicaciones web: Inyección SQL. El estudio de la vulnerabilidad por inyección SQL, refleja la necesidad de aplicar un modelo de desarrollo seguro, por parte de los equipos de desarrollo de aplicaciones web y la importancia de la inversión en soluciones y personal apto para desempeñar actividades desde una perspectiva de seguridad integral en el ámbito informático.

Palabras Claves: Desarrollo Seguro, OWASP, Inyección SQL, SQL Injection, Desarrollo Web, Aplicaciones Web.

Abstract: The implementation of secure development practices in web services and applications must be carried out efficiently in each of the organizations that have software development areas or by being a contractor for this type of services. The importance of secure web application development is intensified by the fact that web services are available worldwide and attackers of this type of service are on the prowl to take advantage of vulnerabilities caused by poor security controls. In the software development cycle, it is necessary to consider a secure development methodology from the planning phase, and not later, since it can represent serious risks for the processed information, which translates into high costs for the organization. There is a variety of methodologies and frameworks for secure development, however this study focuses on the development of web applications, so the framework proposed by OWASP (Open Web Application Security Project) will be used, which proposes an approach based on ten of the most common vulnerabilities that affect web applications, and they are better known as OWASP TOP 10, this list of vulnerabilities is managed by a community of professionals in web security and development, so it is a framework of solid reference and constantly updated. Although the vulnerabilities listed in OWASP TOP 10 are relevant, the analysis of this document will focus on the most frequent and most impactful risk in web applications: SQL injection. The study of SQL injection vulnerability reflects the need to apply a secure development model by web application development teams and the importance of investing in solutions and personnel capable of carrying out activities from a comprehensive security perspective in the computer field.

Introducción

El presente estudio permitirá al lector, la comprensión del modelo de desarrollo seguro en aplicaciones web, basado en el dominio A03:2021 del modelo OWASP TOP 10, el cual hace referencia a las vulnerabilidades de tipo SQL Injection.

Desde esta perspectiva, los objetivos de investigación se detallan a continuación:

  • Expresar la importancia de adoptar un modelo de desarrollo seguro en servicios y aplicaciones web.
  • Describir el dominio A03 de OWASP TOP 10 en su versión 2021.
  • Analizar las posturas y opiniones de profesionales del ámbito informático guatemalteco, respecto al desarrollo web seguro y su relación con la vulnerabilidad de inyección SQL.

El análisis del presente documento, gira en torno al estudio de las vulnerabilidades de tipo SQL Injection y su relación con el modelo de desarrollo seguro basado en OWASP TOP 10, utilizando en esta ocasión, información obtenida de conocimientos y experiencias vividas por profesionales informáticos en el ámbito de desarrollo y seguridad de aplicaciones en diversas organizaciones (públicas y privadas) del país de Guatemala.

La selección y enfoque en el modelo de seguridad OWASP TOP 10, es debido a sus características seguras y bien definidas para aplicaciones web, que este modelo ofrece. Dicho modelo es considerado como un estándar en seguridad de aplicaciones web, pues ha sido desarrollado y madurado por la comunidad OWASP desde el año 2001.

A nivel mundial, las aplicaciones web cumplen funciones esenciales para la sociedad en general. Guatemala es un país representativo en el ámbito tecnológico centroamericano y latinoamericano, por ello, se vuelve necesario comprender las principales vulnerabilidades a las cuales se encuentran expuestas las aplicaciones web, así como, las acciones a tomar en cuenta para minimizar el riesgo ante posibles amenazas.

Según múltiples estudios realizados a la fecha, se tiene la certeza de que la vulnerabilidad web más aprovechadas por los ciberdelincuentes, es la inyección SQL, el cual puede definirse como: un ataque a una aplicación web, que compromete su base de datos mediante instrucciones SQL maliciosas.

Basados en las vulnerabilidades por inyección SQL, el presente estudio, ofrecerá resultados fundamentados en entrevistas, encuestas y recopilación de información documental, el cual expondrá la criticidad a la cual están afectas las aplicaciones web, y principalmente cuales son las medidas de seguridad a tomar en cuenta para el desarrollo seguro y la mitigación de esta clase de vulnerabilidad y sus variantes.

Materiales y Métodos

La investigación se llevó a cabo en cuatro instituciones en la Ciudad de Guatemala tomando como base la experiencia, recursos y disponibilidades tecnológicas de estas organizaciones, cuyo enfoque es la implementación de soluciones de seguridad como parte de las buenas prácticas establecidas por el modelo OWASP TOP 10 A03, orientadas al desarrollo de sistemas de información.

Para esto fue necesario hacer uso de recursos como:

  • Físicos: Equipo de Computo
  • Personales: Profesionales Informáticos
  • De recolección: Encuestas, entrevistas y documentos informativos

Definiendo que el tema central de esta investigación fue refinado para el establecimiento de un enfoque sólido, que permitiera alinear las incógnitas en los recursos de recolección de datos anteriormente mencionados, iniciando con la investigación profunda y almacenamiento de información , se efectuó la segmentación para obtener el personal objetivo que aportó sus conocimientos a la investigación, aplicando técnicas proyectivas e ingeniería social para la apertura en la confiabilidad y desenlace de los temas específicos, realizando de esta manera las encuestas por correo electrónico y las entrevistas a través de reuniones virtuales de una manera semi formal respetando las restricciones y medidas de seguridad establecidas actualmente por la pandemia (COVID-19).

El tipo de investigación realizada es de carácter cualitativo y cuantitativo. Debido a la gran variedad de información que fue recolectada a través de la subjetividad del personal en cada una de las instituciones que adicionalmente permitieron la obtención de resultados significativos que apoyan al desarrollo seguro de aplicaciones web.

Resultados

Como parte del análisis realizado hacia el tema de inyección SQL, se logra obtener desde Google Trends, las tendencias de búsqueda de este tema, como se logra observar que se ha mantenido en los mismos márgenes, lo cual indica que la búsqueda sobre la mitigación de este riesgo potencial no ha aumentado su volumen, dando pauta a la falta de interés al momento sobre temas de seguridad al desarrollar sistemas web.

Con base en estos resultados, se decide realizar una encuesta a personas que se encuentran en el campo del desarrollo y también en la parte de seguridad tomando en cuenta la tendencia antes observada, para lo cual se obtuvieron los resultados siguientes:

Como se observa un 46.9% de los encuestados realmente cree que las evaluaciones de seguridad son necesarias y se sugieren que se deben realizar de forma trimestral, para que no exista un tiempo amplio sin realizar las evaluaciones respectivas.

En cuanto al entorno laboral, el 53.1% de los encuestados afirma que ha existido involucramiento de parte de sus empresas para lograr que sean entornos seguros y que los esfuerzos han permitido encontrar todo tipo de falencias en el campo de la seguridad.

Respecto a la lógica y buenas prácticas de programación, el 46.9% indica que la falta de conocimientos al momento de manejar un desarrollo seguro respecto a SQL inyección radica en los mismos programadores, por lo que es importante la capacitación constante respecto al apartado de seguridad y el mismo desarrollo seguro.

Tras conocer los resultados de la encuesta realizada a los diferentes grupos de personas, tanto del área de desarrollo como de seguridad, se determina que en ambos grupos se cuenta con conocimientos básicos sobre el tema de SQL inyección y los riesgos que este conlleva, pero que carece de interés, tanto la mitigación, como el mantenerse actualizados sobre dicho tema, esto último se encuentra enfocado a la parte del desarrollo, dado que, es el tema de seguridad lo último que se suele tomar en cuenta, por lo cual lo vuelve un proceso engorroso y demasiado laborioso.

Discusión

Según los resultados, se encontraron un número de variables asociadas a inyección SQL, las cuales desempeñan un rol importante y significativo, tanto en el desarrollo web como también en la seguridad informática que implica una página web. Así la falta de conocimiento y prácticas seguras para llevar a cabo un desarrollo seguro, sumando la poca inversión a la seguridad informática en las organizaciones hacen que la mayoría de los sitios web no cumplan con las medidas necesarias para tener un desarrollo seguro incrementando la vulnerabilidad de ataques por inyección SQL qué son generados con mayor frecuencia ya que los atacantes evolucionan sus métodos generando impacto en la continuidad del negocio.

A pesar de que un ataque de inyección SQL conlleva una serie de procedimientos no tan complejos para contrarrestarlo según su nivel de criticidad, es necesario contemplar desde un inicio mantener metodologías que apoyen el desarrollo y reduzcan o mitiguen este tipo de amenaza. Por lo tanto, es importante destinar parte de los recursos operacionales y económicos del área encargada para invertir en mejorar todo lo que involucra el desarrollo web y su entorno físico y lógico ya que como es bien conocido en la rama de sistemas informáticos, para tener un ambiente seguro, controlado, disponible correctamente y de manera confiable, se debe contar con todo el equipo necesario y capacitado eficientemente en los diferentes roles que se desempeñan para cumplir con el objetivo.

Conclusiones

Los modelos de desarrollo seguro deben ser implementados desde la concepción de un proyecto de desarrollo web, el omitir esta consideración puede causar el incremento futuro de costes para la organización, e incluso repercutir en afectaciones a la imagen y reputación de la organización, por causa de pérdidas o filtraciones de información sensible.

La capacitación y concientización de los desarrolladores es uno de los aspectos más importantes en la rama de seguridad informática, se debe poseer un enfoque objetivo y escalar, que permita la consolidación de una buena cultura institucional, así como la obtención de resultados, sin privarse de la aplicación de buenas prácticas en el desarrollo de sistemas.

Es indispensable considerar que llevar a cabo buenas prácticas desde el origen del desarrollo web, implica no solo generar software de gran valor, sino también incrementar el nivel de seguridad para toda la organización, reduciendo las vulnerabilidades o amenazas como la inyección SQL que se aprovecha de brechas no contempladas en el sitio.

El hecho de considerar las tendencias sobre cibercriminalidad es vital, especialmente el tema de seguridad en plataformas web, pues debe ser un tema por abordar en cada proyecto que involucre desarrollo, lo anterior como consecuencia del incremento en el uso de las plataformas web que se utilizan en actividades cotidianas.

Consideraciones Finales

Para mantener un entorno de seguridad proactivo en las aplicaciones web, se debe considerar la implementación de servicios de monitorización de aplicaciones, los cuales notifiquen, en tiempo real, ataques informáticos a plataformas críticas. Esto permitirá intervenir de manera oportuna ante incidentes informáticos y evitar daños mayores.

Se deben efectuar los estudios necesarios para el análisis de riesgos informáticos que puedan afectar a la organización a través del tiempo, así como el establecimiento de planes de contingencia tomando en cuenta los parámetros variables para la toma de decisiones.

Contemplar que, para tener un entorno adecuado, tanto para el desarrollo, como la seguridad de las aplicaciones web, se debe tener el equipo físico, lógico y operacional adecuado con niveles adecuados de habilidades, capacidades y conocimientos, lo que requiere de inversión económica según los resultados que se quieran obtener.

Debemos tomar en cuenta que la mejora continua para los procesos de seguridad y el desarrollo web, deben ir de la mano para lograr servicios con los que se logre ofrecer productos de calidad y que sean confiables para el uso de las personas que interactúan con ellos.

Referencias bibliográficas

Camacho, M. (2018). Facultad de Ingeniería, Universidad de la República Uruguay – Sistema de monitoreo de aplicaciones web e infraestructura. Obtenido en:  https://www.colibri.udelar.edu.uy/jspui/bitstream/20.500.12008/19639/1/tg-sabatella.pdf

Ciberseguridad.com (2021). Guías de Ciberseguridad Web – Desarrollo Seguro. Obtenido en: https://ciberseguridad.com/guias/desarrollo-seguro/

Boo, J. (2014). Mejora continua en el desarrollo de software. Obtenido en: https://comunidad.iebschool.com/weboolog/2014/11/25/mejora-continua-en-el-desarrollo-de-software/

García, J. (2010). Seguridad Informática – Análisis y control de riesgos de seguridad informática: control adaptativo. Obtenido en: https://acis.org.co/archivos/Revista/105/JMGarcia.pdf

Marulanda, J. (2018). Aplicación de la metodología OWASP para mejoramiento de la seguridad en el sistema E-commerce siembraviva.com. Obtenido en: repository.unad.edu.co/bitstream/handle/10596/20479/1060648494.pdf

Mazza, H. (2020). Gestión Estratégica en TIC  – Gestión Estratégica de Recursos Informáticos. Obtenido en: http://www.sustentum.com/sustentum/pubs/geri.pdf

Singh, S. (2019). Pentest-Tool Blog – Ataques comunes del tipo Inyección SQL. Obtenido en: https://pentest-tools.com/blog/sql-injection-attacks

OWASP Foundation (2021). Ataques Web – Inyección SQL. Obtenido en: https://owasp.org/www-community/attacks/SQL_Injection

OWASP Foundation (2021). OWASP Cheat Sheet Series – SQL Injection Prevention Cheat Sheet. Obtenido en: https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html [7]       

    OWASP A03:2021-Injection como Referente para el Desarrollo Seguro de Aplicaciones Web
    Scroll to top