<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Machine Learning Classi ers to Detect Malicious Websites</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Christian Urcuqui</string-name>
          <email>ccurcuqui@icesi.edu.co</email>
          <email>ccurcuqui@icesi.edu.co Jose Osorio Universidad Icesi Cali, Colombia jose.osorio1@correo.icesi.edu.co</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andres Navarro</string-name>
          <email>anavarro@icesi.edu.co</email>
          <email>anavarro@icesi.edu.co Melisa Garc a Universidad Icesi Cali, Colombia melisa.garcia@correo.icesi.edu.co</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Proceedings of the Spring School of Networks, Pucon, Chile,</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Grupo de Investigacion i2t, Universidad Icesi</institution>
          ,
          <addr-line>Cali</addr-line>
          ,
          <country country="CO">Colombia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>October 2017, published at http://ceur-ws.org</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p />
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>A risk that exists in Internet is the access of
websites with malicious content, because they
might be open doors for cybercrimes or be the
mechanism to download les in order to a ect
organizations, persons and the environment.
What is more, the attack registers through
websites have been part of cyberattacks
reports during the last years; this information
includes attacks made by the currently risks
found in new technologies, such as the IoT.
Due the computer security complexity, studies
have been working in to use machine learning
algorithms to identify web malicious content.
This article explores the application of a data
analysis process through a framework that
includes dynamic, static analysis, updated
websites and a low interaction client honeypot in
order to classify a website. Furthermore, it
evaluates the capacity of the classi cation of
four machine learning through the information
analyzed.</p>
      <p>Internet es una tecnolog a que conecta alrededor de
3 mil millones de usuarios en todo el mundo, ademas,
Copyright c by the paper's authors. Copying permitted for
private and academic purposes.
es un medio que permite tanto a las personas como a
las compan~ as realizar distintas tareas, como por
ejemplo, la difusion de informacion sensible y el acceso a
las paginas web. Por otra parte, mientras el uso de las
tecnolog as se ha incrementado signi cativamente, la
cantidad de vulnerabilidades y de ataques
ciberneticos tambien ha aumentado.</p>
      <p>Actualmente se pueden encontrar distintas tecnicas,
metodolog as y sistemas para el analisis de paginas
maliciosas [Urcuqui16]. Un ejemplo de ello es la aplicacion
del analisis estatico, dinamico y la inteligencia arti
cial para la evaluacion de elementos que permitan
clasi car entre una pagina benigna y otra de contenido
perjudicial para los usuarios. Adicionalmente, tambien
se han propuesto marcos de trabajo para el analisis de
sitios web [Bartoli10] [Roesch99]. Por otra parte, como
sistemas de seguridad se pueden encontrar: Tripware
[Kim94], Nagios [Aman14], entre otros.
2.</p>
    </sec>
    <sec id="sec-2">
      <title>Estado del arte</title>
      <p>Los ataques web pueden ser evaluados a partir de
dos enfoques: una deteccion basada en rmas y otra
por anomal as.Tambien, se pueden encontrar trabajos
que utilizan algoritmos de machine learning para la
deteccion de paginas web maliciosas que tienen
contenido que esta relacionado a un tipo de ciberataque
[Atienza15].</p>
      <p>Roesh M., explica en su estudio [Roesch99] la
utilidad de Snort, un sistema de deteccion de intrusos que
utiliza un conjunto de reglas almacenadas en su base
de datos para la deteccion de contenido malicioso en
la red.</p>
      <p>Un estudio propone un marco de trabajo (Goldrake)
[Bartoli10] para el analisis de cambios no autorizados
sobre paginas web con alto contenido dinamico.
Goldrake utiliza una deteccion por anomal as a traves de
un servicio de monitoreo que no requiere alguna
instalacion sobre la infraestructura del sitio web a analizar.
Los resultados de la evaluacion muestran que el
prototipo tiene un buen desempen~o tanto en la tasa de
falsos positivos y falsos negativos.</p>
      <p>Dos estudios han explorado la aplicacion de
algoritmos de machine learning para la identi cacion
de paginas web maliciosas a partir de la extraccion
de informacion del analisis estatico y dinamico. En
[Mohaisen15] se entrenaron y testearon clasi cadores a
traves de la informacion obtenida de los objetos
transferidos (TF) en el tra co HTTP tanto de paginas
malignas y benignas, con un resultado de deteccion de
93 % en paginas web maliciosas. Por otra parte, en
[Xu13] se realizo un analisis de informacion obtenida
en la capa de aplicacion y de red, para ello se utilizo
un honeypot de alta interaccion (Capture-HPC
version 3.0) y el sni er TCPDUMP; obteniendo que el
clasi cador J48 aplicado con todos los datos es mucho
mas rapido y e ciente que un enfoque tanto dinamico
y estatico.
3.</p>
      <p>Metodolog a
1. Dataset de URL. El conjunto de enlaces
utilizado se encuentra conformado por sitios
maliciosos obtenidos de las siguientes
fuentes:
machinelearning.inginf.units.it/data-andtools/hidden-fraudulent-urls-dataset,
malwaredomainlist.com y zeuztacker.abuse.ch; de
las anteriores se consiguieron un total de
185.181 enlaces. Por otra parte, los
enlaces benignos se extrajeron del repositorio
https://github.com/faizann24/Using-machinelearning-to-detect-malicious-URLs.git, del cual se
adquirieron 345.000 URL.
2. Veri car el estado de cada pagina web del dataset
de URL. Para ello se desarrollo una herramienta
en Python y con la librer a urllib2 se veri co si
cada URL se encontraba activa o inactiva. Como
resultado se obtuvo un total de 35.279 enlaces
maliciosos activos (el 19 %) y se selecciono una
muestra aleatoria de URL benignas a las cuales se les
aplico el proceso, y como resultado se obtuvo una
lista de taman~o de 27.912.
3. Seleccion de caracter sticas y su generador. El
trabajo parte de las caracter sticas estudiadas por
[Xu13], con la diferencia de que se analizaran los
datos generados a partir de un conjunto de URL
activas y a las capacidades de un honeypot tipo
cliente de baja interaccion (Thug).
4. Recoleccion del tra co web. Cada URL fue
ejecutada sobre Thug durante 4 segundos con su con
guracion por defecto y en paralelo al proceso
nuestro script capturo el tra co web por medio
PyShark. Finalmente, del proceso se obtuvieron un
total de 756 registros de tra co de red malicioso
y 1.743 del benigno.
5. Procesamiento de la informacion. Se
desarrollo otra herramienta en Python para el
procesamiento del contenido HTTP y las propiedades
de Whois. Con lo anterior se obtuvieron las
siguientes caracter sticas:
Capa de aplicacion
(A1): Content length representa el taman~o
total de caracteres en la URL
(A2): Number special characters es el total
de caracteres especiales que aparecen sobre
la URL (por ejemplo, ?, %, #, &amp;, , )
(A3): HTTPHeader content length
representa al taman~o del contenido de la cabecera
HTTP
(A4): HTTPHeader server provee
informacion acerca del servidor de la pagina web,
entre la que se encuentra su nombre, tipo y
version
(A5): HTTPHeader charset indica la codi
cacion de cada pagina web (por ejemplo,
ANSI, ISO-8859-1, UTF8)
(A6): Whois regDate indica la fecha en que
el servidor del sitio web fue registrado
(A7): Whois updated date es la ultima fecha
en que el servidor fue actualizado
(A8): Whois country indica el pa s donde se
encuentra el servidor del sitio web
(A9): Whois statePro representa a la
localizacion donde fue registrado el sitio web
(A10): Whois Domain indica el dominio del
sitio web
Capa de red
(R1): TCP conversation exhange cuenta la
cantidad de paquetes que hay entre el
honeypot y el sitio web por el protocolo TCP
(R2): Dist remote tcp port es el numero
total de puertos distintos a los expuestos en
TCP
(R3): Remote ips representa al numero
direcciones IP conectadas al honeypot
(R4): Pkt without dns es un arreglo de todos
los paquetes que no son DNS
(R5): TCP urg packets representa al numero
de paquetes TCP con la bandera URG
(R6): Source app packets es el numero de
paquetes enviados por el honeypot hacia el
servidor remoto
(R7): Remote app packets es la variable del
volumen en bytes de la comunicacion entre
el servidor web al honeypot
(R8): Duration es el tiempo de duracion de
la pagina web
(R9): Avg local pkt rate es el promedio de
paquetes locales IP por segundo (paquetes
enviados sobre la duracion) enviados desde
el crawler hacia el servidor web
(R10): Avg remote pkt rate es el promedio
de paquetes remotos IP por segundo
envidados desde el servidor remoto hacia el crawler
(R11): App packets es el numero total de
paquetes IP generados en la consulta de la
URL, en la cual se incluyen las de DNS
(R12): DNS query times lista de capas DNS
queries
Una vez obtenidas las caracter sticas
mencionadas, se aplico una regla de normalizacion en los
datos numericos con el n de representarlos en
un rango entre 0 y 1. Adicionalmente, los datos
categoricos fueron simbolizados como binarios.
6. Algoritmos de machine learning y su evaluacion.</p>
      <p>La tecnolog a utilizada para el analisis fue R, de
esta se seleccionaron los clasi cadores de
machine learning: J48, Regresion log stica (RL), Naive
Bayes (NB) y Support Vector Machines (SVM).
Por otra parte, cada algoritmo fue utilizado con
su con guracion por defecto y fue evaluado con
los resultados en exactitud, el tiempo de
entrenamiento y el valor Cohen's kappa.</p>
    </sec>
    <sec id="sec-3">
      <title>Experimento y resultados</title>
      <sec id="sec-3-1">
        <title>Analisis de los datos</title>
        <p>De los datos obtenidos de la capa de aplicacion
podemos deducir lo siguiente: el taman~o promedio de las
URL (A1) es mas mayor en las maliciosas (benignas
53,31 y malignas 85,45), que el numero de
caracteres especiales (A2) es mayor en las paginas
maliciosas (benignas 10,81 y maliciosas 17,20), se presentan
mayores indices de servidores maliciosos en Apache y
NGINX (A4). Por otra parte, gran parte de los datos
de localizacion con Whois para paginas maliciosas se
encuentran en US y CN. Finalmente, hay una mayor
proporcion de registros en A3 en las paginas
maliciosas, pero existen herramientas que permiten reducir el
numero de caracteres, por lo tanto, el resultado podr a
ser muy variable y alterado.</p>
        <p>Del tra co web malicioso y benigno de las paginas
web procesadas a partir de un honeypot de baja
interaccion se pueden inferir los siguientes puntos: Para
R1 y R2 la cantidad de paquetes TCP es mas
frecuente en la comunicacion entre las paginas benignas
y el honeypot (32,79 benignos y 22,47 maliciosos). Por
otra parte, los datos indican que hubieron mayor
cantidad de conexiones IP al honeypot cliente de baja
interaccion (R3) cuando se ejecutaron paginas benignas
(10,63 benignos y 2,47 maliciosos), pero la cantidad
de consultas DNS a servidores remotos (R12) es
mayor en las benignas y es probable que el resultado sea
in uenciado por las capacidades del honeypot (37,99
benignas y 27,66 malignas). Al parecer las paginas
maliciosas tienden a tener un menor tiempo de duracion
en la comunicacion (R8) (3,6 segundos en benignos y
3 segundos en maliciosos), ademas, durante este
intervalo de tiempo la cantidad de paquetes transmitidos
por segundo es mucho mas elevada desde el cliente al
servidor (R9) (0,8 benignos y 1,9 maliciosos) en
contraste con la cantidad de paquetes recibidos desde el
atacante (R10) (44,6 benignos y 14,5 maliciosos),
pero, tanto en el total paquetes enviados (R5 y R6) (37,9
benignos y 27,6 maliciosos) y en su taman~o en bytes
(R7) las paginas maliciosas tienen menores resultados
comparados a los benignos</p>
      </sec>
      <sec id="sec-3-2">
        <title>Algoritmos de machine learning</title>
        <p>El proceso de entrenamiento y evaluacion se
dividio en tres partes: primero se evaluaron las capas de
red y de aplicacion por separado, en segundo lugar se
estudiaron los clasi cadores con todas las caracter
sticas, y nalmente se realizo un testeo sobre las
caracter sticas mas representativas encontradas en previos
estudios (A1, A4 y R8) [Xu13]. Adicionalmente, el
dataset utilizado conto con un taman~o de 967 registros
y 400 variables (861 observaciones benignas y 106
malignas), debido a que el conjunto de datos no se
encontraba balanceado, se aplico una validacion cruzada
con un k igual a 10. Ahora bien, las caracter sticas
evaluadas por parte de la capa de aplicacion son A1, A2,
A3, A4, A5, A8 y A9. Mientras que las evaluadas por
parte de la capa de red son desde R1 a R12.</p>
        <p>Tabla 1: Algoritmos, capa de aplicacion y red
Alg
Tabla 2: Algoritmos y toda la matriz de datos</p>
        <p>Realizando una prediccion de la clasi cacion por
cada capa (Tabla 1), se puede concluir que las
caracter sticas de aplicacion tienen mayor in uencia en los
resultados a diferencia de la capa de red, dos
ejemplos son el algoritmo J48 que presenta una exactitud
del 90,1 % y una respuesta de 4,05 segundos a
comparacion del algoritmo de regresion log stica que tiene
un resultado del 88,43 % y un factor de respuesta de
0,87 segundos. Por otra parte, al realizar la evaluacion
con todas las caracter sticas (Tabla 2) gran parte del
desempen~o de los clasi cadores incremento y as
mismo su tiempo de respuesta, entre los resultados
podemos resaltar que el J48 aun conserva la mejor clasi
cacion con un 98,76 %, pero con un tiempo de 53,43
segundos, por otra parte el algoritmo de SVM
presenta un 97,71 % y con un tiempo mucho menor (3,38
segundos).</p>
        <p>Tabla 3: Algoritmos y caracter sticas A1, A4 y R8</p>
        <sec id="sec-3-2-1">
          <title>Algoritmo</title>
          <p>SVM
Regresion log stica
Naive Bayes</p>
          <p>J48</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Exactitud</title>
          <p>85,46 %
84,51 %
85,46 %
96,05 %</p>
        </sec>
        <sec id="sec-3-2-3">
          <title>Tiempo (s)</title>
          <p>1,90
0,06
0,02
0,01</p>
          <p>De la Tabla 3 podemos deducir que el algoritmo
J48 conserva la mejor exactitud en la clasi cacion
(96,05 %), con un tiempo de 0,01 segundos y con un
indicador de kappa del 0,91, este modelo cuenta con una
buena clasi cacion para un contexto donde el tiempo
fuera signi cativo.</p>
          <p>Conclusiones y trabajos a futuro
Hemos encontrado que gran parte de los honeypots
hoy en d a presentan una de ciencia en la
documentacion y tambien en sus actualizaciones, por lo tanto,
se propone a trabajo a futuro realizar un estudio que
proponga la evaluacion de estas herramientas
aplicadas con la metodolog a utilizada en este art culo. Por
otra parte, concluimos que a traves de un honeypot
de baja interaccion y un conjunto de datos reciente, es
posible identi car una pagina web maliciosa con un
resultado de exactitud del algoritmo J48 del 98,76 % con
todas las caracter sticas y un 96,05 % para solo tres
variables, adicionalmente presentamos los resultados de
distintas combinaciones de caracter sticas debido a que
un ataque cibernetico puede tener muchas variables y
presentarse en distintos contextos.</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [Urcuqui16]
          <string-name>
            <given-names>Urcuqui</given-names>
            <surname>Lopez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. C.</given-names>
            ,
            <surname>Garc</surname>
          </string-name>
          a Pen~a,
          <string-name>
            <surname>M.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Osorio</given-names>
            <surname>Quintero</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. L.</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Navarro</given-names>
            <surname>Cadavid</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Antidefacement-State of art</article-title>
          .
          <source>Sistemas &amp; Telematica</source>
          ,
          <volume>14</volume>
          (
          <issue>39</issue>
          ):
          <fpage>9</fpage>
          -
          <lpage>27</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [Bartoli10]
          <string-name>
            <surname>Bartoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davanzo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Medvet</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <article-title>A framework for large-scale detection of web site defacements</article-title>
          .
          <source>ACM Transactions on Internet Technology (TOIT)</source>
          ,
          <volume>10</volume>
          (
          <issue>3</issue>
          ),
          <fpage>10</fpage>
          .
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [Roesch99]
          <string-name>
            <surname>Roesch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Snort: Lightweight Intrusion Detection for Networks</article-title>
          .
          <source>In LISA</source>
          , (Vol.
          <volume>99</volume>
          , No.
          <issue>1</issue>
          , pp.
          <fpage>229</fpage>
          -
          <lpage>238</lpage>
          ).
          <source>November</source>
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [Kim94]
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>G. H.</given-names>
          </string-name>
          , &amp; Spa ord,
          <string-name>
            <surname>E. H.</surname>
          </string-name>
          <article-title>The design and implementation of tripwire: A le system integrity checker</article-title>
          .
          <source>In Proceedings of the 2nd ACM Conference on Computer and Communications Security</source>
          , (pp.
          <fpage>18</fpage>
          -
          <lpage>29</lpage>
          ).
          <source>ACM. November</source>
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [Aman14]
          <string-name>
            <surname>Aman</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yamashita</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sasaki</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Kawahara</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Multistage Growth Model for Code Change Events in Open Source Software Development: An Example Using Development of Nagios</article-title>
          .
          <source>In Software Engineering and Advanced Applications (SEAA)</source>
          ,
          <year>2014</year>
          40th EUROMICRO Conference on (pp.
          <fpage>207</fpage>
          -
          <lpage>212</lpage>
          ). IEEE.
          <year>August 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [Mohaisen15]
          <string-name>
            <surname>Mohaisen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Towards automatic and lightweight detection and classi cation of malicious web contents</article-title>
          .
          <source>In Hot Topics in Web Systems and Technologies (HotWeb)</source>
          ,
          <source>Third IEEE Workshop on</source>
          (pp.
          <fpage>67</fpage>
          -
          <lpage>72</lpage>
          ). IEEE. November
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [Xu13]
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Ye</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <article-title>Crosslayer detection of malicious websites</article-title>
          .
          <source>In Proceedings of the third ACM conference on Data and application security and privacy</source>
          , (pp.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          141-
          <fpage>152</fpage>
          ). ACM.
          <year>February 2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [Atienza15]
          <string-name>
            <surname>Atienza</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herrero</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Corchado</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <article-title>Neural analysis of http tra c for web attack detection</article-title>
          . In International Joint Conference, (pp.
          <fpage>201</fpage>
          -
          <lpage>212</lpage>
          ). Springer, Cham.
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>