Machine Learning Classifiers to Detect Malicious Websites Christian Urcuqui Andres Navarro Grupo de Investigación i2t Grupo de Investigación i2t Universidad Icesi Universidad Icesi Cali, Colombia Cali, Colombia ccurcuqui@icesi.edu.co anavarro@icesi.edu.co Jose Osorio Melisa Garcı́a Universidad Icesi Universidad Icesi Cali, Colombia Cali, Colombia jose.osorio1@correo.icesi.edu.co melisa.garcia@correo.icesi.edu.co es un medio que permite tanto a las personas como a las compañı́as realizar distintas tareas, como por ejem- Abstract plo, la difusión de información sensible y el acceso a A risk that exists in Internet is the access of las páginas web. Por otra parte, mientras el uso de las websites with malicious content, because they tecnologı́as se ha incrementado significativamente, la might be open doors for cybercrimes or be the cantidad de vulnerabilidades y de ataques cibernéti- mechanism to download files in order to affect cos también ha aumentado. organizations, persons and the environment. Actualmente se pueden encontrar distintas técnicas, What is more, the attack registers through metodologı́as y sistemas para el análisis de páginas ma- websites have been part of cyberattacks re- liciosas [Urcuqui16]. Un ejemplo de ello es la aplicación ports during the last years; this information del análisis estático, dinámico y la inteligencia artifi- includes attacks made by the currently risks cial para la evaluación de elementos que permitan cla- found in new technologies, such as the IoT. sificar entre una página benigna y otra de contenido Due the computer security complexity, studies perjudicial para los usuarios. Adicionalmente, también have been working in to use machine learning se han propuesto marcos de trabajo para el análisis de algorithms to identify web malicious content. sitios web [Bartoli10] [Roesch99]. Por otra parte, como This article explores the application of a data sistemas de seguridad se pueden encontrar: Tripware analysis process through a framework that in- [Kim94], Nagios [Aman14], entre otros. cludes dynamic, static analysis, updated web- sites and a low interaction client honeypot in 2. Estado del arte order to classify a website. Furthermore, it Los ataques web pueden ser evaluados a partir de evaluates the capacity of the classification of dos enfoques: una detección basada en firmas y otra four machine learning through the information por anomalı́as.También, se pueden encontrar trabajos analyzed. que utilizan algoritmos de machine learning para la detección de páginas web maliciosas que tienen con- 1. Introducción tenido que está relacionado a un tipo de ciberataque [Atienza15]. Internet es una tecnologı́a que conecta alrededor de Roesh M., explica en su estudio [Roesch99] la utili- 3 mil millones de usuarios en todo el mundo, además, dad de Snort, un sistema de detección de intrusos que Copyright c by the paper’s authors. Copying permitted for pri- utiliza un conjunto de reglas almacenadas en su base vate and academic purposes. de datos para la detección de contenido malicioso en Proceedings of the Spring School of Networks, Pucón, Chile, la red. October 2017, published at http://ceur-ws.org Un estudio propone un marco de trabajo (Goldrake) [Bartoli10] para el análisis de cambios no autorizados 4. Recolección del tráfico web. Cada URL fue ejecu- sobre páginas web con alto contenido dinámico. Gol- tada sobre Thug durante 4 segundos con su confi- drake utiliza una detección por anomalı́as a través de guración por defecto y en paralelo al proceso nues- un servicio de monitoreo que no requiere alguna insta- tro script capturó el tráfico web por medio PyS- lación sobre la infraestructura del sitio web a analizar. hark. Finalmente, del proceso se obtuvieron un Los resultados de la evaluación muestran que el pro- total de 756 registros de tráfico de red malicioso totipo tiene un buen desempeño tanto en la tasa de y 1.743 del benigno. falsos positivos y falsos negativos. Dos estudios han explorado la aplicación de al- 5. Procesamiento de la información. Se desa- goritmos de machine learning para la identificación rrolló otra herramienta en Python para el proce- de páginas web maliciosas a partir de la extracción samiento del contenido HTTP y las propiedades de información del análisis estático y dinámico. En de Whois. Con lo anterior se obtuvieron las si- [Mohaisen15] se entrenaron y testearon clasificadores a guientes caracterı́sticas: través de la información obtenida de los objetos trans- Capa de aplicación feridos (TF) en el tráfico HTTP tanto de páginas ma- (A1): Content length representa el tamaño lignas y benignas, con un resultado de detección de total de caracteres en la URL 93 % en páginas web maliciosas. Por otra parte, en (A2): Number special characters es el total [Xu13] se realizo un análisis de información obtenida de caracteres especiales que aparecen sobre en la capa de aplicación y de red, para ello se utilizo la URL (por ejemplo, ?, %, #, &, , ¯) un honeypot de alta interacción (Capture-HPC ver- sión 3.0) y el sniffer TCPDUMP; obteniendo que el (A3): HTTPHeader content length repre- clasificador J48 aplicado con todos los datos es mucho senta al tamaño del contenido de la cabecera más rápido y eficiente que un enfoque tanto dinámico HTTP y estático. (A4): HTTPHeader server provee informa- ción acerca del servidor de la página web, 3. Metodologı́a entre la que se encuentra su nombre, tipo y versión 1. Dataset de URL. El conjunto de enlaces uti- lizado se encuentra conformado por sitios (A5): HTTPHeader charset indica la codifi- maliciosos obtenidos de las siguientes fuen- cación de cada página web (por ejemplo, AN- tes: machinelearning.inginf.units.it/data-and- SI, ISO-8859-1, UTF8) tools/hidden-fraudulent-urls-dataset, malwa- (A6): Whois regDate indica la fecha en que redomainlist.com y zeuztacker.abuse.ch; de el servidor del sitio web fue registrado las anteriores se consiguieron un total de (A7): Whois updated date es la última fecha 185.181 enlaces. Por otra parte, los enla- en que el servidor fue actualizado ces benignos se extrajeron del repositorio https://github.com/faizann24/Using-machine- (A8): Whois country indica el paı́s donde se learning-to-detect-malicious-URLs.git, del cual se encuentra el servidor del sitio web adquirieron 345.000 URL. (A9): Whois statePro representa a la locali- zación donde fue registrado el sitio web 2. Verificar el estado de cada página web del dataset (A10): Whois Domain indica el dominio del de URL. Para ello se desarrolló una herramienta sitio web en Python y con la librerı́a urllib2 se verifico si cada URL se encontraba activa o inactiva. Como Capa de red resultado se obtuvo un total de 35.279 enlaces ma- liciosos activos (el 19 %) y se seleccionó una mues- (R1): TCP conversation exhange cuenta la tra aleatoria de URL benignas a las cuales se les cantidad de paquetes que hay entre el ho- aplico el proceso, y como resultado se obtuvo una neypot y el sitio web por el protocolo TCP lista de tamaño de 27.912. (R2): Dist remote tcp port es el número to- tal de puertos distintos a los expuestos en 3. Selección de caracterı́sticas y su generador. El tra- TCP bajo parte de las caracterı́sticas estudiadas por [Xu13], con la diferencia de que se analizarán los (R3): Remote ips representa al número di- datos generados a partir de un conjunto de URL recciones IP conectadas al honeypot activas y a las capacidades de un honeypot tipo (R4): Pkt without dns es un arreglo de todos cliente de baja interacción (Thug). los paquetes que no son DNS (R5): TCP urg packets representa al número número de caracteres, por lo tanto, el resultado podrı́a de paquetes TCP con la bandera URG ser muy variable y alterado. (R6): Source app packets es el número de pa- Del tráfico web malicioso y benigno de las páginas quetes enviados por el honeypot hacia el ser- web procesadas a partir de un honeypot de baja in- vidor remoto teracción se pueden inferir los siguientes puntos: Para R1 y R2 la cantidad de paquetes TCP es más fre- (R7): Remote app packets es la variable del cuente en la comunicación entre las páginas benignas volumen en bytes de la comunicación entre y el honeypot (32,79 benignos y 22,47 maliciosos). Por el servidor web al honeypot otra parte, los datos indican que hubieron mayor can- (R8): Duration es el tiempo de duración de tidad de conexiones IP al honeypot cliente de baja in- la página web teracción (R3) cuando se ejecutaron páginas benignas (R9): Avg local pkt rate es el promedio de (10,63 benignos y 2,47 maliciosos), pero la cantidad paquetes locales IP por segundo (paquetes de consultas DNS a servidores remotos (R12) es ma- enviados sobre la duración) enviados desde yor en las benignas y es probable que el resultado sea el crawler hacia el servidor web influenciado por las capacidades del honeypot (37,99 (R10): Avg remote pkt rate es el promedio benignas y 27,66 malignas). Al parecer las páginas ma- de paquetes remotos IP por segundo envida- liciosas tienden a tener un menor tiempo de duración dos desde el servidor remoto hacia el crawler en la comunicación (R8) (3,6 segundos en benignos y 3 segundos en maliciosos), además, durante este inter- (R11): App packets es el número total de valo de tiempo la cantidad de paquetes transmitidos paquetes IP generados en la consulta de la por segundo es mucho más elevada desde el cliente al URL, en la cual se incluyen las de DNS servidor (R9) (0,8 benignos y 1,9 maliciosos) en con- (R12): DNS query times lista de capas DNS traste con la cantidad de paquetes recibidos desde el queries atacante (R10) (44,6 benignos y 14,5 maliciosos), pe- ro, tanto en el total paquetes enviados (R5 y R6) (37,9 Una vez obtenidas las caracterı́sticas menciona- benignos y 27,6 maliciosos) y en su tamaño en bytes das, se aplicó una regla de normalización en los (R7) las páginas maliciosas tienen menores resultados datos numéricos con el fin de representarlos en comparados a los benignos un rango entre 0 y 1. Adicionalmente, los datos categóricos fueron simbolizados como binarios. Algoritmos de machine learning 6. Algoritmos de machine learning y su evaluación. El proceso de entrenamiento y evaluación se divi- La tecnologı́a utilizada para el análisis fue R, de dió en tres partes: primero se evaluaron las capas de esta se seleccionaron los clasificadores de machi- red y de aplicación por separado, en segundo lugar se ne learning: J48, Regresión logı́stica (RL), Naive estudiaron los clasificadores con todas las caracterı́sti- Bayes (NB) y Support Vector Machines (SVM). cas, y finalmente se realizó un testeo sobre las carac- Por otra parte, cada algoritmo fue utilizado con terı́sticas más representativas encontradas en previos su configuración por defecto y fue evaluado con estudios (A1, A4 y R8) [Xu13]. Adicionalmente, el da- los resultados en exactitud, el tiempo de entrena- taset utilizado contó con un tamaño de 967 registros miento y el valor Cohen’s kappa. y 400 variables (861 observaciones benignas y 106 ma- lignas), debido a que el conjunto de datos no se en- 4. Experimento y resultados contraba balanceado, se aplicó una validación cruzada Análisis de los datos con un k igual a 10. Ahora bien, las caracterı́sticas eva- luadas por parte de la capa de aplicación son A1, A2, De los datos obtenidos de la capa de aplicación po- A3, A4, A5, A8 y A9. Mientras que las evaluadas por demos deducir lo siguiente: el tamaño promedio de las parte de la capa de red son desde R1 a R12. URL (A1) es más mayor en las maliciosas (benignas 53,31 y malignas 85,45), que el número de caracte- Tabla 1: Algoritmos, capa de aplicación y red res especiales (A2) es mayor en las páginas malicio- sas (benignas 10,81 y maliciosas 17,20), se presentan Aplicación Red mayores indices de servidores maliciosos en Apache y Alg Exactitud Seg Exactitud Seg NGINX (A4). Por otra parte, gran parte de los datos SVM 89,09 % 2 55,16 % 1,9 de localización con Whois para páginas maliciosas se encuentran en US y CN. Finalmente, hay una mayor RL 88,43 % 3,5 54,11 % 0,8 proporción de registros en A3 en las páginas malicio- NB 84,7 % 3,3 55,16 % 0,8 sas, pero existen herramientas que permiten reducir el J48 90,10 % 4 57,01 % 4 todas las caracterı́sticas y un 96,05 % para solo tres va- Tabla 2: Algoritmos y toda la matriz de datos riables, adicionalmente presentamos los resultados de distintas combinaciones de caracterı́sticas debido a que Algoritmo Exactitud Tiempo (s) un ataque cibernético puede tener muchas variables y SVM 97,41 % 3,38 presentarse en distintos contextos. Regresión logı́stica 90,58 % 5,31 Naive Bayes 10,96 % 2,28 Referencias J48 98,76 % 53,37 [Urcuqui16] Urcuqui López, C. C., Garcı́a Peña, M., Osorio Quintero, J. L., and Navarro Cadavid, Realizando una predicción de la clasificación por ca- A. Antidefacement-State of art. Sistemas & da capa (Tabla 1), se puede concluir que las carac- Telemática, 14(39): 9-27, 2016. terı́sticas de aplicación tienen mayor influencia en los resultados a diferencia de la capa de red, dos ejem- [Bartoli10] Bartoli, A., Davanzo, G., and Medvet, E. plos son el algoritmo J48 que presenta una exactitud A framework for large-scale detection of web del 90,1 % y una respuesta de 4,05 segundos a com- site defacements. ACM Transactions on In- paración del algoritmo de regresión logı́stica que tiene ternet Technology (TOIT), 10(3), 10. 2010. un resultado del 88,43 % y un factor de respuesta de [Roesch99] Roesch, M. Snort: Lightweight Intrusion 0,87 segundos. Por otra parte, al realizar la evaluación Detection for Networks. In LISA, (Vol. 99, con todas las caracterı́sticas (Tabla 2) gran parte del No. 1, pp. 229-238). November 1999. desempeño de los clasificadores incrementó y ası́ mis- mo su tiempo de respuesta, entre los resultados pode- [Kim94] Kim, G. H., & Spafford, E. H. The design and mos resaltar que el J48 aún conserva la mejor clasifi- implementation of tripwire: A file system in- cación con un 98,76 %, pero con un tiempo de 53,43 tegrity checker. In Proceedings of the 2nd segundos, por otra parte el algoritmo de SVM presen- ACM Conference on Computer and Commu- ta un 97,71 % y con un tiempo mucho menor (3,38 nications Security, (pp. 18-29). ACM. Novem- segundos). ber 1994. Tabla 3: Algoritmos y caracterı́sticas A1, A4 y R8 [Aman14] Aman, H., Yamashita, A., Sasaki, T., and Kawahara, M. Multistage Growth Model for Algoritmo Exactitud Tiempo (s) Code Change Events in Open Source Softwa- SVM 85,46 % 1,90 re Development: An Example Using Develop- Regresión logı́stica 84,51 % 0,06 ment of Nagios. In Software Engineering and Naive Bayes 85,46 % 0,02 Advanced Applications (SEAA), 2014 40th EUROMICRO Conference on (pp. 207-212). J48 96,05 % 0,01 IEEE. August 2014. De la Tabla 3 podemos deducir que el algoritmo [Mohaisen15] Mohaisen, A. Towards automatic and J48 conserva la mejor exactitud en la clasificación lightweight detection and classification of ma- (96,05 %), con un tiempo de 0,01 segundos y con un in- licious web contents. In Hot Topics in Web dicador de kappa del 0,91, este modelo cuenta con una Systems and Technologies (HotWeb), Third buena clasificación para un contexto donde el tiempo IEEE Workshop on (pp. 67-72). IEEE. No- fuera significativo. vember 2015. [Xu13] Xu, L., Zhan, Z., Xu, S., and Ye, K. Cross- 5. Conclusiones y trabajos a futuro layer detection of malicious websites. In Pro- ceedings of the third ACM conference on Da- Hemos encontrado que gran parte de los honeypots ta and application security and privacy , (pp. hoy en dı́a presentan una deficiencia en la documen- 141-152). ACM. February 2013. tación y también en sus actualizaciones, por lo tanto, se propone a trabajo a futuro realizar un estudio que [Atienza15] Atienza, D., Herrero, Á., and Corchado, proponga la evaluación de estas herramientas aplica- E. Neural analysis of http traffic for web at- das con la metodologı́a utilizada en este artı́culo. Por tack detection. In International Joint Confe- otra parte, concluimos que a través de un honeypot rence, (pp. 201-212). Springer, Cham. 2015. de baja interacción y un conjunto de datos reciente, es posible identificar una página web maliciosa con un re- sultado de exactitud del algoritmo J48 del 98,76 % con