Estudio Comparativo de algoritmos para la detección de ciber ataques SQL con IA
Fecha
2024Resumen
Las inyecciones SQL representan una de las amenazas más comunes y peligrosas en la seguridad de las bases de datos, permitiendo a los atacantes manipular consultas SQL para acceder o modificar información sensible. Detectar y prevenir estas inyecciones es crucial para mantener la integridad y seguridad de los sistemas de información. En este Trabajo de Fin de Máster, se abordará el problema de la clasificación de inyecciones SQL mediante la aplicación de varios algoritmos de aprendizaje automático: k-Nearest Neighbors (k-NN), Árboles de Decisión, Regresión Logística y Máquinas de Vectores de Soporte (SVM). Además de explicar matemáticamente en qué se fundamentan para llevar a cabo esta tarea de clasificación. El estudio incluirá la limpieza, comprensión y transformación de las características; y el entrenamiento y prueba para evaluar los modelos. Además, se utilizarán técnicas de validación cruzada y búsqueda de hiperparámetros para optimizar el rendimiento de los modelos y se evaluarán utilizando métricas de rendimiento como precisión, recall y F1-score. Los mejores modelos serán validados adicionalmente con una base de datos diferente para confirmar su capacidad de generalización. Este proyecto tiene como objetivo principal identificar el algoritmo más eficaz para la clasificación de inyecciones SQL y proporcionar una implementación robusta que pueda ser utilizada en entornos reales para mejorar la seguridad de las bases de datos. SQL injections represent one of the most common and dangerous threats to database security, allowing attackers to manipulate SQL queries to access or modify sensitive information. Detecting and preventing these injections is crucial for maintaining the integrity and security of information systems. In this Master’s Thesis, the problem of classifying SQL injections will be addressed through the application of various machine learning algorithms: k-Nearest Neighbors (k-NN), Decision Trees, Logistic Regression, and Support Vector Machines (SVM). Additionally, the mathematical foundations of these algorithms for classification tasks will be explained. The study will include data cleaning, understanding, and transformation of features; and the training and testing phases to evaluate the models. Techniques such as crossvalidation and hyperparameter tuning will be used to optimize model performance, and they will be evaluated using performance metrics such as accuracy, recall and F1-score. The best models will be further validated with a different database to confirm their generalization capability. The primary objective of this project is to identify the most effective algorithm for SQL injection classification and to provide a robust implementation that can be used in real-world environments to improve database security.