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.

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 sensibl...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2021
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/29053
Acceso en línea:
http://hdl.handle.net/11349/29053
Palabra clave:
Pentesting
Inyección SQL
Kali Linux
Firewall de aplicaciones web
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
Pentesting
SQL Injection
Kali Linux
Web application firewall
Rights
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional
Description
Summary: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.