Diseño e implementación de un sistema de protección contra el ataque de inyección SQL, en un servidor vulnerable utilizando herramientas Open Access.

Fecha

Autor corporativo

Título de la revista

ISSN de la revista

Título del volumen

Editor

Compartir

Altmetric

Resumen

Currently, there is a substantial increase in the use of telecommunications, as well as an increase in investment in technology by organizations, there is also the need to improve and automate processes in different industries or organizations, which leads to having sensitive information on devices and In the net. Due to this, it is essential to find a way to protect information, since there are currently more and more cybercriminals developing and executing new cyber attacks that violate the availability, integrity or confidentiality of computers and personal or corporate information. It is well known that information is a very important asset and can be at risk of being violated all the time (Najar Pacheco & Suárez Suárez, 2015).

After conducting extensive research on the most common and significant attacks these days, it is found that the Open Web Application Security Project (OWASP) which is an international organization whose main objective is to determine and combat computer attacks, has a TOP10 with the The most important computer risks in web applications, the attack that leads this TOP is the attack by SQL injection (Structured Query Language). Given this, the design and implementation of a process that allows the detection and mitigation of the SQL injection attack is proposed, through a set of techniques and Open Access security tools that guide to obtain an efficient and economically viable method to be implemented by whoever required (OWASP, 2017).

The methodology used for the project was as follows, initially some SQL Injection attack scenarios were defined which were executed on the vulnerable DVWA server (Damn Vulnerable Web Application) and through these, sensitive information about the application such as names and quantity was obtained. of database columns, registered users, passwords and version of the same, manual tests were carried out first, that is, by executing the code directly in the ID field of the DVWA web page, a Python script was developed from which carried out a greater number of attacks to the server. After an investigation on the techniques used to mitigate the SQL Injection vulnerability, it was found that the implementation of a WAF (Web Application Firewall) is a very viable and effective solution to minimize the risk of the vulnerability being exploited (ORACLE, 2021 ); so several Open Source WAF solutions were found that could be used among them is Raptor WAF, Octupus WAF and Modsecurity. Taking into account the above, the attack tests were carried out according to the defined scenarios, but this time with each of the active WAFs, the manual attacks were executed, from the Python script and also using the SQLMap tool from which it is detected. and the vulnerability is exploited by executing automatic attacks and finding the information that can be exposed, the test is carried out with each active and inactive WAF to find information from the application database.

Of the three WAFs used for the penetration tests, different results were obtained, in the manual tests two of the three WAFs recognized all the attacks as malicious and blocked them, one of them only recognized half of the attacks as malicious and were blocked, When the attacks were executed from Python, it was possible to show that one of the WAFs stood out among the others since it withstood a large number of simultaneous attacks while another of these was turned off and stopped working after receiving a number of attacks.

Descripción

Actualmente, hay un incremento sustancial del uso de las telecomunicaciones, así como un incremento de inversión en tecnología por las organizaciones, también se tiene la necesidad de mejorar y automatizar procesos en distintas industrias u organizaciones, lo que conlleva a tener información sensible en dispositivos y en la red. Debido a esto, se hace indispensable buscar la manera de proteger la información, ya que, actualmente existen cada vez más ciberdelincuentes desarrollando y ejecutando nuevos ataques cibernéticos que vulneran la disponibilidad, integridad o confidencialidad de equipos e información personal o corporativa. Es bien sabido que la información es un activo muy importante y todo el tiempo puede estar en riesgo de ser vulnerado (Najar Pacheco & Suárez Suárez, 2015). Después de realizar una amplia investigación sobre los ataques más comunes y significativos de estos días, se encuentra que la Open Web Application Security Project (OWASP) que es una organización internacional cuyo objetivo principal es determinar y combatir los ataques informáticos, tiene un TOP10 con los riesgos informáticos más importantes en aplicaciones web, el ataque que encabeza este TOP es el de ataque por inyección SQL (Structured Query Language). Dado esto se plantea el diseño e implementación de un proceso que permita la detección y mitigación del ataque de inyección SQL, mediante un conjunto de técnicas y herramientas de seguridad Open Access que orienten a obtener un método eficaz y viable económicamente para poder ser implementado por quien lo requiera (OWASP, 2017). La metodología utilizada para el proyecto fue la siguiente, inicialmente se definieron algunos escenarios de ataque de Inyección SQL los cuales fueron ejecutados en el servidor vulnerable DVWA (Damn Vulnerable Web Application) y mediante estos se obtenía información sensible de la aplicación como los nombres y cantidad de columnas de la base de datos, los usuarios registrados, contraseñas y versión de la misma, se realizaron primero pruebas manuales, es decir, ejecutando el código directamente en el campo ID de la página web de DVWA, se desarrolló un script en Python desde el cual se efectuó una mayor cantidad de ataques al servidor. Después de una investigación sobre las técnicas utilizadas para mitigar la vulnerabilidad de Inyección SQL se encontró que la implementación de un WAF (Firewall de Aplicaciones Web) es una solución muy viable y eficaz para minimizar el riesgo de que sea explotada la vulnerabilidad (ORACLE, 2021); así que se encontraron varias soluciones de WAF Open Source que podrían ser utilizadas entre ellas está Raptor WAF, Octupus WAF y Modsecurity. Teniendo en cuenta lo anterior se llevaron a cabo las pruebas de ataque según los escenarios definidos pero esta vez con cada uno de los WAF activos, se ejecutaron los ataques manuales, desde el script en Python y también utilizando la herramienta SQLMap desde la cual se detecta y se explota la vulnerabilidad ejecutando ataques automáticos y encontrando la información que se puede exponer, la prueba se realiza con cada WAF activo e inactivo para encontrar información de la base de datos de la aplicación. De los tres WAF utilizados para las pruebas de penetración se obtuvieron resultados diferentes, en las pruebas manuales dos de los tres WAF reconocieron todos los ataques como maliciosos y los bloquearon, uno de ellos solo reconoció la mitad de los ataques como maliciosos y fueron bloqueados, cuando se ejecutaron los ataques desde Python se logró evidenciar que uno de los WAF destacó entre los otros ya que soportó un gran número de ataques simultáneos mientras otro de estos se apagó y dejó de funcionar al recibir una cantidad de ataques.

Palabras clave

Pentesting, Inyección SQL, Kali Linux, Firewall de aplicaciones web

Materias

Ingeniería en Telecomunicaciones - Tesis y disertaciones académicas , Firewalls (Informática) , SQL (Lenguaje de programación de computadores) , Open Access (Programa para computador) , Procesadores de palabras

Citación