Evaluación de rendimiento de algoritmos en la identificación de ataques a sitios web utilizando logs de servidor - Chinguel Tineo, Segundo Florentino (2022)
El 65.6% de la población del mundo tiene acceso y uso activo a internet (Internetworldstats, 2021). Existe un aproximado de 1,2 billones de sitios web activos (Netcraft, 2021) y cada uno almacena las solicitudes recibidas en un archivo log. A nivel de aplicaciones web, se conoce que los ataques de Broken Access control (top 1) e Inyección (top 3) según la clasificación realizada por OWASP en su Top 10 Web Application Security Risks publicada en 2021. Basado en estos datos estadísticos se propuso el proyecto de investigación denominado “Evaluación de rendimiento de algoritmos en la identificación de ataques a sitios web utilizando logs de servidor.” Debido a que los archivos log consisten en una fuente que está obteniendo mucha relevancia en la identificación de posibles ataques a sitios web pero que no estaba siendo aprovechada. Se hizo una selección de ataques a investigar basados en el top 10 liberado por OWASP en su informe de 2021, donde las vulnerabilidades de Broken Access Control, Injection y Cross Site Scripting que se encuentran dentro del top 3 de vulnerabilidades fueron seleccionadas. Se analizó diversas bases de datos de vulnerabilidades de seguridad conocidas y reglas de seguridad recabadas del proyecto web PHP para la identificación de intrusos (PHPIDS), lo que permitió elaborar un total de 809 patrones de ataques, los cuales fueron procesados para permitir que sean clasificados por diversos algoritmos de aprendizaje automático. Basado en una decena de investigaciones relacionadas a la presente investigación, se seleccionó a los algoritmos que mejor resultado de desempeño ofrecieron en su respectiva investigación y de los cuales se eligió a 3 que fueron BayesNet, Random Forest y Support Vector Machine (SVM). Haciendo uso de WEKA, una aplicación utilizada para pruebas de minería de datos y aprendizaje automático, se realizó la evaluación del rendimiento de los algoritmos en la clasificación de los 809 patrones de ataques mediante tres pruebas distintas que fueron Percentage Split, Cross Validation y Training Set. Los resultados de la evaluación concluyen que el algoritmo Random Forest obtuvo un rendimiento optimo, con una exactitud de 100% en la prueba de Training Set, el algoritmo SVM obtuvo un 99.9% y el algoritmo Bayes Net obtuvo un 98.9%.